|  |  | 
 |  |  |     > | 
 |  |  |       <template slot="title"> | 
 |  |  |         <div class="header"> | 
 |  |  |           <span class="header-label">服务单编号</span> | 
 |  |  |           <span class="header-title">{{ detailConfig.infomation.number }}</span> | 
 |  |  |           <span class="header-label">客户服务单</span> | 
 |  |  |           <span class="header-title">{{ detailConfig.infomation.serviceNumber }}</span> | 
 |  |  |         </div> | 
 |  |  |       </template> | 
 |  |  |       <div class="content"> | 
 |  |  |         <div class="tab-view"> | 
 |  |  |           <el-tabs v-model="activeName" @tab-click="tabsClick"> | 
 |  |  |             <el-tab-pane label="详情" name="first"></el-tab-pane> | 
 |  |  |             <el-tab-pane label="附件管理" name="annex"></el-tab-pane> | 
 |  |  |             <!-- <el-tab-pane label="附件管理" name="annex"></el-tab-pane> --> | 
 |  |  |             <el-tab-pane label="服务回访单" name="followup"> | 
 |  |  |               <!-- <template slot="label"> | 
 |  |  |                 <div>跟进记录<el-badge type="primary" :value="2"> </el-badge></div> | 
 |  |  | 
 |  |  |                 <li v-for="(item, i) in basicInfoList" :key="i"> | 
 |  |  |                   <div class="left"> | 
 |  |  |                     <div class="content-title">{{ item.leftStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                   <div class="right"> | 
 |  |  |                     <div class="content-title">{{ item.rightStr }}</div> | 
 |  |  |                     <div class="content-data">{{ item.rightValue }}</div> | 
 |  |  |                   <div v-if="item.rightStr" class="right"> | 
 |  |  |                     <div class="content-title">{{ item.rightStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                 </li> | 
 |  |  |               </ul> | 
 |  |  | 
 |  |  |                 <li v-for="(item, i) in dynamicInfoList" :key="i"> | 
 |  |  |                   <div class="left"> | 
 |  |  |                     <div class="content-title">{{ item.leftStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                   <div class="right"> | 
 |  |  |                     <div class="content-title">{{ item.rightStr }}</div> | 
 |  |  |                     <div class="content-data">{{ item.rightValue }}</div> | 
 |  |  |                   <div v-if="item.rightStr" class="right"> | 
 |  |  |                     <div class="content-title">{{ item.rightStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                 </li> | 
 |  |  |               </ul> | 
 |  |  | 
 |  |  |                 <li v-for="(item, i) in timeAmountList" :key="i"> | 
 |  |  |                   <div class="left"> | 
 |  |  |                     <div class="content-title">{{ item.leftStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                   <div class="right"> | 
 |  |  |                     <div class="content-title">{{ item.rightStr }}</div> | 
 |  |  |                     <div class="content-data">{{ item.rightValue }}</div> | 
 |  |  |                   <div v-if="item.rightStr" class="right"> | 
 |  |  |                     <div class="content-title">{{ item.rightStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                 </li> | 
 |  |  |               </ul> | 
 |  |  | 
 |  |  |                 <li v-for="(item, i) in issueList" :key="i"> | 
 |  |  |                   <div class="all"> | 
 |  |  |                     <div class="content-title">{{ item.leftStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                 </li> | 
 |  |  |               </ul> | 
 |  |  | 
 |  |  |                 <li v-for="(item, i) in solutionList" :key="i"> | 
 |  |  |                   <div class="all"> | 
 |  |  |                     <div class="content-title">{{ item.leftStr + ":" }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue }}</div> | 
 |  |  |                     <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> | 
 |  |  |                   </div> | 
 |  |  |                 </li> | 
 |  |  |               </ul> | 
 |  |  | 
 |  |  |             </div> | 
 |  |  |           </div> | 
 |  |  |           <!-- 附件信息 --> | 
 |  |  |           <div class="basic-info"> | 
 |  |  |           <!-- <div class="basic-info"> | 
 |  |  |             <div class="basic-info-label" @click="expandClick('annex')"> | 
 |  |  |               <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> | 
 |  |  |               <i v-else class="el-icon-arrow-up"></i> | 
 |  |  | 
 |  |  |                 </li> | 
 |  |  |               </ul> | 
 |  |  |             </div> | 
 |  |  |           </div> | 
 |  |  |           </div> --> | 
 |  |  |           <!-- 签字确认 --> | 
 |  |  |           <div class="basic-info"> | 
 |  |  |             <div class="basic-info-label" @click="expandClick('signConfim')"> | 
 |  |  | 
 |  |  |           <!-- <Contacts :isDetail="true" /> --> | 
 |  |  |         </div> | 
 |  |  |         <div v-if="activeName === 'followup'" class="second"> | 
 |  |  |           <ServiceFollowup :isDetail="true" /> | 
 |  |  |           <ServiceFollowup :isDetail="true" :add-config="addConfig" /> | 
 |  |  |         </div> | 
 |  |  |       </div> | 
 |  |  |     </el-drawer> | 
 |  |  | 
 |  |  |       isServiceContractExpand: true, // 服务合同信息 | 
 |  |  |       serviceContractList: [], | 
 |  |  |       isHistoryExpand: true, // 客户服务单历史记录 | 
 |  |  |       historyList: [] | 
 |  |  |       historyList: [], | 
 |  |  |       addConfig: {} | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   created() { | 
 |  |  |     this.setData() | 
 |  |  |     this.setTable() | 
 |  |  |     console.log(this.detailConfig.infomation.contact_name) | 
 |  |  |     this.addConfig = { | 
 |  |  |       keyword: this.detailConfig.infomation.serviceNumber, | 
 |  |  |       keywordType: "客户服务单", | 
 |  |  |       client_name: this.detailConfig.infomation.client_name, | 
 |  |  |       clientId: this.detailConfig.infomation.clientId, | 
 |  |  |       contactId: this.detailConfig.infomation.contactId, | 
 |  |  |       contact_name: this.detailConfig.infomation.contact_name, | 
 |  |  |       service_number: this.detailConfig.infomation.serviceNumber, | 
 |  |  |       serviceOrderId: this.detailConfig.infomation.id | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   mounted() {}, | 
 |  |  |   methods: { | 
 |  |  | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     setData() { | 
 |  |  |       const data = this.detailConfig.infomation | 
 |  |  |       this.basicInfoList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "客户名称", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.Client.name, | 
 |  |  |           rightStr: "服务单编号", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.serviceNumber | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "服务合同", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.ServiceContract.number, | 
 |  |  |           rightStr: "故障类别", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.FaultType.name | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "主题", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.subject, | 
 |  |  |           rightStr: "合同订单", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.SalesDetails.number | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "产品类别", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "产品名称", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.productName | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "服务方式", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.ServiceType.name, | 
 |  |  |           rightStr: "服务人员", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.serviceManId | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "上门地址", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.address, | 
 |  |  |           rightStr: "优先级别", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.PriorityLevel.name | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "预约上门时间", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.appointmentTime, | 
 |  |  |           rightStr: "销售机会", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.SaleChance.name | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "签到", | 
 |  |  | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "创建时间", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.createTime, | 
 |  |  |           rightStr: "创建人", | 
 |  |  |           rightValue: "" | 
 |  |  |         } | 
 |  |  | 
 |  |  |       this.dynamicInfoList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "处理状态", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.serviceOrderStatusId, | 
 |  |  |           rightStr: "最新分配时间", | 
 |  |  |           rightValue: "" | 
 |  |  |         }, | 
 |  |  | 
 |  |  |           leftStr: "最新更新人", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "修改时间", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.updateTime | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |       this.timeAmountList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "希望处理时间", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.expectTime, | 
 |  |  |           rightStr: "实际处理时间", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.realTime | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "交通费", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.carFare, | 
 |  |  |           rightStr: "收费金额", | 
 |  |  |           rightValue: "" | 
 |  |  |           rightValue: data.chargeAmount | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "花费时间", | 
 |  |  |           leftValue: "", | 
 |  |  |           leftValue: data.TimeSpent.name, | 
 |  |  |           rightStr: "", | 
 |  |  |           rightValue: "" | 
 |  |  |         } | 
 |  |  | 
 |  |  |       this.issueList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "常见问题", | 
 |  |  |           leftValue: "" | 
 |  |  |           leftValue: data.Faq.name | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "问题描述", | 
 |  |  |           leftValue: "" | 
 |  |  |           leftValue: data.problemDesc | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |       this.solutionList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "解决办法", | 
 |  |  |           leftValue: "" | 
 |  |  |           leftValue: data.solution | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "内容备注", | 
 |  |  |           leftValue: "" | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |       this.businessInfoList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "所属行业", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "法定代表人", | 
 |  |  |           rightValue: "" | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "注册时间", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "注册资金", | 
 |  |  |           rightValue: "" | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "公司性质", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "客户规模", | 
 |  |  |           rightValue: "" | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "经营范围", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "", | 
 |  |  |           rightValue: "" | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |       this.addressInfoList = [ | 
 |  |  |         { | 
 |  |  |           leftStr: "国家", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "省份", | 
 |  |  |           rightValue: "" | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "城市", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "区域", | 
 |  |  |           rightValue: "" | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           leftStr: "详细地址", | 
 |  |  |           leftValue: "", | 
 |  |  |           rightStr: "", | 
 |  |  |           rightValue: "" | 
 |  |  |           leftValue: data.solutionRemark | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |     }, |