<script lang="ts">
// 声明额外的选项
export default {
  name: "Edit"
};
</script>
<script setup lang="ts">
import { inject, ref } from "vue";
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
import { ElMessage, ElMessageBox } from "element-plus";
import Upload from "@iconify-icons/ri/upload-2-fill"
import Close from "@iconify-icons/ri/close-fill"
import { http } from "@/utils/http";
// 获取URLLIST
import { getGroupUrl } from "@/utils/getUrl/getUrl";

const props = defineProps<{
  editVisible: {
    type: Boolean;
    default: false;
  };
  width: {
    type: Number;
    default: 50;
  };
  formData: {
    type: Object;
    default: {};
  };
}>();
// 表单数据
let UpdateForm: any = ref({
  id: "", //编号
  dictType: "", //字典类型
  description: "", //描述
  remarks: "", //备注信息

});

// 选项卡参数(默认值为列表某项的id)
const activeId = ref('1')
// 提交函数
const submit = async () => {
  const UrlList = await getGroupUrl(['kxsConfigServer']);
  const { status, msg }: any = await http.Request({ method: UrlList.kxsConfigServer.sysDictupdate.method, url: UrlList.kxsConfigServer.sysDictupdate.url, params: UpdateForm.value});
  if (status === 1) {
    ElMessage({
      message: "修改成功",
      type: "success"
    });
    UpdateForm.value = {
      id: "", //编号
      dictType: "", //字典类型
      description: "", //描述
      remarks: "", //备注信息

    };
    closeVisible();
  } else {
    ElMessageBox.alert(msg, "提示", {
      confirmButtonText: "关闭",
      type: "warning"
    });
  };
};
// 关闭弹窗回调函数
const closeFn: any = inject('closeEditUpdateVisible');
const openVisible = async () => {
  //通过ID获取表格数据
  const UrlList = await getGroupUrl(['kxsConfigServer']);
  const { status, data }: any = await http.Request({method: UrlList.kxsConfigServer.sysDictquery.method, url: UrlList.kxsConfigServer.sysDictquery.url, params: props.formData});
  if (status === 1) {
    UpdateForm.value = data;
  }
};
// 关闭弹窗回调函数
const closeVisible = () => {
  UpdateForm.value = {
    groupName: "", //名称
    groupRemark: "", //说明
    groupVersion: "", //版本号

  };
  closeFn();
};
</script>

<template lang="pug">
.main
  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
    el-form(:model='UpdateForm' label-position="right" label-width="100px")
      el-form-item(label='编号' prop="id")
        el-input(v-model='UpdateForm.id' autocomplete='off' class="!w-[230px]"
          placeholder="请输入编号")
      el-form-item(label='字典类型' prop="dictType")
        el-input(v-model='UpdateForm.dictType' autocomplete='off' class="!w-[230px]"
          placeholder="请输入字典类型")
      el-form-item(label='描述' prop="description")
        el-input(v-model='UpdateForm.description' autocomplete='off' class="!w-[230px]"
          placeholder="请输入描述")
      el-form-item(label='备注信息' prop="remarks")
        el-input(v-model='UpdateForm.remarks' autocomplete='off' class="!w-[230px]"
          placeholder="请输入备注信息")

    el-button(
      :icon="useRenderIcon(Close)",
      :loading="loading",
      @click="closeVisible()"
    ) 关闭
    el-button(
      type="primary",
      :icon="useRenderIcon(Upload)",
      :loading="loading",
      @click="submit"
    ) 确认提交
</template>

<style scoped lang="scss">
:deep(.el-dropdown-menu__item i) {
  margin: 0;
}

:deep(.el-form-item__label) {
  font-weight: 700;
}

:deep(.el-pagination) {
  flex-flow: wrap;
}

:deep(.is-draggable) {
  max-height: 80vh;
  overflow: auto;
}

:deep(.el-dialog__header) {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}

.collapsedom {
  padding: 0 20px;
  background-color: #fff;
}

.ovh-x {
  height: 40vh;
  overflow-y: auto;
}

:deep(.el-descriptions__header) {
  margin: 16px 0 !important;
}
</style>
