//客户管理
<template>
  <div>
    <BaseHeaderLayout :leftSpan="8">
      <template slot="left"> </template>
      <template slot="left">
        <ws-input
          v-model="searchKeyWord"
          placeholder="可按客户名称、电话查找"
          clearable
          maxlength="500"
          type="input"
          class="findValue"
        ></ws-input>
        <ws-button class="find" type="primary" @click="find()"
          ><img
            width="16"
            height="16"
            style="
              vertical-align: text-top;
              position: relative;
              top: 0px;
              left: -2px;
            "
            src="../../../public/img/sousuo.png"
            alt=""
        /></ws-button>

        <!--添加客户-->
        <ws-button v-hasPermission=" `customerMoneyManagement.customerMoney.audit`" type="primary" @click="customerAdd()"
          ><img
            width="13"
            height="13"
            style="
              vertical-align: text-top;
              position: relative;
              top: 2px;
              left: -4px;
            "
            src="../../../public/img/header-add.png"
            alt=""
          />创建客户</ws-button
        >
      </template>
      <!-- v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`" -->
    </BaseHeaderLayout>
    <div>
      <el-table
        class="wenzi"
        :data="customerList.records"
        style="width: 100%"
        height="680"
      >
        <el-table-column prop="index" label="序号" width="80">
          <template scope="scope">
            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
            <span v-else>{{ scope.$index + 1 }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="customerType" label="客户类型" width="80"></el-table-column>
        <el-table-column prop="compName" label="企业名称" width="200"></el-table-column>
        <el-table-column prop="customerName" label="客户姓名" width="120"></el-table-column>
        <el-table-column prop="customerPhone" label="电话" width="100"> </el-table-column>
        <el-table-column prop="totalDeposit" label="定金(元)" width="110"></el-table-column>
        <el-table-column prop="advancePayment" label="预付金(元)" width="110"></el-table-column>
        <el-table-column prop="securityDeposit" label="保证金(元)" width="110"></el-table-column>
        <el-table-column prop="bankCard" label="账号" width="200"> </el-table-column>
        <el-table-column prop="bankDeposit" label="开户行" width="280">
          <template slot-scope="scope">
            {{ scope.row.bankDeposit }} - {{ scope.row.bankDepositBranch }}
          </template>
        </el-table-column>
        <!-- <el-table-column prop="bankDepositBranch" label="开户支行" width="260">
         <template slot-scope="scope">
            {{ scope.row.bankDeposit }} - {{ scope.row.bankDepositBranch }}
          </template> 
        </el-table-column> -->
        <el-table-column prop="payeeName" label="收款人姓名" width="150"> </el-table-column>
        <el-table-column prop="seller" label="操作" width="150">
          <template slot-scope="scope">
            <el-button
              size="medium"
              type="text"
              class="record"
               v-hasPermission=" `customerMoneyManagement.customerMoney.edit`"
              @click="customerEdit(scope.row)"
              >编辑</el-button
            >
            <el-button
              size="medium"
              type="text"
              class="record"
               v-hasPermission=" `customerMoneyManagement.customerMoney.delete`"
              @click="customerDel(scope.row)"
              >删除</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-size="deptCircularPage.pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="deptBudgetTotal"
      >
      </el-pagination>
    </div>
  </div>
</template>
<script>
import {
  getCustomerList,
  delCustomerInfo,
} from '@/model/customerFundManagement/index'
import Pagination from '@/components/Pagination'
import WsUpload from '@/components/WsUpload'

export default {
  name: 'viewSpareMoney',
  components: {
    WsUpload,
    Pagination,
  },
  watch: {
    vesselId(val) {
      this.getList()
    },
    isShow(val) {
      this.showType = val
    },
  },
  data() {
    return {
      //弹出框
      dialogViewSpareMoney: false,
      dialogApproveFormVisible: false,
      // 船舶类型
      monetaryKey: null,
      // 表格显示数据
      tableDate: [],
      // 是否显示
      showType: true,
      // 年
      year: '',
      currentPage: 1,
      pageSize: 10,
      deptBudgetTotal: 0,
      searchKeyWord: '',
      contractType: 2,
      searchType: 1,
      // 提交类型
      submitType: true,
      size: 10,
      spanArr: [],
      id: '',
      money: '',
      compId: sessionStorage.getItem('ws-pf_compId'),
      deptCircularPage: {},
      customerList: [],
      deptBudgetList: {},
      pickerBeginDateBefore: {
        disabledDate: (time) => {
          return time.getTime() > Date.now()
        },
      },
      accessoryTFs: false,
      customerInfo: {
        id: '',
        compId: '',
        flag: '',
        money: '',
        totalDeposit: 0,
      },
      totalDeposit: 0,
    }
  },
  activated() {
    this.getList()
    this.showType = this.isShow
  },
  methods: {
    //查看//传参
    nocomplete(row) {
      this.$router.push({
        name: 'vehicleDispatchingview',
        query: {
          id: row.id,
        },
      })
    },
    dateFormat(fmt, date) {
      let ret
      const opt = {
        'Y+': date.getFullYear().toString(), // 年
        'm+': (date.getMonth() + 1).toString(), // 月
        'd+': date.getDate().toString(), // 日
        'H+': date.getHours().toString(), // 时
        // "M+": date.getMinutes().toString(),         // 分
        // "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加，必须转化成字符串
      }
      for (let k in opt) {
        ret = new RegExp('(' + k + ')').exec(fmt)
        if (ret) {
          fmt = fmt.replace(
            ret[1],
            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
          )
        }
      }
      return fmt
    },
    customerAdd() {
      this.$router.push({
        path: 'customerFundAdd',
      })
    },
    customerEdit(row) {
      this.$router.push({
        name: 'customerFundEdit',
        query: {
          id: row.id,
        },
      })
    },
    customerDel(row) {
      this.$confirm(`客户信息删除后不可恢复，是否确定删除？`, {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: 'warning',
      })
        .then(() => {
          delCustomerInfo({
            id: row.id,
          })
            .toPromise()
            .then((response) => {
              this.$notify.success({
                title: '成功',
                message: '删除成功',
              })
              this.getList()
            })
            .catch((response) => {})
        })
        .catch(() => {
          return false
        })
    },
    handleClose() {
      this.accessoryTFs = false
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`)
      this.pageSize = val
      this.getList()
    },
    handleCurrentChange(val) {
      this.currentPage = val
      console.log(`当前页: ${val}`)
      this.getList()
    },
    changestatus(state) {
      this.searchType = state
      this.getList()
    },
    whether(row) {
      row.identification = 'true'
    },
    //列表查询
    getList() {
      getCustomerList({
        compId: sessionStorage.getItem('ws-pf_compId'),
        currentPage: this.currentPage,
        pageSize: this.pageSize,
        searchKeyWord: this.searchKeyWord,
        customerTypeFlag: this.customerTypeFlag,
      })
        .toPromise()
        .then((response) => {
          for (var i = 0; i < response.records.length; i++) {
            response.records[i].identification = 'false'
          }
          this.customerList = response
          this.deptCircularPage.currentPage = response.current
          this.deptCircularPage.pageSize = response.size
          this.deptBudgetTotal = response.total
        })
    },
    find() {
      this.currentPage = 1
      this.getList()
    },
  },
}
</script>
<style lang="scss" scoped>
.connert {
  width: 90%;
  margin: 0 auto;
}
.vertical-text-left {
  width: 62px;
  text-align: right;
}
.el-button--primary {
  background-color: #5878e8;
  border-color: #5878e8;
}
.el-button--primary {
  background-color: #5878e8;
  color: #fff;
}
.el-button--default {
  color: #8890b1;
  border-color: #e8eaf1;
}
/deep/.base_header_layout .grid-content.right .find.el-button--primary {
  width: 30px;
  margin-left: 0;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
/deep/.findValue .el-input__inner {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
//操作按钮
.record,
.adjustment {
  display: inline-block;
  color: #5878e8;
  padding: 0 4px !important;
  position: relative;
  font-size: 14px;
}
.record:after {
  position: absolute;
  content: '';
  display: block;
  top: 5px;
  right: -2px;
  width: 1px;
  height: 12px;
  background: #e9ecf7;
}
//状态样式
.executory,
.inExecution,
.done {
  width: 6px;
  height: 6px;
  display: inline-block;
  border-radius: 50%;
  position: relative;
  top: -1px;
  font-size: 14px;
}
.executory {
  background: #ff9f24;
}
.inExecution {
  background: #5878e8;
}
.done {
  background: #50cad4;
}
.putstorage.el-button--default,
.deliverystorage.el-button--default {
  border-color: #8890b1;
  background-color: #fff;
  color: #8890b1;
}
/deep/.el-table td,
/deep/.el-table th.is-leaf {
  border-right: 1px solid #e9ecf7;
  text-align: center;
}
/deep/.el-table tr td:first-child,
/deep/.el-table tr th.is-leaf:first-child {
  border-left: 1px solid #e9ecf7;
}
.record,
.adjustment {
  display: inline-block;
  color: #5878e8;
  padding: 0 4px !important;
  position: relative;
}
.record:after {
  position: absolute;
  content: '';
  display: block;
  top: 5px;
  right: -2px;
  width: 1px;
  height: 12px;
  background: #e9ecf7;
}
.el-row {
  height: 60px;
}
.base_header_layout .grid-content {
  margin-top: 80px;
}
.el-input--small .el-input__inner {
  margin-left: 20px;
}
.dialog-footer {
  margin-top: 33px;
}
.el-range-editor--small.el-input__inner {
  height: 32px;
  margin: 0 10px;
}
/deep/.el-pagination {
  text-align: center;
  white-space: nowrap;
  padding: 2px 5px;
  color: #303133;
  font-weight: 700;
  margin-bottom: 20px;
}
.el-select {
  width: 30%;
  margin-right: 10px;
}
/deep/.zengjia .el-textarea__inner {
  display: block;
  padding: 13px 9px;
  line-height: 0.5;
  box-sizing: border-box;
  width: 80%;
  font-size: inherit;
  color: #606266;
  background-color: #fff;
  background-image: none;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  margin-left: 180px;
  margin-top: 10px;
}

/deep/.xiugai .el-textarea__inner {
  display: block;
  padding: 13px 17px;
  line-height: 0.5;
  box-sizing: border-box;
  width: 105%;
  font-size: inherit;
  color: #606266;
  background-color: #fff;
  background-image: none;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  margin-left: 95px;
}

/deep/.tuihui .el-textarea__inner {
  display: block;
  padding: 13px 9px;
  line-height: 0.5;
  box-sizing: border-box;
  width: 80%;
  font-size: inherit;
  color: #606266;
  background-color: #fff;
  background-image: none;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  margin-left: 180px;
  margin-top: 10px;
}
/deep/.dingjin {
  width: 98px;
  margin-left: 30px;
  margin-bottom: -37px;
  padding-top: 20px;
}
/deep/.el-textarea__inner {
  display: block;
  padding: 13px 17px;
  line-height: 0.5;
  box-sizing: border-box;
  width: 90%;
  font-size: inherit;
  color: #606266;
  background-color: #fff;
  background-image: none;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  margin-left: 155px;
  margin-top: 10px;
}
/deep/.addprice {
  width: 98px;
  margin-left: 50px;
}
/deep/.returnprice {
  width: 98px;
  margin-left: 50px;
}
/deep/.yuan {
  width: 10px;
  margin-left: 150%;
  margin-top: -32px;
}
/deep/.addpricejine {
  width: 98px;
  margin-left: 50px;
  margin-bottom: -37px;
  padding-top: 20px;
}
/deep/.returnpricejine {
  width: 98px;
  margin-left: 50px;
  margin-bottom: -37px;
  padding-top: 20px;
}
/deep/.typeselect .el-input__inner {
  color: #8890b1;
}
/deep/.yifudingjin {
  margin-left: 135px;
  width: 70px;
  margin-top: -19px;
}
.inputChenge {
  width: 50%;
  display: inline-flex;
}
.inputs {
  margin: 0 auto;
}
/deep/.ketuidingjin {
  margin-left: 135px;
  width: 70px;
  margin-top: -19px;
}
</style>
