Procházet zdrojové kódy

Merge branch 'master' into cygx_14.1

bding před 1 týdnem
rodič
revize
d7c3c8d76b

+ 9 - 1
src/api/modules/rai/raiApi.js

@@ -1005,7 +1005,15 @@ const raiInterface = {
   getReportSelectionArticle: (params) => {
     return http.get("/cygx/reportSelection/getArticle", params);
   },
-
+  /**
+   *  获取综述报告
+   * @param {ThirdName} params
+   * @param {ChartPermissionId} params
+   * @returns
+   */
+  getReportSelectionThird_name: (params) => {
+    return http.post("/cygx/reportSelection/add/third_name", params);
+  },
   /**
    * 上
    * 周

+ 1 - 1
src/components/searchDistPicker.vue

@@ -106,7 +106,7 @@ export default {
                     }else{
                         this.city = {cityKey:'',cityName:this.cityInfo}
                     }
-                    if(this.city.cityKey){
+                    if(this.city.cityKey && this.showArea){
                         const areaResult = Object.entries(area_sorce[this.city.cityKey]).find(([key,val])=>val===this.areaInfo)||['',this.areaInfo]
                         this.area={areaKey:areaResult[0],areaName:areaResult[1]}
                     }else{

+ 10 - 0
src/views/business_trip_manage/businessApplication.vue

@@ -39,6 +39,11 @@
           {{ row.Transportation.indexOf('其他')!=-1?row.Transportation.substring(row.Transportation.indexOf('-')+1):row.Transportation }}
         </template>
       </el-table-column>
+      <el-table-column label="行程说明" show-overflow-tooltip prop="Itinerary" align="center">
+        <template slot-scope="{row}">
+          {{ row.Itinerary }}
+        </template>
+      </el-table-column>
       <el-table-column label="同行人" prop="PeerPeopleName" align="center" show-overflow-tooltip>
         <template slot-scope="{row}">
           {{ row.PeerPeopleName || '无' }}
@@ -262,4 +267,9 @@ import mPage from "@/components/mPage.vue";
       }
     }
   }
+</style>
+<style lang="scss">
+.el-tooltip__popper{ 
+  max-width:700px;
+} 
 </style>

+ 10 - 0
src/views/business_trip_manage/businessApproval.vue

@@ -36,6 +36,11 @@
           {{ row.Transportation.indexOf('其他')!=-1?row.Transportation.substring(row.Transportation.indexOf('-')+1):row.Transportation }}
         </template>
       </el-table-column>
+      <el-table-column label="行程说明" show-overflow-tooltip prop="Itinerary" align="center">
+        <template slot-scope="{row}">
+          {{ row.Itinerary }}
+        </template>
+      </el-table-column>
       <el-table-column label="同行人" prop="PeerPeopleName" align="center" show-overflow-tooltip>
         <template slot-scope="{row}">
           {{ row.PeerPeopleName || '无' }}
@@ -204,4 +209,9 @@ import mPage from "@/components/mPage.vue";
       }
     }
   }
+</style>
+<style lang="scss">
+.el-tooltip__popper{ 
+  max-width:700px;
+} 
 </style>

+ 24 - 2
src/views/business_trip_manage/businessCalendar.vue

@@ -108,14 +108,22 @@
           {{ detailItem.Province+' '+detailItem.City }}
         </div>        
         <div class="detail-item">
-          <div class="detail-item-label"> 出差事由:</div>
+          <div class="detail-item-label">出差事由:</div>
           {{ detailItem.Reason }}
         </div>
         <div class="detail-item">
           <div class="detail-item-label">交通工具:</div>
           {{ detailItem.Transportation && detailItem.Transportation.indexOf('其他')!=-1?
           detailItem.Transportation.substring(detailItem.Transportation.indexOf('-')+1):detailItem.Transportation }}
-        </div>        
+        </div>
+        <div class="detail-item">
+          <div class="detail-item-label">行程说明:</div>
+          <el-tooltip popper-class="item-top-intro" :disabled="detailItem.Itinerary&&detailItem.Itinerary.length<61" effect="dark" :content="detailItem.Itinerary" placement="top">
+            <div class="itinerary-text">
+              {{ detailItem.Itinerary }}
+            </div>
+          </el-tooltip>
+        </div>    
         <div class="detail-item" style="line-height: 20px;" v-show="detailItem.PeerPeopleName">
           <div class="detail-item-label">同行人:</div>
           {{ detailItem.PeerPeopleName }}
@@ -391,6 +399,15 @@ import bussinessTrip from '@/views/business_trip_manage/mixins/bussinessTrip'
         min-width: 80px;
         text-align: right;
       }
+      .itinerary-text{
+        width:100%;
+        overflow:hidden; 
+        text-overflow:ellipsis;
+        display:-webkit-box;
+        line-clamp: 5;
+        -webkit-box-orient:vertical;
+        -webkit-line-clamp:5;
+      }
     }
     .detail-date{
       margin-bottom: 14px;
@@ -400,3 +417,8 @@ import bussinessTrip from '@/views/business_trip_manage/mixins/bussinessTrip'
   }
 }
 </style>
+<style lang="scss">
+.item-top-intro{
+  max-width: 400px;
+}
+</style>

+ 15 - 2
src/views/business_trip_manage/components/tripApplicationDia.vue

@@ -47,6 +47,14 @@
           placeholder="请输入交通工具" v-if="dataForm.vehicle=='其他'"></el-input>
         </div>
       </el-form-item>
+      <el-form-item label="行程说明" prop="Itinerary">
+        <el-input
+          type="textarea"
+          :autosize="{ minRows: 2, maxRows: 4}"
+          placeholder="请输入行程说明"
+          v-model="dataForm.Itinerary">
+        </el-input>
+      </el-form-item>
       <el-form-item label="同行人" prop="companion" >
         <el-cascader :options="userList" v-model="companionSelectList" filterable 
         ref="companionCascader" @remove-tag="removeTag"
@@ -93,6 +101,7 @@ import searchDistPicker from '@/components/searchDistPicker.vue';
         if(value&&this.reapply.BusinessApplyId){
           this.dataForm={
             BusinessApplyId:this.reapply.BusinessApplyId,
+            Itinerary:this.reapply.Itinerary,
             arriveTime:this.reapply.ArriveDate,
             backTime:this.reapply.ReturnDate,
             province:this.reapply.Province,
@@ -125,10 +134,12 @@ import searchDistPicker from '@/components/searchDistPicker.vue';
           vehicle:'',
           companion:'',
           companionName:'',
-          otherVehicle:''
+          otherVehicle:'',
+          Itinerary:''
         },
         companionSelectList:[],
         rules:{
+          Itinerary:{required:true,message:"行程说明不能为空",trigger:'blur'},
           arriveTime:{required:true,message:"到达日期不能为空",trigger:'change'},
           backTime:{required:true,message:"返程日期不能为空",trigger:'change'},
           city:{required:true,message:"目的地不能为空",trigger:'change'},
@@ -212,7 +223,8 @@ import searchDistPicker from '@/components/searchDistPicker.vue';
           vehicle:'',
           companion:'',
           companionName:'',
-          otherVehicle:''
+          otherVehicle:'',
+          Itinerary:''
         }
         this.companionSelectList=[]
         this.$nextTick(()=>{
@@ -240,6 +252,7 @@ import searchDistPicker from '@/components/searchDistPicker.vue';
               Transportation:this.dataForm.vehicle=='其他'?`${this.dataForm.vehicle}-${this.dataForm.otherVehicle}`:this.dataForm.vehicle,
               PeerPeopleId:this.dataForm.companion,
               PeerPeopleName:this.dataForm.companionName,
+              Itinerary:this.dataForm.Itinerary
             }
             // console.log(params);
             if(this.dataForm.BusinessApplyId){

+ 19 - 0
src/views/business_trip_manage/components/tripApproveDia.vue

@@ -29,6 +29,13 @@
         approveItem.Transportation.substring(approveItem.Transportation.indexOf('-')+1):
         approveItem.Transportation }}
       </el-form-item>
+      <el-form-item label="行程说明">
+        <el-tooltip popper-class="item-top-intro" :disabled="approveItem.Itinerary&&approveItem.Itinerary.length<51" effect="dark" :content="approveItem.Itinerary" placement="top">
+          <div class="itinerary-text">
+            {{ approveItem.Itinerary }}
+          </div>
+        </el-tooltip>
+      </el-form-item>
       <el-form-item label="同行人" v-show="approveItem.PeerPeopleName">
         {{ approveItem.PeerPeopleName }}
       </el-form-item>
@@ -117,6 +124,15 @@ import {businessTripInterence} from "api/api.js"
 </script>
 
 <style lang="scss" scoped>
+.itinerary-text{
+  width: 100%;
+  overflow:hidden; 
+  text-overflow:ellipsis;
+  display:-webkit-box;
+  line-clamp: 3;
+  -webkit-box-orient:vertical;
+  -webkit-line-clamp:3;
+}
 .dialog-footer{
   text-align: center;
   padding:60px 40px 20px ;
@@ -125,4 +141,7 @@ import {businessTripInterence} from "api/api.js"
 
 <style lang="scss">
 @import "../style/trip-dialog.scss";
+.item-top-intro{
+  max-width: 400px !important;
+}
 </style>

+ 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})

+ 1 - 1
src/views/contract_manage/components/QyServiceTable.vue

@@ -404,7 +404,7 @@ export default {
         }
       }
       // 45万 70万 医药、消费、科技、智造的升级
-      if([5,6,23,24,25,26,12].includes(row.ServiceTemplateId)){
+      if([5,6,23,24,25,26,12,27].includes(row.ServiceTemplateId)){
         if(columnIndex==1){
           return [1,2]
         }else if(columnIndex==2){

+ 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 = {

+ 326 - 280
src/views/custom_manage/customList/components/raiPermissionbox.vue

@@ -1,59 +1,90 @@
 <template>
   <div class="rai-checkbox-content" id="rai-checkbox-content">
     <div class="rai-checkbox-bigS-box">
-      <el-checkbox v-model="itB.Checked" v-for="itB in data.ItemsBig" :key="itB.PermissionName"
-      @change="(e)=>bigServeCheck(e,itB,data)"
-      :indeterminate="itB.isIndeterminate && !itB.disabled" class="bigS-item" 
-      :disabled="itB.disabled || (formData.qyBigServeCheck!=getQyBigServeCheckNumber(itB.PermissionName) && formData.qyBigServeCheck!=0)"
-      >{{itB.PermissionName}}</el-checkbox>
+      <el-checkbox
+        v-model="itB.Checked"
+        v-for="itB in data.ItemsBig"
+        :key="itB.PermissionName"
+        @change="(e) => bigServeCheck(e, itB, data)"
+        :indeterminate="itB.isIndeterminate && !itB.disabled"
+        class="bigS-item"
+        :disabled="itB.disabled || (formData.qyBigServeCheck != getQyBigServeCheckNumber(itB.PermissionName) && formData.qyBigServeCheck != 0)"
+        >{{ itB.PermissionName }}</el-checkbox
+      >
     </div>
     <div class="rai-checkbox-box">
       <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'}">
+          <div
+            class="rai-checkbox-item"
+            v-for="it in data.Items"
+            :key="it.ChartPermissionId"
+            :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>
-              <el-checkbox-group v-model="data.CheckList" style="height: unset;" @change="handleQYChecked(it,data)" 
-              :disabled="it.disabled">
-                <div class="rai-checkbox-serve-box" >
-                  <el-checkbox :label="itChild.ChartPermissionId" v-for="itChild in it.Child" :key="itChild.ChartPermissionId"
-                  class="small-item" >{{ itChild.PermissionName }}</el-checkbox>
+              <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>
+              <el-checkbox-group v-model="data.CheckList" style="height: unset" @change="handleQYChecked(it, data)" :disabled="it.disabled">
+                <div class="rai-checkbox-serve-box">
+                  <el-checkbox :label="itChild.ChartPermissionId" v-for="itChild in it.Child" :key="itChild.ChartPermissionId" class="small-item">{{ itChild.PermissionName }}</el-checkbox>
                 </div>
               </el-checkbox-group>
             </template>
             <template v-else>
-              <el-checkbox-group v-model="data.CheckList" style="height: unset;margin-right: 8px;" @change="handleQYChecked(it,data)">
+              <el-checkbox-group v-model="data.CheckList" style="height: unset; margin-right: 8px" @change="handleQYChecked(it, data)">
                 <el-checkbox :label="it.ChartPermissionId" :disabled="it.disabled">{{ it.PermissionName }}</el-checkbox>
               </el-checkbox-group>
             </template>
           </div>
         </div>
-        <el-checkbox-group v-model="data.CheckList" style="height: unset;">
-          <div class="rai-checkbox-upS-box" >
-            <el-checkbox :label="itU.ChartPermissionId" v-for="itU in data.ItemsUp" :key="itU.ChartPermissionId"
-            class="rai-checkbox-item upS-item" :disabled="itU.disabled" 
-            @change="(e) => handleUpdateChecked(e,itU.PermissionName,data)">{{ itU.PermissionName }}</el-checkbox>
+        <el-checkbox-group v-model="data.CheckList" style="height: unset">
+          <div class="rai-checkbox-upS-box">
+            <el-checkbox
+              :label="itU.ChartPermissionId"
+              v-for="itU in data.ItemsUp"
+              :key="itU.ChartPermissionId"
+              class="rai-checkbox-item upS-item"
+              :disabled="itU.disabled"
+              @change="(e) => handleUpdateChecked(e, itU.PermissionName, data)"
+              >{{ itU.PermissionName }}</el-checkbox
+            >
           </div>
         </el-checkbox-group>
       </div>
       <div class="rai-checkbox-private-container">
-        <el-checkbox-group v-model="data.CheckList" style="height: unset;">
-          <div class="rai-checkbox-upS-box" >
-            <el-checkbox :label="itP.ChartPermissionId" v-for="(itP,inP) in data.ItemsPrivate" 
-            :key="itP.ChartPermissionId" :disabled="itP.disabled" :style="{'height':hasNoChild?'48px':'95px','width':itP.ChartPermissionId == 52 && data.CheckList.includes(52)? '220px' : itP.PermissionName.includes('研选')?'130px':'84px'}"
-            class="rai-checkbox-item upS-item" @change="e => handlePrivateChecked(e,itP,data)">
-            {{ itP.PermissionName }}
-            <p v-if="itP.ChartPermissionId == 31" class="checkbox-text">(30000元/年)</p>
-            <p v-if="itP.ChartPermissionId == 52" class="checkbox-text">(点/2000元)</p>
-            <input @click.stop @input="validateInteger" placeholder="请输入点数" style="margin-left:10px" v-if="itP.ChartPermissionId == 52 && data.CheckList.includes(52)" v-model="minus_sign_val" />
+        <el-checkbox-group v-model="data.CheckList" style="height: unset">
+          <div class="rai-checkbox-upS-box">
+            <el-checkbox
+              :label="itP.ChartPermissionId"
+              v-for="(itP, inP) in data.ItemsPrivate"
+              :key="itP.ChartPermissionId"
+              :disabled="itP.disabled"
+              :style="{ height: hasNoChild ? '48px' : '95px', width: itP.ChartPermissionId == 52 && data.CheckList.includes(52) ? '220px' : itP.PermissionName.includes('研选') ? '130px' : '84px' }"
+              class="rai-checkbox-item upS-item"
+              @change="(e) => handlePrivateChecked(e, itP, data)"
+            >
+              {{ itP.PermissionName }}
+              <p v-if="itP.ChartPermissionId == 31" class="checkbox-text">(30000元/年)</p>
+              <p v-if="itP.ChartPermissionId == 52" class="checkbox-text">(点/2000元)</p>
+              <input
+                @click.stop
+                @input="validateInteger"
+                placeholder="请输入点数"
+                style="margin-left: 10px"
+                v-if="itP.ChartPermissionId == 52 && data.CheckList.includes(52)"
+                v-model="minus_sign_val"
+              />
             </el-checkbox>
           </div>
         </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>
+        <div class="rai-checkbox-notice-box" v-if="data.ItemsUp.length > 0">
+          <span class="rai-checkbox-notice" v-if="formData.qyBigServeCheck"> 同时包含{{ formData.qyBigServeCheck == 2 ? "12" : "16" }}次专项调研</span>
           <p class="rai-checkbox-notice" v-if="equityGroupDisabled(data.CheckList)">同时包含升级行业各5次专项调研</p>
         </div>
       </div>
@@ -62,268 +93,283 @@
 </template>
 
 <script>
-  export default {
-    name:'raiPermissionbox',
-    data() {
-      return {
-        minus_sign_val:''
+export default {
+  name: "raiPermissionbox",
+  data() {
+    return {
+      minus_sign_val: "",
+    };
+  },
+  props: {
+    data: {
+      required: true,
+      type: Object,
+    },
+    formData: {
+      //formData.qyBigServeCheck  0-无 1- 70万 2- 45万
+      required: true,
+      type: Object,
+    },
+    hasNoChild: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  created() {
+    // 回显
+    if (this.data.CheckList && this.data.CheckList.length > 0) {
+      this.data.Items.map((item) => {
+        if (item.Child) {
+          item.Child.map((t) => {
+            this.handleQYChecked(item, this.data);
+          });
+        } else {
+          this.handleQYChecked(item, this.data);
+        }
+      });
+      this.data.ItemsPrivate.map((itP) => {
+        let flag = this.data.CheckList.includes(itP.ChartPermissionId);
+        this.handlePrivateChecked(flag, itP, this.data);
+      });
+      this.data.ItemsUp.map((itU) => {
+        let flag = this.data.CheckList.includes(itU.ChartPermissionId);
+        this.handleUpdateChecked(flag, itU.PermissionName, this.data);
+      });
+    }
+  },
+  methods: {
+    // 套餐选中逻辑修复
+    bigServeCheck(value, itB, item) {
+      this.formData.qyBigServeCheck = value ? this.getQyBigServeCheckNumber(itB.PermissionName) : 0;
+
+      // 更新 `indeterminate` 状态
+      item.ItemsBig.forEach((itB) => (itB.isIndeterminate = false));
+
+      const bigServeItems = this.hasNoChild
+        ? [22, 21, 20, 19, 23, 30]
+        : 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];
+
+      if (value) {
+        item.CheckList = [...new Set([...item.CheckList, ...bigServeItems])];
+      } else {
+        item.CheckList = item.CheckList.filter((t) => !bigServeItems.includes(t));
+      }
+
+      if (!this.hasNoChild) {
+        // 更新子级状态
+        item.Items.forEach((ele) => {
+          if (ele.Child) {
+            ele.Checked = value;
+            this.handleItemCheck(ele, item);
+          }
+        });
+      }
+    },
+    // 医药、消费、科技、智造(有主客观)选中
+    // 父子选中逻辑修复
+    handleItemCheck(it, item) {
+      const childIds = it.Child.map((t) => t.ChartPermissionId);
+
+      if (it.Checked) {
+        item.CheckList = [...new Set([...item.CheckList, ...childIds])];
+      } else {
+        item.CheckList = item.CheckList.filter((t) => !childIds.includes(t));
       }
+
+      this.updateParentStatus(it, item);
     },
-    props:{
-      data:{
-        required:true,
-        type:Object
-      },
-      formData:{ //formData.qyBigServeCheck  0-无 1- 70万 2- 45万
-        required:true,
-        type:Object
-      },
-      hasNoChild:{
-        type:Boolean,
-        default:false
+    // 更新父级状态
+    updateParentStatus(it, item) {
+      let count = 0;
+
+      if (it.Child) {
+        it.Child.forEach((child) => {
+          if (item.CheckList.includes(child.ChartPermissionId)) count++;
+        });
+        it.Checked = count === it.Child.length;
+        it.isIndeterminate = count > 0 && count < it.Child.length;
+      }
+
+      // 更新禁用状态
+      const relatedItem = item.ItemsUp.find((up) => up.PermissionName.includes(it.PermissionName));
+      if (relatedItem) {
+        relatedItem.disabled = count !== 0;
       }
     },
-    created(){
-      // 回显
-      if(this.data.CheckList && this.data.CheckList.length>0){
-        this.data.Items.map(item =>{
-          if(item.Child){
-            item.Child.map(t =>{
-              this.handleQYChecked(item,this.data)
-            })
-          }else{
-            this.handleQYChecked(item,this.data)
-          }
-        })
-        this.data.ItemsPrivate.map(itP =>{
-          let flag = this.data.CheckList.includes(itP.ChartPermissionId)
-          this.handlePrivateChecked(flag,itP,this.data)
-        })
-        this.data.ItemsUp.map(itU =>{
-          let flag = this.data.CheckList.includes(itU.ChartPermissionId)
-          this.handleUpdateChecked(flag,itU.PermissionName,this.data)
-        })
+    handleQYChecked(it, item) {
+      // console.log(it,item);
+      let count = 0;
+      if (it.Child) {
+        // 有主客观
+        it.Child.map((t) => {
+          if (item.CheckList.includes(t.ChartPermissionId)) count++;
+        });
+        it.Checked = count == 2;
+        it.isIndeterminate = count == 1;
+      }
+      if (this.hasNoChild) {
+        if (item.CheckList.includes(it.ChartPermissionId)) count++;
       }
+      // 设置升级套餐的禁用
+      let changeItem = item.ItemsUp.find((itUp) => itUp.PermissionName.includes(it.PermissionName));
+      if (changeItem) changeItem.disabled = count != 0;
+      // 设置大套餐的状态
+      let bigServeCheckNum;
+      if (this.formData.qyBigServeCheck) {
+        //qyBigServeCheck有值就作用在对应的大套餐
+        bigServeCheckNum = this.formData.qyBigServeCheck == 1 ? 1 : 0;
+      } else {
+        // 默认作用在45万上 原本有状态的话,就作用在有状态的大套餐
+        bigServeCheckNum = item.ItemsBig[1].isIndeterminate || item.ItemsBig[1].Checked ? 1 : 0;
+      }
+      // 正式服 各行业的客观的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);
+      } else {
+        item.ItemsBig[bigServeCheckNum].Checked = false;
+        this.formData.qyBigServeCheck = 0;
+      }
+      item.ItemsBig[bigServeCheckNum].isIndeterminate = bigServeItems.some((t) => item.CheckList.includes(t)) && !item.ItemsBig[bigServeCheckNum].Checked;
     },
-    methods:{
-      // 套餐选中
-      bigServeCheck(value,itB,item){
-        // console.log(value,item);
-        this.formData.qyBigServeCheck = value?this.getQyBigServeCheckNumber(itB.PermissionName):0
-        item.ItemsBig.map(itB => itB.isIndeterminate=false)
-        if(value){
-          // 策略
-          item.CheckList= [...new Set([...item.CheckList,23,30])]
-        }else{
-          item.CheckList = item.CheckList.filter(t => ![23,30].includes(t))
+    handleUpdateChecked(value, name, item) {
+      let isDisabled = item.ItemsUp.some((itU) => item.CheckList.includes(itU.ChartPermissionId));
+      // 设置大套餐禁用
+      item.ItemsBig.map((itb) => (itb.disabled = isDisabled));
+      // 设置基础套餐禁用
+      item.Items.find((its) => name.includes(its.PermissionName)).disabled = value;
+    },
+    handlePrivateChecked(value, itP, item) {
+      if (![20032, 20031, 31].includes(itP.ChartPermissionId)) return;
+      // 买方严选的互斥
+      item.ItemsPrivate.forEach((itPri) => {
+        if ([20032, 20031, 31].includes(itPri.ChartPermissionId) && itP.ChartPermissionId != itPri.ChartPermissionId && value) {
+          itPri.disabled = true;
+        } else {
+          itPri.disabled = false;
         }
-        if(this.hasNoChild){
-          // 没有主客观
-          if(value){
-            item.CheckList= [...new Set([...item.CheckList,22, 21, 20, 19])]
-          }else{
-            item.CheckList = item.CheckList.filter(t => ![22, 21, 20, 19].includes(t))
+      });
+    },
+    equityGroupDisabled(item) {
+      return item.some((key) => key > 100000);
+    },
+    getQyBigServeCheckNumber(permissionName) {
+      return permissionName.includes("70") ? 1 : 2;
+    },
+    // 数字输入校验
+    validateInteger() {
+      this.minus_sign_val = this.minus_sign_val.replace(/[^0-9]/g, "");
+      if (this.minus_sign_val !== "") {
+        this.minus_sign_val = parseInt(this.minus_sign_val, 10);
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.rai-checkbox-content {
+  // width: 100%;
+  // height: 160px;
+  padding: 20px 0 20px 20px;
+  border: 1px dashed #aab4cc;
+  // display: flex;
+  .rai-checkbox-bigS-box {
+    display: flex;
+    .bigS-item {
+      display: inline-flex;
+      align-items: center;
+      padding: 4px 8px;
+      height: 22px;
+      margin: 0 20px 20px 0;
+    }
+  }
+  .rai-checkbox-box {
+    display: flex;
+    // flex-wrap: wrap;
+    .rai-checkbox-main-container {
+      .rai-checkbox-main-row {
+        display: flex;
+        .small-item {
+          display: inline-flex;
+          align-items: center;
+          border: solid 1px #dcdfe6;
+          padding: 4px 12px;
+          height: 48px;
+          width: 84px;
+          margin-right: -1px;
+          margin-bottom: -1px;
+          &:first-child {
+            margin-top: -1px;
           }
-          // 设置升级禁用状态
-          item.ItemsUp.map(u =>{
-            u.disabled=value
-          })
-        }else{
-          item.Items.map(ele =>{
-            if(ele.Child){
-              ele.Checked=value
-              this.handleItemCheck(ele,item)
-            }
-          })
-        }
-      },
-      // 医药、消费、科技、智造(有主客观)选中
-      handleItemCheck(it,item){
-        // console.log(it,item);
-        it.isIndeterminate=false
-        let childIds=it.Child.map(t => t.ChartPermissionId)
-        if(it.Checked){
-          item.CheckList= [...new Set([...item.CheckList,...childIds])]
-        }else{
-          item.CheckList = item.CheckList.filter(t => !childIds.includes(t))
-        }
-        this.handleQYChecked(it,item)
-      },
-      handleQYChecked(it,item){
-        // console.log(it,item);
-        let count=0
-        if(it.Child){
-          // 有主客观
-          it.Child.map(t => {
-            if(item.CheckList.includes(t.ChartPermissionId)) count++
-          })
-          it.Checked=count==2
-          it.isIndeterminate=count==1
         }
-        if(this.hasNoChild){
-          if(item.CheckList.includes(it.ChartPermissionId)) count++
-        }
-        // 设置升级套餐的禁用
-        let changeItem=item.ItemsUp.find(itUp => itUp.PermissionName.includes(it.PermissionName))
-        if(changeItem) changeItem.disabled=count!=0
-        // 设置大套餐的状态
-        let bigServeCheckNum
-        if(this.formData.qyBigServeCheck){
-          //qyBigServeCheck有值就作用在对应的大套餐
-          bigServeCheckNum=this.formData.qyBigServeCheck==1?1:0
-        }else{
-          // 默认作用在45万上 原本有状态的话,就作用在有状态的大套餐
-          bigServeCheckNum= item.ItemsBig[1].isIndeterminate || item.ItemsBig[1].Checked?1:0
+      }
+    }
+    .rai-checkbox-private-container {
+      .rai-checkbox-notice-box {
+        display: flex;
+        align-items: center;
+        border: solid 1px #dcdfe6;
+        border-left: none;
+        height: 48px;
+        margin-right: -1px;
+        margin-left: -276px;
+        padding-left: 200px;
+        .rai-checkbox-notice {
+          color: #f00;
         }
-        // 正式服 各行业的客观的chartPermissionId和测试服的不一样
-        let allChartPermissionIds=process.env.NODE_ENV === 'production'?[22,39,21,38,20,37,19,36,23,30]:[22,37,21,36,20,35,19,34,23,30]
-        
-        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)
-        }else{
-          item.ItemsBig[bigServeCheckNum].Checked=false
-          this.formData.qyBigServeCheck=0
+      }
+    }
+    .rai-checkbox-upS-box {
+      display: flex;
+      .upS-item {
+        position: relative;
+        justify-content: flex-start;
+        .checkbox-text {
+          position: absolute;
+          font-size: 12px;
+          color: #999;
+          bottom: 15px;
+          left: 20px;
         }
-        item.ItemsBig[bigServeCheckNum].isIndeterminate=
-        bigServeItems.some(t =>item.CheckList.includes(t)) && (!item.ItemsBig[bigServeCheckNum].Checked)
-      },
-      handleUpdateChecked(value,name,item){
-        let isDisabled = item.ItemsUp.some(itU => item.CheckList.includes(itU.ChartPermissionId))
-        // 设置大套餐禁用
-        item.ItemsBig.map(itb => itb.disabled=isDisabled)
-        // 设置基础套餐禁用
-        item.Items.find(its => name.includes(its.PermissionName)).disabled=value
-      },
-      handlePrivateChecked(value,itP,item){
-        if(![20032,20031,31].includes(itP.ChartPermissionId)) return 
-        // 买方严选的互斥
-        item.ItemsPrivate.forEach(itPri => {
-         if([20032,20031,31].includes(itPri.ChartPermissionId)&&itP.ChartPermissionId!=itPri.ChartPermissionId && value){
-             itPri.disabled =true
-          }else {
-             itPri.disabled =false
-          }
-        })
-      },
-      equityGroupDisabled(item){
-        return item.some(key=> key>100000);
-      },
-      getQyBigServeCheckNumber(permissionName){
-        return permissionName.includes('70')?1:2
-      },
-      // 只允许输入数字和删除键
-      validateInteger() {
-        this.minus_sign_val = this.minus_sign_val.replace(/[^0-9]/g, '');
-
-        // 如果输入不为空,则转换为整数
-        if (this.minus_sign_val !== '') {
-          this.minus_sign_val = parseInt(this.minus_sign_val, 10);
+        input {
+          width: 90px;
+          height: 30px;
+          border-radius: 4px;
+          padding-left: 10px;
+          border: 1px solid #dcdfe6;
         }
       }
     }
+    .rai-checkbox-item {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      border: solid 1px #dcdfe6;
+      margin-bottom: -1px;
+      margin-right: -1px;
+      padding-left: 12px;
+      min-height: 48px;
+      width: 168px;
+      .rai-checkbox-serve-box {
+        display: flex;
+        flex-direction: column;
+        align-items: flex-start;
+        height: unset;
+      }
+    }
   }
-</script>
-
-<style lang="scss" scoped>
-	.rai-checkbox-content {
-		// width: 100%;
-		// height: 160px;
-		padding: 20px 0 20px 20px;
-		border:1px dashed #aab4cc;
-		// display: flex;
-		.rai-checkbox-bigS-box{
-			display: flex;
-			.bigS-item{
-				display: inline-flex;
-				align-items: center;
-				padding: 4px 8px;
-				height: 22px;
-				margin:0 20px 20px 0;
-			}
-		}
-		.rai-checkbox-box{
-			display: flex;
-			// flex-wrap: wrap;
-			.rai-checkbox-main-container{
-				.rai-checkbox-main-row{
-					display: flex;
-					.small-item{
-						display: inline-flex;
-						align-items: center;
-						border: solid 1px #DCDFE6;
-						padding: 4px 12px;
-						height: 48px;
-						width: 84px;
-						margin-right: -1px;
-						margin-bottom:-1px;
-						&:first-child{
-							margin-top:-1px;
-						}
-					}
-				}
-			}
-			.rai-checkbox-private-container{
-				.rai-checkbox-notice-box{
-					display: flex;
-					align-items: center;
-					border: solid 1px #DCDFE6;
-          border-left: none;
-					height: 48px;
-					margin-right: -1px;
-					margin-left: -192px;
-					padding-left: 200px;
-					.rai-checkbox-notice {
-						color: #f00;
-					}
-				}
-			}
-			.rai-checkbox-upS-box{
-				display: flex;
-				.upS-item{
-          position: relative;
-					justify-content: flex-start;
-          .checkbox-text {
-            position: absolute;
-            font-size: 12px;
-            color: #999;
-            bottom: 15px;
-            left: 20px;
-          }
-          input {
-            width: 90px;
-            height: 30px;
-            border-radius: 4px;
-            padding-left: 10px;
-            border: 1px solid #dcdfe6;
-          }
-				}
-			}
-			.rai-checkbox-item{
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				border: solid 1px #DCDFE6;
-				margin-bottom:-1px;
-				margin-right: -1px;
-				padding-left: 12px;
-				min-height: 48px;
-				width: 168px;
-				.rai-checkbox-serve-box{
-					display: flex;
-					flex-direction: column;
-					align-items: flex-start;
-					height: unset;
-				}
-			}
-		}
-	}
+}
 </style>
 <style lang="scss">
-	#rai-checkbox-content{
-		.el-checkbox{
-			color: #333333;
-		}
-	}
-</style>
+#rai-checkbox-content {
+  .el-checkbox {
+    color: #333333;
+  }
+}
+</style>

+ 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 = {

+ 41 - 35
src/views/rai_manage/components/addChoiceness.vue

@@ -323,7 +323,7 @@ export default {
     editText(item, index) {
       this.dialogText = "编辑";
       this.chartPermissionId = item.ChartPermissionId;
-      this.stateValue = item.IndustrialSubjectName;
+      this.stateValue = item.IndustrialSubjectName || item.ShowName;
       this.addDialogVisible = true;
       this.editNum = index;
     },
@@ -370,34 +370,37 @@ export default {
     async confirmPerson() {
       if (this.stateValue) {
         const arr = this.subjectList.find((item) => item.ShowName === this.stateValue);
-        if (!arr) {
-          this.$message.error("输入正确的标的");
-          return;
-        }
         let overviewList = {};
-        const res = await raiInterface.getReportSelectionArticle({
-          IndustrialSubjectId: arr.IndustrialSubjectId,
-        });
+        const res = !arr
+          ? await raiInterface.getReportSelectionThird_name({
+              ThirdName: this.stateValue,
+              ChartPermissionId: this.chartPermissionId,
+            })
+          : await raiInterface.getReportSelectionArticle({
+              IndustrialSubjectId: arr.IndustrialSubjectId,
+            });
         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.ShowName);
+                var isNext = item.List.some((item) => item.ShowName == (arr ? arr.ShowName : res.Data.ThirdName));
               }
               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,
+                IndustrialManagementId: arr ? arr.IndustrialManagementId + "" : "",
+                IndustrialManagementName: arr ? arr.IndustryName : "",
+                IndustrialSubjectId: arr ? arr.IndustrialSubjectId + "" : "",
+                IndustrialSubjectName: arr ? arr.SubjectName : "",
+                ShowName: arr ? arr.ShowName || arr.IndustryName : res.Data.ThirdName,
+                ThirdId: res.Data.ThirdId || "",
+                ThirdName: res.Data.ThirdName || "",
                 CompanyLabel: [{ name: "", value: item.List.length + 1 }],
-                OverviewArticleId: overviewList && overviewList.ArticleId,
-                OverviewArticleTitle: overviewList && overviewList.Title,
-                IsShowOverviewArticle: overviewList && overviewList.IsShowOverviewArticle,
+                OverviewArticleId: overviewList.ArticleId || 0,
+                OverviewArticleTitle: overviewList.Title || "",
+                IsShowOverviewArticle: overviewList.IsShowOverviewArticle || 0,
               });
             }
           });
@@ -409,39 +412,42 @@ export default {
     async editconfirmPerson() {
       if (this.stateValue) {
         const arr = this.subjectList.find((item) => item.ShowName === this.stateValue);
-        if (!arr) {
-          this.$message.error("输入正确的标的");
-          return;
-        }
         let overviewList = {};
-        const res = await raiInterface.getReportSelectionArticle({
-          IndustrialSubjectId: arr.IndustrialSubjectId,
-        });
+        const res = !arr
+          ? await raiInterface.getReportSelectionThird_name({
+              ThirdName: this.stateValue,
+              ChartPermissionId: this.chartPermissionId,
+            })
+          : await raiInterface.getReportSelectionArticle({
+              IndustrialSubjectId: arr.IndustrialSubjectId,
+            });
         if (res.Ret === 200) {
           overviewList = res.Data;
           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);
+                var isNext = item.List.some((item) => item.ShowName == (arr ? arr.ShowName : res.Data.ThirdName));
               }
               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,
+                IndustrialManagementId: arr ? arr.IndustrialManagementId + "" : "",
+                IndustrialManagementName: arr ? arr.IndustryName : "",
+                IndustrialSubjectId: arr ? arr.IndustrialSubjectId + "" : "",
+                IndustrialSubjectName: arr ? arr.SubjectName : "",
+                ShowName: arr ? arr.ShowName || arr.IndustryName : res.Data.ThirdName,
+                ThirdId: res.Data.ThirdId || "",
+                ThirdName: res.Data.ThirdName || "",
                 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,
+                OverviewArticleId: overviewList.ArticleId || 0,
+                OverviewArticleTitle: overviewList.Title || "",
+                IsShowOverviewArticle: overviewList.IsShowOverviewArticle || 0,
               };
               item.List.splice(this.editNum, 1, obj);
-              this.industrialSubjectName = arr.IndustryName || "";
+              this.industrialSubjectName = arr ? arr.IndustryName : res.Data.ThirdName || "";
             }
           });
         }
@@ -491,7 +497,7 @@ export default {
               sessionStorage.removeItem("addChoicenessQY");
               this.$message.success("操作成功!");
               this.init();
-              this.$router.back();
+              type != "保存" && this.$router.back();
             }
           }
         }

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

@@ -27,7 +27,7 @@
         <div class="industry-li" v-for="(item, index) in dataListSubject" :key="index">
           <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">
+            <div class="subject-item" v-for="key in item.ListSubject" :key="key.IndustrialSubjectId">
               <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>
@@ -42,15 +42,15 @@
             {{ item.ChartPermissionText }}
           </div>
           <div class="report-content-report" v-for="it in item.contetList" :key="it.IndustrialSubjectId">
-            <div class="content-report-title">
-              {{ it.IndustrialSubjectName }}
+            <div class="content-report-title" :id="`miao${it.IndustrialSubjectId}${it.SubjectName}`">
+              {{ it.IndustrialSubjectName || it.ThirdName || it.ShowName }}
             </div>
             <div v-html="it.Body" class="content-report-body"></div>
             <div class="content-report-detail" v-if="it.OverviewArticleId > 0">
               公司综述报告请
               <span @click="goArticle(it.OverviewArticleId)"> 点击查看 </span>
             </div>
-            <div class="company-label" :id="`miao${it.IndustrialSubjectId}${it.SubjectName}`">
+            <div class="company-label">
               <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>

+ 21 - 2
src/views/seal_manage/approvalList.vue

@@ -136,7 +136,20 @@
             <table class="table-wrap" >
               <tbody>
                 <tr>
-                  <td class="table-item width-50">所属公司:{{detail.SealDetail.AffiliatedCompany}}</td>
+                  <td class="table-item width-50">
+                    <p v-if="detail.OpButton.CheckEdit">
+                      <span>所属公司:</span>
+                      <el-select v-model="approvalEditData.AffiliatedCompany" placeholder="请选择">
+                        <el-option
+                          v-for="item in belongCompanyOption"
+                          :key="item"
+                          :label="item"
+                          :value="item">
+                        </el-option>
+                      </el-select>
+                    </p>
+                    <p v-else>所属公司:{{detail.SealDetail.AffiliatedCompany}}</p>
+                  </td>
                   <td class="table-item width-50">
                     <p v-if="detail.OpButton.CheckEdit">
                       <span>用印用途:</span>
@@ -312,6 +325,7 @@ export default {
         this.optList=[]
         this.stepArr=[]
         this.approvalEditData={
+          AffiliatedCompany:'',//所属公司
           Use:'',//用印用途
           Type:'',//加盖印章 类型
           FileNum:'',//文件份数
@@ -381,6 +395,7 @@ export default {
       optList:[],
       stepArr:[],//审批流程数据
       approvalEditData:{
+        AffiliatedCompany:'',//所属公司
         Use:'',//用印用途
         Type:'',//加盖印章 类型
         FileNum:'',//文件份数
@@ -483,8 +498,10 @@ export default {
       this.getSealOprationList(e.SealId)
       const res=await sealInterence.getSealDetail({SealId:e.SealId})
       if(res.Ret==200){
+        console.log(res.Data)
         this.showDetail=true
         this.detail=res.Data
+        this.approvalEditData.AffiliatedCompany=res.Data.SealDetail.AffiliatedCompany
         this.approvalEditData.Use=res.Data.SealDetail.Use
         this.approvalEditData.Type=res.Data.SealDetail.SealType.split(',')
         this.approvalEditData.FileNum=res.Data.SealDetail.FileNum
@@ -629,7 +646,8 @@ export default {
             const flag2=Number(this.approvalEditData.FileNum)===Number(this.detail.SealDetail.FileNum)
             const flag3=this.approvalEditData.Type.join(',')===this.detail.SealDetail.SealType
             const flag4=this.approvalEditData.Remark===this.detail.SealDetail.Remark
-            if(flag1&&flag2&&flag3&&flag4){
+            const flag5=this.approvalEditData.AffiliatedCompany===this.detail.SealDetail.AffiliatedCompany
+            if(flag1&&flag2&&flag3&&flag4&&flag5){
               this.handleApprovalPass()
             }else{
               this.handleApprovePassModify()
@@ -673,6 +691,7 @@ export default {
         Remark:this.approvalEditData.Remark,
         SealType:this.approvalEditData.Type.join(','),
         Use:this.approvalEditData.Use,
+        AffiliatedCompany:this.approvalEditData.AffiliatedCompany,
       })
       if(res.Ret==200){
         this.$message.success('审批成功')

+ 3 - 0
src/views/seal_manage/updateSeal.vue

@@ -268,6 +268,9 @@ export default {
       const res = await sealInterence.getBelongCompany()
       if(res.Ret !==200 ) return
       this.belongCompanyOption = res.Data || []
+      if (!this.sealId) {
+        this.sealForm.AffiliatedCompany=this.belongCompanyOption.length?this.belongCompanyOption[0]:''
+      }
     },
 
     // 获取用印详情