123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- var historyProTemplate = `
- <div style="width:100%" v-if="list.length !== 0">
- <div class="tab-card-title">
- <span class="win-bid-title" v-if="type=='buyer'">采购单位通讯录</span>
- <span class="win-bid-title" v-else>企业通讯录</span>
- </div>
- <div class="tab-card-content">
- <ul class="project-info-list">
- <li
- v-for="(item, index) in list.slice(0, hisData.end)"
- class="project-info-item border-line-b"
- >
- <div class="his-pro-title">{{item.projectname}}</div>
- <div class="his-contact">
- <div class="his-contact-list" v-for="(data,index) in item.contacts">
- <div class="contact-top">
- <div class="contactlabel">联系人:</div>
- <div class="contact-name">{{data[Object.keys(data)] || '--'}}</div>
- </div>
- <a :href="'tel:'+formatTel(Object.keys(data)[0])" class="contact-bot" v-if="Object.keys(data)[0]!==''" @click="telPhoneClick($event,Object.keys(data)[0])">
- <div class="con-left">
- <div class="contact-phonelabel">联系方式:</div>
- <div class="contact-phone">{{Object.keys(data)[0]}}</div>
- </div>
- <div class="con-right"></div>
- </a>
- </div>
- <div class="his-deal" v-if="!!item.date">
- <div class="deallabel">成交时间:</div>
- <div class="deal-time">{{item.date}}</div>
- </div>
- </div>
- </li>
- <li
- class="show-more"
- v-if="hisData.showMoreBtn"
- @click="getHisProjectNews">查看更多</li>
- </ul>
- </div>
- </div>
- `
- var hisproComponent = {
- name: 'history-project',
- template: historyProTemplate,
- props: {
- "type": {
- type: String,
- default: function() {
- return 'winner'
- }
- },
- 'id': {
- type: String,
- default: function() {
- return ''
- }
- },
- 'buyer': {
- type: String,
- default: function() {
- return ''
- }
- }
- },
- data: function () {
- return {
- list: [],
- hisData: {
- end: 3,
- showMoreBtn: false
- }
- }
- },
- created () {
- this.getData()
- },
- methods: {
- getData: function() {
- var loading = this.showLoading()
- let _this = this
- let item = {
- url: '',
- datas: {}
- }
- if(this.type == 'winner') {
- item.url = '/bigmember/portrait/winner/contacts'
- item.datas.entId = this.id
- } else if(this.type == 'buyer') {
- item.url = '/bigmember/portrait/buyer/contacts'
- item.datas.buyer = this.buyer
- } else {
- loading.clear()
- return
- }
- $.ajax({
- type: "POST",
- url: item.url,
- data:item.datas,
- timeout: 6000,
- success: function(res) {
- if(res.error_code == 0) {
- loading.clear()
- if(res.data && res.data.list && res.data.list.length !== 0) {
- res.data.list.forEach(function(item, i) {
- let phoneArr = []
- if(item.date) {
- item.date = new Date(item.date * 1000).pattern('yyyy-MM-dd')
- } else {
- item.date = ''
- }
- // console.log(Object.keys(item.contacts))
- Object.keys(item.contacts).forEach(function(items, index) {
- // console.log(items)
- // console.log({[items]: item.contacts[Object.keys(item.contacts)[index]]})
- phoneArr.push({[items]: item.contacts[Object.keys(item.contacts)[index]]})
- })
- item.contacts = phoneArr
- // console.log(item.contacts)
- })
- if(res.data.list.length <= 3) {
- _this.hisData.showMoreBtn = false
- _this.list = res.data.list
- } else {
- if(res.data.list.length <= _this.hisData.end) {
- _this.hisData.showMoreBtn = false
- } else {
- _this.hisData.showMoreBtn = true
- }
- _this.list = res.data.list
- }
- }
- } else {
- loading.clear()
- }
- }
- })
- },
- // 点击查看更多
- getHisProjectNews() {
- if(this.list.length < this.hisData.end + 3) {
- this.hisData.end = this.list.length
- this.hisData.showMoreBtn = false
- } else {
- this.hisData.end = this.hisData.end + 3
- this.hisData.showMoreBtn = true
- }
- this.getData()
- },
- // 拨打电话
- telPhoneClick: function(e,tel) {
- if(!utils.isWeiXinBrowser) {
- e.preventDefault()
- try {
- var f = /[^\s\、,,;;./。??]+(?=[\s\、,,;;./。??])/g
- if(tel.match(f)) {
- tel = tel.match(f)[0]
- }
- JyObj.callPhone(tel);
- } catch (error) {
-
- }
- }
- },
- showLoading: function() {
- var loading = this.$toast.loading({
- duration: 0,
- forbidClick: true,
- message: '',
- })
- return loading
- },
- // 联系方式取第一个
- formatTel: function (tel) {
- var f = /[^\s\、,,;;./。??]+(?=[\s\、,,;;./。??])/g
- if(tel.match(f)) {
- tel = tel.match(f)[0]
- }
- return tel
- }
- }
- }
|