index.vue 10.7 KB
<template>
  <div style="background-color:#f7f7f7;padding:10px 10px;">
    <div class="zhuti" v-if="onaction == '1'">
      <div style="height:58px;line-height:58px;">
        <div style="color:#0006"> <span>商家管理</span> <span style="padding:0 5px;">></span> <span
            style="color:#000000e6">商家入驻审核</span></div>
      </div>
      <!-- 线上 -->
      <div>
        <!-- 搜索 -->
        <div class="formSearch">
          <el-form :inline="true" :model="pagequery">
            <el-form-item label="名称">
              <el-input v-model="pagequery.name" placeholder="请输入" style="width:168px;" />
            </el-form-item>
            <el-form-item label="手机号">
              <el-input v-model="pagequery.phone" placeholder="请输入" style="width:168px;" />
            </el-form-item>
            <el-form-item label="身份证号">
              <el-input v-model="pagequery.idCardNumber" placeholder="请输入" style="width:168px;" />
            </el-form-item>
          </el-form>

          <div>
            <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询
            </el-button>
            <el-button @click="resetting" class="buttonHover"
              style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置
            </el-button>
          </div>
        </div>
        <!-- 表格 -->

        <el-table :data="tableData"
          :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
          <!-- <el-table-column label="序号" width="80">
            <template slot-scope="scope">
              {{scope.$index + 1}}
            </template>
          </el-table-column> -->
          <el-table-column label="姓名">
            <template slot-scope="scope">
              {{scope.row.name}}

            </template>
          </el-table-column>
          <el-table-column label="手机号">
            <template slot-scope="scope">
              {{scope.row.phone}}

            </template>
          </el-table-column>
          <el-table-column label="证件类型">
            <template slot-scope="scope">
              {{scope.row.idCardType}}

            </template>
          </el-table-column>
          <el-table-column label="身份证号">
            <template slot-scope="scope">
              {{scope.row.idCardNumber}}

            </template>
          </el-table-column>
          <el-table-column label="申请时间">
            <template slot-scope="scope">
              {{scope.row.applyTime}}

            </template>
          </el-table-column>
          <el-table-column label="状态">
            <template slot-scope="scope">
              <span v-if="scope.row.checkState == '1'">待审核</span>
              <span v-else-if="scope.row.checkState == '2'">同意</span>
              <span v-else-if="scope.row.checkState == '3'">拒绝</span>
            </template>
          </el-table-column>
          <el-table-column label="操作" fixed="right">
            <template slot-scope="scope">
              <div @click="details(scope.row)" class="tableBtn greens">查看</div>
              <div @click="openyujingSet(scope.row)" class="tableBtn greens" v-if="scope.row.checkState == '1'">审核</div>
            </template>
          </el-table-column>
        </el-table>
        <div style="display: flex;justify-content: space-between;" class="bom">
          <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{total}}</span> 项数据</div>
          <el-pagination :current-page="pagequery.pageNumber+1" :page-sizes="[10, 20, 50, 100]" :page-size="10"
            background small layout="prev, pager, next" :total="total" @size-change="handleSizeChange"
            @current-change="handleCurrentChange">
          </el-pagination>
        </div>

      </div>

    </div>






    <el-dialog title="审核" :visible.sync="yujingSet" style="padding: 0;" width="60%" center :close-on-click-modal="false" :show-close="false" top="20vh">
      <div>
        <div style="margin-bottom: 20px;">
          <el-form ref="form" :model="detailsinfo" label-width="120px">
            <el-form-item label="审核状态" prop="checkState">
              <el-select v-model="checkState" placeholder="请选择" style="width: 100%;">
                <!-- <el-option label="待审核" value="1"></el-option> -->
                <el-option label="同意" value="2"></el-option>
                <el-option label="拒绝" value="3"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="审核意见">
              <el-input maxlength="200" show-word-limit rows="4" v-model="detailsinfo.checkOpinion" placeholder="请输入审核意见" type="textarea" />
            </el-form-item>
          </el-form>

        </div>
        <div style="display: flex;justify-content: flex-end;">
          <el-button @click="yuclose" class="buttonHover"
            style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">返回</el-button>
          <el-button @click="yuChenk" style="background-color: #3F9B6A;color: #fff">确定</el-button>
        </div>
      </div>
    </el-dialog>
    <div class="zhuti" v-if="onaction == '2'">
      <div style="height:58px;line-height:58px;">
        <div style="color:#0006"> <span>商家入驻审核</span> <span style="padding:0 5px;">></span> <span
            style="color:#000000e6">审核</span></div>
      </div>
      <div>
        <merchantInformation :issp="'2'" :info="detailsinfo" @removeonaction="removeonaction"></merchantInformation>
      </div>
      <!-- <div>
        <el-button class="buttonHover"
          style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;margin-top: 20px;"
          @click="removeonaction('1')">返回</el-button>
      </div> -->
    </div>
    <div class="zhuti" v-if="onaction == '3'">
      <div style="height:58px;line-height:58px;">
        <div style="color:#0006"> <span>商家入驻审核</span> <span style="padding:0 5px;">></span> <span
            style="color:#000000e6">查看</span></div>
      </div>
      <div>
        <merchantInformation :info="detailsinfo" @removeonaction="removeonaction"></merchantInformation>
      </div>
      <!-- <div>
        <el-button class="buttonHover"
          style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;margin-top: 20px;"
          @click="removeonaction('1')">返回</el-button>
      </div> -->
    </div>

  </div>
  <!-- </div> -->

</template>

<script>
  import {
    cerePlatformMerchant,cerePlatformMerchantedit
  } from '../../../api/newly.js'
  import {
    cereReminderSet,
    cereReminderSetedit
  } from '../../../api/commodityLease.js'
  // import add from './add'
  import merchantInformation from '../../../components/merchantInformation/index.vue'
  import wangEditor from "@/components/editor/index"
  export default {
    data() {
      return {
        checkState: '2',
        zhong: {

        },
        yujingSet: false,
        detailsinfo: {},
        pagequery: {
          pageNumber: 0,
          pageSize: 10,
          // checkState:'1',
          name: '',
                    idCardNumber:'',
          phone:''

        },
        tableData: [],
        total: 0,
        onaction: '1',
        info: {}
      }
    },
    components: {
      merchantInformation,
      wangEditor
    },
    created() {
      this.getAll()

    },
    methods: {
      calculateDaysUntilExpiration(endDateString) {
            const endDate = new Date(endDateString);
            const today = new Date();
            const timeDifference = endDate - today;
            const daysDifference = Math.ceil(timeDifference / (1000 * 60 * 60 * 24));
            return daysDifference >= 0 ? daysDifference : '已过期';
        },
      yuclose() {
        this.yujingSet = false
      },
      yuChenk() {
        console.error(this.detailsinfo)
        cerePlatformMerchantedit({...this.detailsinfo,checkState:this.checkState}).then(res => {
          console.error(res)
          if (res.code == 200) {
            this.$message({
              message: '处理成功',
              type: 'success'
            })
            this.checkState = '2'
            this.onSubmit()
            this.yujingSet = false
          } else {
            this.$message({
              message: '处理失败',
              type: 'error'
            })
          }
        })
        
      },
      openyujingSet(row) {
         this.detailsinfo = row
        this.onaction = '2'
        return
        // cereReminderSet({
        //   reminderType: '1'
        // }).then(res => {
        //   console.error(res)
        //   this.zhong = res.data
        // })
        this.detailsinfo = JSON.parse(JSON.stringify(row))
        this.yujingSet = true
      },
      details(row) {
        this.detailsinfo = row
        this.onaction = '3'
      },
      biangeng(row) {
        alert(`合同变更 - 店铺ID: ${row.id}`);
      },
      xuyue(row) {
        alert(`合同续约 - 店铺ID: ${row.id}`);
      },
      zhongzhi(row) {
        alert(`合同终止 - 店铺ID: ${row.id}`);
      },
      async getAll() {
        const res = await cerePlatformMerchant(this.pagequery)
        this.tableData = res.data.content
        this.total = res.data.totalElements
      },
      removeonaction(e) {
        console.error(e)
        this.onaction = e
        this.onSubmit()
      },
      handleCurrentChange(val) {
        this.pagequery.pageNumber = val - 1
        this.getAll()
      },
      handleSizeChange(val) {
        this.pagequery.pageSize = val
      },
      // 查询按钮
      async onSubmit() {
        this.pagequery.pageNumber = 0
        this.getAll()
      },
      //重置按钮
      resetting() {
        this.pagequery = {
            pageNumber: 0,
            pageSize: 10,
            checkState:'1',
            name: '',
                      idCardNumber:'',
          phone:''
          },
          this.getAll()
      },
    }

  }
</script>

<style scoped>
  .zhuti {
    padding: 0 20px 20px 20px;
    min-height: calc(100vh - 50px - 20px);
    background-color: #Fff;

  }
  .chengeXia {
    border-bottom: 6px solid #3F9B6A;
    padding-bottom: 4px;
    color: #3F9B6A;
  }


  .formSearch {
    display: flex;
    width: 100%;
    font-size: 14px;
    justify-content: space-between;
  }
  .greens {
    color: #3F9B6A;
  }
  .bg-purple-dark {
    background: #99a9bf;
  }

  .bg-purple {
    background: #d3dce6;
  }

  .bg-purple-light {
    background: #e5e9f2;
  }
  .grid-content {
    border-radius: 4px;
    min-height: 36px;
  }

</style>
<style lang="scss" scoped>
  ::v-deep .el-dialog__body {
    padding: 0 0 !important;
  }
  .el-dialog__header{
    padding: 0;
    display: none;
  }
</style>