| <template> | 
|   <GlobalWindow | 
|     :title="title" | 
|     :visible.sync="visible" | 
|     :withFooter="false" | 
|     width="calc(100% - 250px)" | 
|     :confirm-working="isWorking" | 
|     @close="close" | 
|     @confirm="confirm"> | 
|     <div style="width: calc(100% - 32px); position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white"> | 
|       <div style="display: flex;background: #e4ecfe;padding: 20px"> | 
|         <div style="width: 60px;"> | 
|           <div class="home_title" v-if="info"> | 
|             <el-image v-if="info.fullCoverImage" style="width: 50px; height: 50px;border-radius: 50%;margin-right: 10px" :src="info.fullCoverImage" | 
|                       :preview-src-list="[info.fullCoverImage]"> | 
|             </el-image> | 
|             <el-image v-else style="width: 50px; height: 50px;border-radius: 50%;margin-right: 10px" src="avatar/man.png" > | 
|             </el-image> | 
|           </div> | 
|         </div> | 
|         <div style="width: calc(100% - 60px);"> | 
|           <div class="home_title" v-if="info"> | 
|             <div class="left"> | 
|               <span class="m10">昵称:{{info.nickName }}  <span class="ml10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')"  >({{(info.name||'未设置姓名') }})</span></span> | 
|               <el-tag type="primary" class="mr10 tag1">发单方</el-tag> | 
|               <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">接单方</el-tag> | 
|             </div> | 
|           </div> | 
|           <div class="remark" v-if="info"> | 
|             <el-button  class="bluebtn" icon="el-icon-phone" title="手机号"> {{info.telephone||'未设置' }}</el-button> | 
|             <el-button  class="yellowbtn" icon="el-icon-star-on"  title="平均评分"> {{info.score||'0' }}分</el-button> | 
|             <el-button  class="redbtn" icon="el-icon-coin"  title="账号余额(元)"> {{(info.amount||0).toFixed(2)}}元</el-button> | 
|           </div> | 
|         </div> | 
|       </div> | 
|       <div class="tabs"> | 
|         <div class="tab" :class="{ active: activeTabs === 0 }" @click="tabsClick(0)">余额明细</div> | 
|         <div class="tab" :class="{ active: activeTabs === 1 }" @click="tabsClick(1)">评价记录</div> | 
|         <div class="tab" :class="{ active: activeTabs === 2 }" @click="tabsClick(2)">认证信息</div> | 
|       </div> | 
|     </div> | 
|     <div class="main" v-if="activeTabs === 0 && info"> | 
|       <div class="title" > | 
|         <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> | 
|           <el-form-item label="交易流水号"  style="width: 200px;" label-width="100px" prop="transactionNo"> | 
|             <el-input v-model="searchForm.transactionNo" style="width: 100px"  clearable placeholder="请输入" ></el-input> | 
|           </el-form-item> | 
|           <el-form-item label="收支类型" prop="type"  style="width: 200px;" label-width="100px" > | 
|             <el-select v-model="searchForm.optType"  style="width: 100px"  clearable placeholder="请选择类型"  > | 
|               <el-option :value="1" label="收入"></el-option> | 
|               <el-option :value="-1" label="支出"></el-option> | 
|             </el-select> | 
|           </el-form-item> | 
|           <el-form-item label="收支时间" prop="eventType"  style="width: 380px;" label-width="100px" > | 
|             <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss" | 
|                             placeholder="开始时间" />- | 
|             <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss" | 
|                             placeholder="结束时间" /> | 
|           </el-form-item> | 
|           <section  style="width: 280px;display: inline-block" > | 
|             <el-button type="primary" @click="handleCurrentChange0(0)">搜索</el-button> | 
|             <el-button @click="reset0">重置</el-button> | 
|             <el-button type="primary" @click="exportExcel0" :loading="export0">导出</el-button> | 
|           </section> | 
|         </el-form> | 
|       </div> | 
|       <el-table | 
|           v-loading="isWorking.search" | 
|           :data="tableData.records" | 
|           stripe | 
|       > | 
|         <el-table-column prop="type" label="收入/支出"  width="80px" align="center" > | 
|           <template slot-scope="{row}"> | 
|             <span style="cursor: pointer;color: #3acf18" v-if="row.optType ==1">收入</span> | 
|             <span style="cursor: pointer;color: #a10e0e" v-else>支出</span> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column prop="amountInfo" label="金额(元)" width="120px"  align="center"> | 
|           <template slot-scope="{row}"> | 
|             <span class="yellowbtn">{{ row.amountInfo || 0 }}</span> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column prop="createTime" label="收支时间" min-width="150px"  align="center"></el-table-column> | 
|         <el-table-column prop="typeName" label="业务类型" min-width="100px"  align="center"></el-table-column> | 
|         <el-table-column prop="transactionNo" label="订单/交易号" min-width="100px"  align="center"> | 
|           <template slot-scope="{row}"> | 
|             <span >{{ row.transactionNo  }}</span> | 
|           </template> | 
|         </el-table-column> | 
|       </el-table> | 
|       <el-pagination | 
|           @current-change="handleCurrentChange0" | 
|           :current-page="page0" | 
|           :page-size="pageSize" | 
|           layout="total, prev, pager, next, jumper" | 
|           :total="tableData.total"> | 
|       </el-pagination> | 
|     </div> | 
|     <div class="main"   v-if="activeTabs === 1 && info"> | 
|       <el-radio-group v-model="type" @change="changeType" style="margin-bottom: 20px;"> | 
|         <el-radio-button :label="0">收到的评价</el-radio-button> | 
|         <el-radio-button :label="1">发布的评价</el-radio-button> | 
|       </el-radio-group> | 
|       <el-table | 
|           v-loading="isWorking.search" | 
|           :data="tableData1.records" | 
|           stripe | 
|       > | 
|         <el-table-column prop="commentTime" label="评价时间" min-width="150px"  align="center"> | 
|           <template slot-scope="{row}"> | 
|             <span >{{ row.commentTime  }}</span> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column prop="commentLevel" label="评分" width="120px"  align="center"> | 
|           <template slot-scope="{row}"> | 
|             <span class="yellowbtn">{{ row.commentLevel || 0 }}分</span> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column prop="commentInfo" label="评价内容" min-width="100px"  align="center"></el-table-column> | 
|         <el-table-column prop="code" label="订单号" min-width="100px"  align="center">  </el-table-column> | 
|         <el-table-column prop="type" label="订单类型" min-width="100px"  align="center"> | 
|           <template slot-scope="{row}"> | 
|             <span v-if="row.type ==0" >用工单 | 
|                 <span v-if="row.workType ==0">/采摘工</span> | 
|                 <span v-if="row.workType ==1">/分拣工</span> | 
|                 <span v-if="row.workType ==2">/包装工</span> | 
|             </span> | 
|             <span v-if="row.type ==1" >运货单</span> | 
|             <span v-if="row.type ==2"  >订餐单</span> | 
|           </template> | 
|         </el-table-column> | 
|       </el-table> | 
|       <el-pagination | 
|           @current-change="handleCurrentChange0" | 
|           :current-page="page1" | 
|           :page-size="pageSize" | 
|           layout="total, prev, pager, next, jumper" | 
|           :total="tableData1.total"> | 
|       </el-pagination> | 
|     </div> | 
|     <div class="main" v-if="activeTabs === 2 && info"> | 
|       <div class="renzheng"   v-for="item in tableData2"> | 
|           <div class="info" > | 
|               <span class="m10" v-if="item.type ==0">用工认证</span> | 
|               <span class="m10" v-if="item.type ==1">货运认证</span> | 
|               <span class="m10" v-if="item.type ==2">供餐认证</span> | 
|               <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">申请中</el-tag> | 
|               <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">认证通过</el-tag> | 
|               <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">认证失败</el-tag> | 
|           </div> | 
|           <div class="detail" > | 
|             <div class="line"> | 
|               <span class="label"> 认证类型:</span> <span class="txt">{{item.authType == 0? '个人':'企业' }}</span> | 
|               <span class="label"> 联系人:</span> <span class="txt">{{item.linkName || '' }}</span> | 
|               <span class="label"> 联系方式:</span> <span class="txt">{{item.telephone || '' }}</span> | 
|               <span class="label"> 申请时间:</span> <span class="txt">{{item.createTime || '' }}</span> | 
|             </div> | 
|             <template v-if="item.authType ==1"> | 
|               <div class="line"> | 
|                 <span class="label">接单位置:</span><span class="txt">{{item.location || '' }}</span> | 
|                 <span class="label">单位名称:</span><span class="txt">{{item.companyName || '' }}</span> | 
|               </div> | 
|               <div class="line"> <span class="label">认证资料:</span> <span v-if="!item.imgList || item.imgList.length==0" class="txt">无</span> </div> | 
|             </template> | 
|             <template v-else> | 
|               <div class="line"> | 
|                 <span class="label">接单位置:</span><span class="txt">{{item.location || '' }}</span> | 
|               </div> | 
|               <div class="line"> | 
|                 <span class="label">身份信息:</span> <span v-if="!item.imgList || item.imgList.length==0" class="txt">无</span> | 
|               </div> | 
|             </template> | 
|               <div class="line" v-if="item.imgList && item.imgList.length>0"> | 
|                 <div v-for="info in item.imgList" style="display: inline-block"> | 
|                   <el-image v-if="info" style="width: 50px; height: 50px; margin-right: 10px" :src="info" | 
|                             :preview-src-list="[info]"> | 
|                   </el-image> | 
|                 </div> | 
|               </div> | 
|             <div class="line" v-if="item.auditStatus == 3 || item.auditStatus == 2" :style="'background-color: '+(item.auditStatus==2?'#eff8ea':'rgb(253 226 226)')+';padding: 20px'"> | 
|               <span class="label"> 审核人:</span> <span class="txt">{{item.editorName}} </span><span class="label">{{item.auditTime || '' }} </span> | 
|               <div  style="margin-top: 20px"> <span class="label">  审核信息:</span> <span class="txt">{{item.auditRemark || '' }}</span></div> | 
|           </div> | 
|           </div> | 
|         </div> | 
|     </div> | 
|   </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
| import GlobalWindow from '@/components/common/GlobalWindow' | 
| import BaseOpera from '@/components/base/BaseOpera' | 
| import { getById } from '@/api/business/member' | 
| import { fetchList as yueList, exportExcel as yueExportExcel } from '@/api/business/memberRevenue' | 
| import { fetchList as commentList } from '@/api/business/orders' | 
| import { allList as renzhengList} from '@/api/business/identityInfo' | 
| export default { | 
|   components: { | 
|     GlobalWindow | 
|   }, | 
|   extends: BaseOpera, | 
|   data () { | 
|     return { | 
|       id: '', | 
|       visible: false, | 
|       activeTabs: 0, | 
|       type: 0, | 
|       info: {}, | 
|       pageSize: 10, | 
|       page: 1, | 
|       total: 0, | 
|       tableData: {}, | 
|       tableData1: {}, | 
|       tableData2: [], | 
|       page0: 1, | 
|       page1: 1, | 
|       loading: false, | 
|       export0: false, | 
|       searchForm: { | 
|         type: 0, | 
|         startTime: null, | 
|         endTime: null, | 
|         optType: null, | 
|         acceptMemberId: -1, | 
|         releaseMemberId: -1, | 
|         transactionNo: null | 
|       } | 
|     } | 
|   }, | 
|   methods: { | 
|     open (title, id) { | 
|       this.title = title | 
|       this.visible = true | 
|       this.activeTabs = 0 | 
|       this.type = 0 | 
|       this.page0 = 1 | 
|       this.pageSize = 10 | 
|       this.tableData = {} | 
|       this.tableData1 = {} | 
|       this.tableData2 = [] | 
|       this.id = id | 
|       this.searchForm = { | 
|         type: 0, | 
|         startTime: null, | 
|         endTime: null, | 
|         optType: null, | 
|         acceptMemberId: -1, | 
|         releaseMemberId: -1, | 
|         transactionNo: null | 
|       } | 
|       this.getData() | 
|     }, | 
|     getData () { | 
|       getById(this.id) | 
|         .then(res => { | 
|           this.info = res | 
|           this.visible = true | 
|           this.handleCurrentChange0(1) | 
|           this.changeType(0) | 
|           this.getRenzhengList() | 
|         }) | 
|     }, | 
|     exportExcel0 () { | 
|       this.$dialog.exportConfirm('确认导出吗?') | 
|         .then(() => { | 
|           this.export0 = true | 
|           yueExportExcel({ | 
|             page: 1, | 
|             capacity: 1000000, | 
|             model: { | 
|               memberId: this.info.id || -1, | 
|               startTime: this.searchForm.startTime, | 
|               endTime: this.searchForm.endTime, | 
|               optType: this.searchForm.optType, | 
|               transactionNo: this.searchForm.transactionNo | 
|             } | 
|           }).then(response => { | 
|             this.download(response) | 
|           }) | 
|             .catch(e => { | 
|               this.$tip.apiFailed(e) | 
|             }) | 
|             .finally(() => { | 
|               this.export0 = false | 
|             }) | 
|         }) | 
|         .catch(() => {}) | 
|     }, | 
|     reset0 () { | 
|       this.searchForm.startTime = null | 
|       this.searchForm.endTime = null | 
|       this.searchForm.optType = null | 
|       this.searchForm.transactionNo = null | 
|       this.page0 = 0 | 
|       this.getYueList() | 
|     }, | 
|     handleCurrentChange0 (page) { | 
|       this.page0 = page | 
|       this.getYueList() | 
|     }, | 
|     handleCurrentChange1 (page) { | 
|       this.page1 = page | 
|       this.getCommentList() | 
|     }, | 
|     getYueList () { | 
|       this.loading = true | 
|       yueList({ | 
|         capacity: this.pageSize, | 
|         page: this.page0, | 
|         model: { | 
|           memberId: this.info.id || -1, | 
|           startTime: this.searchForm.startTime, | 
|           endTime: this.searchForm.endTime, | 
|           optType: this.searchForm.optType, | 
|           transactionNo: this.searchForm.transactionNo | 
|         } | 
|       }).then(res => { | 
|         this.loading = false | 
|         this.tableData = res | 
|         console.log(this.tableData) | 
|       }).catch(e => { | 
|         this.$tip.apiFailed(e) | 
|       }).finally(() => { | 
|         this.loading = false | 
|       }) | 
|     }, | 
|     getCommentList () { | 
|       this.loading = true | 
|       commentList({ | 
|         capacity: this.pageSize, | 
|         page: this.page1, | 
|         model: { | 
|           acceptMemberId: this.searchForm.acceptMemberId, | 
|           releaseMemberId: this.searchForm.releaseMemberId, | 
|           commentStatus: 1 | 
|         } | 
|       }).then(res => { | 
|         this.loading = false | 
|         this.tableData1 = res | 
|         console.log(this.tableData1) | 
|       }).catch(e => { | 
|         this.$tip.apiFailed(e) | 
|       }).finally(() => { | 
|         this.loading = false | 
|       }) | 
|     }, | 
|     close () { | 
|   | 
|     }, | 
|     getRenzhengList () { | 
|       this.loading = true | 
|       renzhengList({ | 
|         memberId: this.id || -1 | 
|       }).then(res => { | 
|         this.loading = false | 
|         this.tableData2 = res | 
|       }).catch(e => { | 
|         this.$tip.apiFailed(e) | 
|       }).finally(() => { | 
|         this.loading = false | 
|       }) | 
|     }, | 
|     changeType (e) { | 
|       this.searchForm.acceptMemberId = -1 | 
|       this.searchForm.releaseMemberId = -1 | 
|       if (e == 1) { | 
|         this.searchForm.releaseMemberId = this.info.id || -1 | 
|         this.searchForm.acceptMemberId = null | 
|       } else { | 
|         this.searchForm.acceptMemberId = this.info.id || -1 | 
|         this.searchForm.releaseMemberId =null | 
|       } | 
|       this.page1 = 1 | 
|       this.tableData1 = {} | 
|       this.handleCurrentChange1(0) | 
|     }, | 
|     tabsClick (val) { | 
|       this.activeTabs = val | 
|     } | 
|   } | 
| } | 
| </script> | 
|   | 
| <style lang="scss" scoped> | 
| @import '@/assets/style/variables.scss'; | 
| .renzheng{ | 
|   margin: 0px 0px 30px 20px; | 
|   width: calc(100% - 60px); | 
|   .detail{ | 
|     font-size: 14px; | 
|     .label{ | 
|       color: #8c939d; | 
|     } | 
|     .txt{ | 
|       margin-right: 30px; | 
|     } | 
|     .line{ | 
|       margin-top: 15px; | 
|     } | 
|   } | 
|   .ml10{ | 
|     margin-left: 10px; | 
|   } | 
|   .info{ | 
|     font-size: 14px; | 
|     font-weight: bold; | 
|   } | 
|   .tag2{ | 
|     font-size: 12px; | 
|   } | 
| } | 
| .home_title { | 
|   .mr10{ | 
|     margin-right: 10px; | 
|   } | 
|   .m10{ | 
|     margin: 10px; | 
|   } | 
|   .bluebtn{ | 
|     color: #2985f7; | 
|   } | 
|   .tag1{ | 
|     border-radius: 10px; | 
|     font-size: 10px; | 
|     padding: 0px 15px; | 
|     height: 24px; | 
|   } | 
|   display: flex; | 
|   justify-content: space-between; | 
|   align-items: center; | 
|   .left { | 
|     font-weight: 500; | 
|     font-size: 14px; | 
|     margin-right: 10px; | 
|     display: flex; | 
|     align-items: center; | 
|     .status { | 
|       padding: 0 6px; | 
|       height: 22px; | 
|       line-height: 22px; | 
|       border-radius: 2px; | 
|       border: 1px solid #00BA92; | 
|       color: #00BA92; | 
|       font-weight: 400; | 
|       font-size: 12px; | 
|       color: #00BA92; | 
|     } | 
|   } | 
| } | 
| .tab{ | 
|   width: 20%; | 
| } | 
| .remark { | 
|   //background: #E8EBF7; | 
|   border-radius: 2px; | 
|   font-size: 14px; | 
|   margin: 10px 10px 0px -10px; | 
|   button{ | 
|     border: none; | 
|     cursor: default; | 
|     margin-right: 20px; | 
|     background: #e4ecfe; | 
|   } | 
| } | 
| .bluebtn{ | 
|   font-weight: bold; | 
|   color: #2985f7; | 
| } | 
|   | 
| .redbtn{ | 
|   font-weight: bold; | 
|   color: #ff1b1b; | 
| } | 
| .yellowbtn{ | 
|   font-weight: bold; | 
|   color: #fc9d20; | 
| } | 
|   | 
| .tabs { | 
|   border-bottom: 1px solid #DFE2E8; | 
|   display: flex; | 
|   margin-bottom: 20px; | 
|   .tab { | 
|     height: 58px; | 
|     line-height: 58px; | 
|     font-size: 14px; | 
|     color: #666666; | 
|     margin-right: 30px; | 
|     cursor: pointer; | 
|   } | 
|   | 
|   .active { | 
|     font-weight: 500; | 
|     color: $primary-color; | 
|     border-bottom: 2px solid $primary-color; | 
|   } | 
| } | 
|   | 
| .main { | 
|   padding: 12px 16px; | 
|   .title { | 
|     font-weight: 500; | 
|     font-size: 12px; | 
|     color: $primary-color; | 
|     margin-bottom: 15px; | 
|   } | 
|   /deep/ .el-form-item__label{ | 
|     font-size: 12px; | 
|   } | 
|   .list { | 
|     display: flex; | 
|     flex-wrap: wrap; | 
|     /*background: #F7F7F7;*/ | 
|     border-radius: 2px; | 
|     /*padding: 15px 20px;*/ | 
|     margin-bottom: 20px; | 
|   | 
|     .item { | 
|       font-size: 14px; | 
|       width: 25%; | 
|       margin-bottom: 16px; | 
|   | 
|       .la { | 
|         color: #7f7f7f; | 
|         margin-bottom: 10px; | 
|       } | 
|     } | 
|   } | 
| } | 
|   | 
| /deep/ .window__body { | 
|   padding: 0px !important; | 
| } | 
| </style> |