| <template> | 
|   <GlobalWindow title="选择客户" width="80%" :withFooter="false" @close="close" :visible.sync="isShowMemberList"> | 
|     <div> | 
|       <div class="df_ac mb20"> | 
|         <el-input v-model="modalSearchValue" placeholder="请输入客户名称" class="w400" @keyup.enter.native="queryList"> | 
|         </el-input> | 
|         <el-button class="ml10 mr10" type="primary" @click="queryList()">查询</el-button> | 
|         <el-button class="ml10" @click="clear()">重置</el-button> | 
|         <el-button class="ml10" type="primary" @click="$refs.operaYwCustomerWindow.open('新建客户')">新建客户</el-button> | 
|       </div> | 
|       <el-table ref="table" v-loading="listLoading" :data="list" element-loading-text="Loading" border fit | 
|         :header-row-class-name="'table-header'" class="doumee-element-table doumee-element-tableb" | 
|         @row-click="rowClick"> | 
|         <el-table-column align="center" label="客户类型" show-overflow-tooltip min-width="80"> | 
|           <template slot-scope="{row}"> | 
|             <span v-if="row.type === 0">个人</span> | 
|             <span v-if="row.type === 1">企业</span> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column align="center" label="客户名称" show-overflow-tooltip prop="name" min-width="80" /> | 
|         <el-table-column align="center" label="联系人" show-overflow-tooltip prop="memberName" min-width="80" /> | 
|         <el-table-column label="联系电话" prop="memberPhone" min-width="100" align="center" /> | 
|         <el-table-column label="统一信用代码" prop="creditCard" min-width="120" align="center"> | 
|           <template slot-scope="{row}"> | 
|             <div v-if="row.type === 1"> | 
|               <span v-if="row.fpType === 0">增值税普通发票</span> | 
|               <span v-else-if="row.fpType === 1">增值税专用发票</span> | 
|               <span v-else>-</span> | 
|             </div> | 
|             <div v-else>-</div> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column label="营业期限" prop="validity" min-width="100" align="center"> | 
|           <template slot-scope="{row}"> | 
|             <div v-if="row.type === 1"> | 
|               <span>{{row.validity || '-'}}</span> | 
|             </div> | 
|             <div v-else>-</div> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column label="默认发票类型" min-width="100" align="center"> | 
|           <template slot-scope="{row}"> | 
|             <div v-if="row.type === 1"> | 
|               <span v-if="row.fpType === 0">增值税普通发票</span> | 
|               <span v-else-if="row.fpType === 1">增值税专用发票</span> | 
|               <span v-else>-</span> | 
|             </div> | 
|             <div v-else>-</div> | 
|           </template> | 
|         </el-table-column> | 
|         <el-table-column label="操作" min-width="100" align="center"> | 
|           <template slot-scope="{row}"> | 
|             <span class="primaryColor cu" @click="selectItem(row)">选择</span> | 
|           </template> | 
|         </el-table-column> | 
|       </el-table> | 
|       <div style="text-align: right; margin-top: 15px;"> | 
|         <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> | 
|       </div> | 
|     </div> | 
|     <!-- 新建/修改 --> | 
|     <OperaYwCustomerWindow ref="operaYwCustomerWindow" @success="clear" /> | 
|   </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
| import { fetchList } from '@/api/customer' | 
| import GlobalWindow from '@/components/common/GlobalWindow' | 
| import Pagination from '@/components/common/Pagination' | 
| import OperaYwCustomerWindow from '@/views/client/components/OperaYwCustomerWindow' | 
| export default { | 
|   components: { | 
|     Pagination, | 
|     GlobalWindow, | 
|     OperaYwCustomerWindow | 
|   }, | 
|   props: { | 
|     isShowChooseBtn: { | 
|       type: Boolean, | 
|       default: () => true | 
|     } | 
|   }, | 
|   data () { | 
|     return { | 
|       isShowMemberList: false, | 
|       modalSearchValue: '', | 
|       list: [], | 
|       pagination: { | 
|         pageSize: 10, | 
|         page: 1, | 
|         total: 0 | 
|       }, | 
|       listLoading: false | 
|     } | 
|   }, | 
|   methods: { | 
|     open () { | 
|       this.modalSearchValue = '' | 
|       this.filters = {} | 
|       this.pagination.page = 1 | 
|       this.pagination.pageSize = 10 | 
|       this.isShowMemberList = true | 
|       this.getList() | 
|     }, | 
|     getList () { | 
|       const { pagination, modalSearchValue } = this | 
|       this.listLoading = true | 
|       fetchList({ | 
|         capacity: pagination.pageSize, | 
|         page: pagination.page, | 
|         model: { | 
|           name: modalSearchValue | 
|         } | 
|       }).then((res) => { | 
|         this.listLoading = false | 
|         this.list = res.records | 
|         this.pagination.total = res.total || 0 | 
|       }, () => { | 
|         this.listLoading = false | 
|       }) | 
|     }, | 
|     selectItem (row) { | 
|       this.$emit('select', row) | 
|       this.isShowMemberList = false | 
|     }, | 
|     queryList () { | 
|       this.pagination.page = 1 | 
|       this.getList() | 
|     }, | 
|     currentChange (val) { | 
|       this.pagination.page = val | 
|       this.getList() | 
|     }, | 
|     clear () { | 
|       this.filters = {} | 
|       this.pagination.pageSize = 10 | 
|       this.pagination.page = 1 | 
|       this.getList() | 
|     }, | 
|     handleSizeChange (capacity) { | 
|       this.pagination.pageSize = capacity | 
|       this.getList() | 
|     }, | 
|     close () { | 
|       this.isShowMemberList = false | 
|     } | 
|   } | 
| } | 
| </script> | 
|   | 
| <style lang="scss" scoped> | 
| .member_search_wrap { | 
|   display: flex; | 
|   | 
|   ::v-deep .el-input__validateIcon { | 
|     display: none !important; | 
|   } | 
| } | 
| </style> |