<template>
  <div class="allUserPoerationModal" ref="allUserPoerationModal"></div>
  <a-modal
    class="allUserPoeration_modal generalModel"
    v-model:visible="operationsModal"
    :footer="null"
    :get-container="() => $refs.allUserPoerationModal"
    width="50%"
    height="55rem"
    :maskClosable="false"
    :centered="true"
    :closable="false"
    :mask="true"
    wrapClassName="#app"
    :keyboard="false"
  >
    <div class="generalModel_btn">
      <div class="generalModel_closeIcon" @click.stop="cancelDsign">
        <svg
          width="100%" height="100%"
          viewBox="0 0 46 46"
          fill="none"
          xmlns="http://www.w3.org/2000/svg"
        >
          <circle cx="23" cy="23" r="23" fill="black" fill-opacity="0.3" />
          <rect
            x="32.5063"
            y="12"
            width="3"
            height="29"
            rx="1.5"
            transform="rotate(45 32.5063 12)"
            fill="white"
          />
          <rect
            x="34.6274"
            y="32.5059"
            width="3"
            height="29"
            rx="1.5"
            transform="rotate(135 34.6274 32.5059)"
            fill="white"
          />
        </svg>
      </div>
    </div>
    <div class="modal_title_text">
      <div>{{ title }} </div>
    </div>
    <div class="allUserPoeration_center admin_page">
      <div class="admin_state_item">
        <span>Id: <span>*</span></span>
		<!-- input不可编辑 -->

        <input
          v-model="id"
          placeholder="Please enter user Id"
		  disabled
          type="text"
          style="width: 250px"
        />
      </div>
      <div class="admin_state_item">
        <span>Amount: </span>
        <input
          v-model="amount"
          placeholder="Please enter email"
          type="text"
          style="width: 250px"
        />
      </div>
	  <div class="admin_state_item">
        <span>Status: </span>
		<a-select
			v-model:value="selectStatus"
			size="large"
			style="width: 230px"
			optionFilterProp="label"
			:options="stateList"
			placeholder="Please select"
			allowClear
			show-search
		></a-select>
	</div>
    </div>
    <div class="allUserPoeration_btn admin_page">
      <div class="admin_search_item" @click="cancelDsign">Close</div>
      <div class="admin_search_item" @click="setOk">OK</div>
    </div>
  </a-modal>
  <div class="mark_loading" v-show="loadingShow">
    <a-spin size="large" />
  </div>
</template>
<script>
import {
  defineComponent,
  ref,
  reactive,
  watch,
  onMounted,
  nextTick,
  toRefs,
} from "vue";
import { Https } from "@/tool/https";
import { Modal, message } from "ant-design-vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
import md5 from "md5";
export default defineComponent({
  components: {},
  emits: ["searchHistoryList"],
  props:{
	stateList:{
		type:Array,
		default:()=>[],
	},
  },
  setup(props, { emit }) {
    let operations = reactive({
      operationsModal: false,
      operationsEdit: false,
      loadingShow: false,
      title: "",
    });
    let operationsData = reactive({
      id: "",
      amount: "",
	  selectStatus:'',
    });
    let init = (funStr, data) => {
      operations.operationsModal = true;
      operations.operationsEdit = true;
      operations.title = funStr;
      if (funStr == "Add") operations.operationsEdit = false;
      if (funStr == "Edit") {
        operationsData.id = data.id;
        operationsData.amount = data.amount;
		operationsData.selectStatus = data.status;
      }
    };
   
    let setAddData = () => {
      return {
        amount: operationsData.amount,
        id: operationsData.id,
      };
    };
    let setEditData = () => {
      return {
        id: operationsData.id,
        amount: operationsData.amount,
		status: operationsData.selectStatus,
      };
    };
    let cancelDsign = () => {
      operationsData.id = "";
      operationsData.amount = "";
	  operationsData.selectStatus = "",
      operations.operationsModal = false;
    };
    let setOk = () => {
      let data;
	  data = setEditData();
	   if (
          !data.id
        )
          return message.warning("Please check the input box marked with *");
        Https.axiosPost(Https.httpUrls.editReferral, data).then(
          (rv) => {
            if (rv) {
              cancelDsign();
              emit("searchHistoryList");
            }
          }
        );
    };
    return {
      ...toRefs(operations),
      ...toRefs(operationsData),
      cancelDsign,
      init,
      setOk,
    };
  },
  data() {
    return {};
  },
  mounted() {},
  methods: {},
});
</script>
<style lang="less" scoped>
:deep(.allUserPoeration_modal) {
  .ant-modal-body {
    display: flex;
    flex-direction: column;
  }
}
</style>
<style lang="less" scoped>
.allUserPoeration_modal {
  .closeIcon {
    z-index: 2;
  }
  .allUserPoeration_btn {
    display: flex;
    flex-direction: row;
    height: auto;
    justify-content: flex-end;
    padding: 1rem 0;
    .admin_search_item {
      margin-bottom: 0;
    }
  }
  .allUserPoeration_center {
    flex: 1;
    overflow-y: auto;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
</style>
