317 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			317 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
<template>
 | 
						||
  <view class="content">
 | 
						||
    <!-- <view class="tab">
 | 
						||
      <view
 | 
						||
        v-for="(item, index) in tabList"
 | 
						||
        :key="index"
 | 
						||
        @click="isTab = item.value"
 | 
						||
        class="tab_i"
 | 
						||
        :class="[isTab === item.value ? 'heng' : 'heng1']"
 | 
						||
      >
 | 
						||
        {{ item.label }}
 | 
						||
      </view>
 | 
						||
    </view> -->
 | 
						||
 | 
						||
    <template v-if="tableData.length > 0">
 | 
						||
      <view class="thecontent" v-for="(item, index) in tableData" :key="index">
 | 
						||
        <view class="line_box">
 | 
						||
          <view class="line1">{{ '会员编号' }}</view>
 | 
						||
          <view class="line2">{{ item.memberCode }}</view>
 | 
						||
        </view>
 | 
						||
        <view class="line_box">
 | 
						||
          <view class="line1">{{ '变更前会员姓名' }}</view>
 | 
						||
          <view class="line2">{{ item.memberName }}</view>
 | 
						||
        </view>
 | 
						||
        <view class="line_box">
 | 
						||
          <view class="line1">{{ '变更前联系方式' }}</view>
 | 
						||
          <view class="line2">{{ item.phone }}</view>
 | 
						||
        </view>
 | 
						||
        <view class="line_box bgrightBox" v-if="queryParams.assessType == 0">
 | 
						||
          <view class=""> </view>
 | 
						||
          <view class="">
 | 
						||
            <u-button
 | 
						||
              shape="circle"
 | 
						||
              color="#005BAC"
 | 
						||
              size="small"
 | 
						||
              :text="'申请变更'"
 | 
						||
              @click="updateDomicile(item)"
 | 
						||
            ></u-button>
 | 
						||
          </view>
 | 
						||
        </view>
 | 
						||
        <template v-if="queryParams.assessType == 1">
 | 
						||
          <view class="line_box">
 | 
						||
            <view class="line1">{{ '变更后会员姓名' }}</view>
 | 
						||
            <view class="line3">{{ item.changeMemberName }}</view>
 | 
						||
          </view>
 | 
						||
          <view class="line_box">
 | 
						||
            <view class="line1">{{ '变更后联系方式' }}</view>
 | 
						||
            <view class="line3">{{ item.changePhone }}</view>
 | 
						||
          </view>
 | 
						||
          <!-- <view class="line_box">
 | 
						||
						<view class='line1'>{{'业务扣费'}}(¥)</view>
 | 
						||
						<view class='line3'>{{item.amount}}</view>
 | 
						||
					</view> -->
 | 
						||
          <view class="line_box">
 | 
						||
            <view class="line1">{{ '申请时间' }}</view>
 | 
						||
            <view class="line3">{{ item.creationTime }}</view>
 | 
						||
          </view>
 | 
						||
          <!-- <view class="line_box">
 | 
						||
            <view class="line1">{{ '审核时间' }}</view>
 | 
						||
            <view class="line3">{{ item.approveTime }}</view>
 | 
						||
          </view>
 | 
						||
          <view class="line_box">
 | 
						||
            <view class="line1">{{ '审核状态' }}</view>
 | 
						||
            <view class="line3">{{ item.approveStatusVal }}</view>
 | 
						||
          </view> -->
 | 
						||
          <view class="line_box">
 | 
						||
            <view class="line1">{{ '备注' }}</view>
 | 
						||
            <view class="line3">{{ item.remark }}</view>
 | 
						||
          </view>
 | 
						||
          <!-- <view class="list_btn" v-if="item.approveStatus == 3">
 | 
						||
            <view class="sub_btn" @click="findWhy(item)">
 | 
						||
              {{ '驳回原因' }}
 | 
						||
            </view>
 | 
						||
          </view> -->
 | 
						||
        </template>
 | 
						||
      </view>
 | 
						||
    </template>
 | 
						||
    <u-empty
 | 
						||
      v-else
 | 
						||
      mode="list"
 | 
						||
      icon="http://cdn.uviewui.com/uview/empty/list.png"
 | 
						||
    >
 | 
						||
    </u-empty>
 | 
						||
    <u-popup
 | 
						||
      :show="rejectShow"
 | 
						||
      closeable
 | 
						||
      mode="center"
 | 
						||
      round="10"
 | 
						||
      @close="rejectShow = false"
 | 
						||
      >\
 | 
						||
      <view class="popview">
 | 
						||
        <view
 | 
						||
          class="email_neir"
 | 
						||
          @click="clickhtml(rejectContent)"
 | 
						||
          v-html="rejectContent"
 | 
						||
        >
 | 
						||
        </view>
 | 
						||
      </view>
 | 
						||
    </u-popup>
 | 
						||
  </view>
 | 
						||
</template>
 | 
						||
 | 
						||
<script>
 | 
						||
import * as sel from '@/config/selfService.js'
 | 
						||
export default {
 | 
						||
  data() {
 | 
						||
    return {
 | 
						||
      tabList: [
 | 
						||
        {
 | 
						||
          value: 0,
 | 
						||
          label: '可变更信息',
 | 
						||
        },
 | 
						||
        {
 | 
						||
          value: 1,
 | 
						||
          label: '变更记录',
 | 
						||
        },
 | 
						||
      ],
 | 
						||
      isTab: 0,
 | 
						||
      queryParams: {
 | 
						||
        assessType: 0,
 | 
						||
      },
 | 
						||
      tableData: [],
 | 
						||
      rejectShow: false,
 | 
						||
      rejectContent: '',
 | 
						||
    }
 | 
						||
  },
 | 
						||
  watch: {
 | 
						||
    isTab(n, o) {
 | 
						||
      this.queryParams.assessType = n
 | 
						||
      this.getDataList()
 | 
						||
    },
 | 
						||
  },
 | 
						||
  onLoad() {
 | 
						||
    this.getDataList()
 | 
						||
  },
 | 
						||
  methods: {
 | 
						||
    findWhy(item) {
 | 
						||
      this.rejectContent = item.rejectMsg
 | 
						||
      this.rejectShow = true
 | 
						||
    },
 | 
						||
    clickhtml(content) {
 | 
						||
      this.rejectShow = false
 | 
						||
      // 在组件挂载后,调用handleImageClick方法预览第一张图片
 | 
						||
      const parser = new DOMParser()
 | 
						||
      const doc = parser.parseFromString(content, 'text/html')
 | 
						||
      const imgElements = doc.getElementsByTagName('img')
 | 
						||
      if (imgElements.length > 0) {
 | 
						||
        const firstImageUrl = imgElements[0].src
 | 
						||
        this.handleImageClick(firstImageUrl, content)
 | 
						||
      }
 | 
						||
    },
 | 
						||
    handleImageClick(url, content) {
 | 
						||
      uni.previewImage({
 | 
						||
        urls: this.getUrls(content),
 | 
						||
        current: url,
 | 
						||
      })
 | 
						||
    },
 | 
						||
    getUrls(content) {
 | 
						||
      const parser = new DOMParser()
 | 
						||
      const doc = parser.parseFromString(content, 'text/html')
 | 
						||
      const imgElements = doc.getElementsByTagName('img')
 | 
						||
      const urls = []
 | 
						||
      for (let i = 0; i < imgElements.length; i++) {
 | 
						||
        urls.push(imgElements[i].src)
 | 
						||
      }
 | 
						||
      return urls
 | 
						||
    },
 | 
						||
    updateDomicile(item) {
 | 
						||
      if (this.queryParams.assessType == 0) {
 | 
						||
        item.assessType = this.queryParams.assessType
 | 
						||
        let params = item
 | 
						||
        let queryString = Object.keys(params)
 | 
						||
          .map(
 | 
						||
            key =>
 | 
						||
              `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`
 | 
						||
          )
 | 
						||
          .join('&')
 | 
						||
        // let paramsString = encodeURIComponent(JSON.stringify(params))
 | 
						||
 | 
						||
        uni.redirectTo({
 | 
						||
          url: '/pages/selfService/updateDomicile/addDomicile?' + queryString,
 | 
						||
        })
 | 
						||
      }
 | 
						||
    },
 | 
						||
 | 
						||
    getDataList() {
 | 
						||
      if (this.queryParams.assessType == 0) {
 | 
						||
        //可申请
 | 
						||
        sel.getApplicationInfoList(this.queryParams).then(res => {
 | 
						||
          this.tableData = [res.data]
 | 
						||
        })
 | 
						||
      } else if (this.queryParams.assessType == 1) {
 | 
						||
        //已申请
 | 
						||
        sel.getAppliedInfoList(this.queryParams).then(res => {
 | 
						||
          this.tableData = res.data
 | 
						||
        })
 | 
						||
      }
 | 
						||
    },
 | 
						||
  },
 | 
						||
}
 | 
						||
</script>
 | 
						||
 | 
						||
<style lang="scss" scoped>
 | 
						||
::v-deep img {
 | 
						||
  max-width: 100%;
 | 
						||
  height: auto;
 | 
						||
}
 | 
						||
.popview {
 | 
						||
  padding: 24rpx;
 | 
						||
  width: 620rpx;
 | 
						||
  .email_neir {
 | 
						||
    font-size: 24rpx;
 | 
						||
    font-family: Source Han Sans CN;
 | 
						||
    font-weight: 400;
 | 
						||
    color: #666666;
 | 
						||
  }
 | 
						||
}
 | 
						||
.list_btn {
 | 
						||
  border-top: 1rpx solid #eeeeee;
 | 
						||
  margin-top: 20rpx;
 | 
						||
  display: flex;
 | 
						||
  justify-content: flex-end;
 | 
						||
  align-items: center;
 | 
						||
  padding-top: 20rpx;
 | 
						||
  .sub_btn {
 | 
						||
    display: flex;
 | 
						||
    align-items: center;
 | 
						||
    justify-content: center;
 | 
						||
    border-radius: 30rpx;
 | 
						||
    background: #005bac;
 | 
						||
    color: #ffffff;
 | 
						||
    padding: 15rpx 28rpx;
 | 
						||
    font-size: 24rpx;
 | 
						||
    font-family: Source Han Sans CN;
 | 
						||
    font-weight: 400;
 | 
						||
  }
 | 
						||
}
 | 
						||
.content {
 | 
						||
  background: #f2f2f2;
 | 
						||
  padding-bottom: 20rpx;
 | 
						||
 | 
						||
  .tab {
 | 
						||
    display: flex;
 | 
						||
    align-items: center;
 | 
						||
    justify-content: space-around;
 | 
						||
    margin-bottom: 6rpx;
 | 
						||
    background-color: #ffffff;
 | 
						||
 | 
						||
    .tab_i {
 | 
						||
      text-align: center;
 | 
						||
      font-size: 28rpx;
 | 
						||
      font-family: PingFang SC;
 | 
						||
      font-weight: 400;
 | 
						||
      color: #333333;
 | 
						||
      white-space: nowrap;
 | 
						||
      display: flex;
 | 
						||
      flex-direction: column;
 | 
						||
      align-items: center;
 | 
						||
      padding: 24rpx 0;
 | 
						||
      // background-color: pink;
 | 
						||
    }
 | 
						||
 | 
						||
    .heng {
 | 
						||
      border-bottom: 6rpx solid #005bac;
 | 
						||
      color: #005bac;
 | 
						||
    }
 | 
						||
 | 
						||
    .heng {
 | 
						||
      color: #333333;
 | 
						||
    }
 | 
						||
  }
 | 
						||
 | 
						||
  .thecontent {
 | 
						||
    background-color: #ffffff;
 | 
						||
    // margin-bottom: 21rpx;
 | 
						||
    margin-top: 20rpx;
 | 
						||
    padding: 10rpx 23rpx 30rpx 23rpx;
 | 
						||
 | 
						||
    .line_box {
 | 
						||
      display: flex;
 | 
						||
      align-items: center;
 | 
						||
      justify-content: space-between;
 | 
						||
      margin-top: 20rpx;
 | 
						||
 | 
						||
      .line1 {
 | 
						||
        font-size: 26rpx;
 | 
						||
        font-family: Source Han Sans CN;
 | 
						||
        font-weight: 400;
 | 
						||
        color: #999999;
 | 
						||
      }
 | 
						||
 | 
						||
      .line2 {
 | 
						||
        font-size: 26rpx;
 | 
						||
        font-family: Source Han Sans CN;
 | 
						||
        font-weight: 400;
 | 
						||
        color: #333333;
 | 
						||
      }
 | 
						||
 | 
						||
      .line3 {
 | 
						||
        font-size: 26rpx;
 | 
						||
        font-family: Source Han Sans CN;
 | 
						||
        font-weight: 400;
 | 
						||
        color: rgba(251, 48, 36, 1);
 | 
						||
      }
 | 
						||
    }
 | 
						||
 | 
						||
    .bgrightBox {
 | 
						||
      margin-top: 20rpx;
 | 
						||
      padding-top: 20rpx;
 | 
						||
      display: flex;
 | 
						||
      justify-content: flex-end;
 | 
						||
      border-top: 1rpx solid #eeeeee;
 | 
						||
    }
 | 
						||
  }
 | 
						||
}
 | 
						||
</style>
 |