index_20220718162308.vue 2.35 KB
<template>
  <a-form :label-col="{ span: 4 }" :wrapper-col="{ span: 14 }">
    <a-form-item label="支付域名配置" v-bind="validateInfos.alName">
      <a-input v-model:value="modelRef.alName" />
    </a-form-item>
    <a-form-item :wrapper-col="{ span: 14, offset: 4 }">
      <a-button type="primary" @click.prevent="onSubmit">提交</a-button>
    </a-form-item>
  </a-form>
</template>
<script lang="ts" setup>
import { defineExpose, reactive, toRaw, onMounted, ref } from "vue";
import { Form, message } from "ant-design-vue";
import { onCreaterealmName, onSearchSelectrealmName, onUpdaterealmName } from "@/api/index";
import { getUid } from "@/utils/userInfo";
const useForm = Form.useForm;
const uid = ref<Boolean>(false)
const id = ref<any>('0')
const modelRef = reactive({
  alName: "",
});
const { resetFields, validate, validateInfos } = useForm(
  modelRef,
  reactive({
    alName: [
      {
        required: true,
        message: "请输入支付宝域名配置",
      },
    ],
  })
);
const onSubmit = () => {
  validate()
    .then(async (res) => {
      const params: Object = {
        id: id.value,
        remarks: '',
        uid: getUid(),
        url: toRaw(modelRef).alName
      }

      if (uid) {
        const data: any = await onUpdaterealmName(JSON.stringify(params))
        if (data.state === 1) {
          message.success('更新成功');
          onSreach(1)
        }
      } else {
        const data: any = await onCreaterealmName(JSON.stringify(params))
        if (data.state === 1) {
          message.success('创建成功');
          onSreach(1)
        }
      }


    })
    .catch((err) => {
      console.log("error", err);
    });
};
const onSreach = async (uid: any) => {
  const data = await onSearchSelectrealmName(uid)
  modelRef.alName = data.data[0].url
  if (!data.data[0].userid) {
    uid.value = true
  }
  id.value = data.data[0].id
}
onMounted(async () => {
  const uid = getUid()
  await onSreach(uid)
})

defineExpose({
  validateInfos,
  modelRef,
  onSubmit,
  onSreach,
  uid,
  id
});

</script>
<style>
.dynamic-delete-button {
  cursor: pointer;
  position: relative;
  top: 4px;
  font-size: 24px;
  color: #999;
  transition: all 0.3s;
}

.dynamic-delete-button:hover {
  color: #777;
}

.dynamic-delete-button[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}
</style>
<style scoped lang="less">
.addform {}
</style>