<template>
  <el-dialog
    v-model="modelValue"
    title="提交"
    width="500px"
    @close="handleClose"
  >
    <el-form :model="listQuery" ref="formValidate" :rules="rules">
      <el-form-item
        prop="sfGz"
        label="是否关注"
        v-if="props.type == '是否关注'"
      >
        <MOSTY.Select
          filterable
          v-model="listQuery.sfGz"
          :dictEnum="props.dic.D_BZ_SF"
          width="100%"
          clearable
          placeholder="请选择是否布控"
        />
      </el-form-item>
      <el-form-item
        prop="sfZzdry"
        label="是否移交管控"
        v-if="props.type == '移交管控'"
      >
        <MOSTY.Select
          filterable
          v-model="listQuery.sfZzdry"
          :dictEnum="props.dic.D_BZ_SF"
          width="100%"
          clearable
          placeholder="请选择是否布控"
        />
      </el-form-item>

      <el-form-item
        label="审核部门"
        prop="shSsbmdm"
        style="width: 100%"
        v-if="props.type == '是否重点人'"
      >
        <MOSTY.Department
          style="width: 100%"
          clearable
          v-model="listQuery.shSsbmdm"
          @getDepValue="changeSh"
          placeholder="请选择部门"
        />
      </el-form-item>
      <el-form-item
        label="审批部门"
        prop="spSsbmdm"
        style="width: 100%"
        v-if="props.type == '是否重点人'"
      >
        <MOSTY.Department
          style="width: 100%"
          clearable
          @getDepValue="changeSp"
          v-model="listQuery.spSsbmdm"
          placeholder="请选择部门"
        />
      </el-form-item>
    </el-form>
    <template #footer>
      <div class="tc">
        <el-button @click="handleClose">取消</el-button>
        <el-button type="primary" @click="submitForm">确定</el-button>
      </div>
    </template>
  </el-dialog>
</template>

<script setup>
import { ElMessage } from "element-plus";
import { qcckPost } from "@/api/qcckApi.js";
import * as MOSTY from "@/components/MyComponents/index";
import { ref, defineProps, defineEmits, reactive } from "vue";
const props = defineProps({
  modelValue: {
    type: Boolean,
    default: false
  },
  ids: {
    type: Array,
    default: []
  },
  chooseList: {
    type: Array,
    default: []
  },
  type: {
    type: String,
    default: ""
  },
  dic: {
    type: Object,
    default: ""
  }
});
const emits = defineEmits(["update:modelValue"]);
const formValidate = ref();
const rules = reactive({
  sfGz: [{ required: true, message: "请选择是否关注", trigger: "change" }],
  sfZzdry: [
    { required: true, message: "请选择是否移交管控", trigger: "change" }
  ],
  shSsbmdm: [{ required: true, message: "请选择审核部门", trigger: "change" }],
  spSsbmdm: [{ required: true, message: "请选择审批部门", trigger: "change" }]
});
const listQuery = ref({});

const submitForm = () => {
  formValidate.value.validate((valid) => {
    if (!valid) return false;
    let params = { ids: props.ids, ...listQuery.value };
    let url = "";
    if (props.type == "是否关注") url = "/mosty-gsxt/tbGsxtRqfjRy/updateBySfgz";
    if (props.type == "移交管控") url = "/mosty-gsxt/tbGsxtRqfjRy/updateByYjgk";
    if (props.type == "是否重点人") {
      url = "/mosty-gsxt/tbGsxtRqfjRy/sendZdrSs";
      params.ids = props.chooseList.map((v) => v.id);
    }
    qcckPost(params, url).then((res) => {
      ElMessage.success("成功");
      emits("update:modelValue", false);
      emits("change");
    });
  });
};

const changeSh = (val) => {
  listQuery.value.shSsbmmc = val ? val.orgName : "";
};
const changeSp = (val) => {
  listQuery.value.spSsbmmc = val ? val.orgName : "";
};
const handleClose = () => {
  emits("update:modelValue", false);
  formValidate.value.resetFields();
};
</script>

<style lang="scss" scoped>
</style>