<template>
  <div style="height: 80vh;overflow-y: auto;">
    <MOSTY.PageTree :searchType="'03'" :isShowLeftTree="false">

      <template #table>
        <section :style="{ 'height': totalHeight }">
          <MOSTY.Table :table-columns="tableColumns" :tableData="tableData" :tableloading="tableloading"
            :isSelect="false" :isSort="false" :tableHeight="'100%'" @SortChange="SortChange" :actionsW="200">
            <template #ctype="{ row }">
              <dict-tag v-if="row.ctype" :options="D_BZ_YSFYLB" :value="row.ctype" :tag="false" />
              <span v-else>无</span>
            </template>
            <template #cwkm="{ row }">
              <dict-tag v-if="row.cwkm" :options="D_TB_YSCWKU" :value="row.cwkm" :tag="false" />
              <span v-else>无</span>
            </template>
            <template #costFee="{ row }">
              {{ row.costFee || 0 }}
            </template>
            <template #state="{ row }">
              <dict-tag v-if="row.state" :options="stateOpt" :value="row.state" :tag="true" />
              <span v-else>无</span>
            </template>
            <template #actions="{ row }">
              <span v-if="['10', '20', '30'].includes(row.orglevel)" class="operesee" @click="seeStatic(row)"><el-icon>
                  <Compass />
                </el-icon>统计查看</span>
              <span v-else class="operesee" @click="seeDetail(row)"><el-icon>
                  <Compass />
                </el-icon>查看明细</span>
            </template>
          </MOSTY.Table>
        </section>

      </template>
      <div slot="footer">
        <el-button type="primary">返回</el-button>
      </div>
    </MOSTY.PageTree>
    <el-dialog :title="dialogTitle" v-model="isShowDetailDialog" width="90vw">
      <AuditTable v-if="isShowDetailDialog" :years="listQuery.years" :type="dialogType" :row="currRow" :title="dialogTitle"
        @close="detailClose" />
    </el-dialog>

  </div>
</template>

<script setup>
// 引入
import { reactive, onMounted, ref, getCurrentInstance, nextTick, watch, computed, defineProps } from 'vue'
import { ElMessage } from "element-plus";
import * as MOSTY from "@/components/MyComponents/index";
import { getApi, deleteApi, putApi, postApi } from "@/api/tobAcco_api.js";
import { exportXlsx, downloadImg } from "@/excel/Export2Excel.js";
import { getItem } from "@/utils/storage";
import { filterYear, filterqx } from "@/utils/auth.js";
import { numAdd } from "@/utils/tools.js";
import AuditTable from "../AuditTable.vue";
import {
  getDept
} from "@/api/user-manage";
const { proxy } = getCurrentInstance();
const { D_BZ_YSFYLB, D_TB_YSCWKU } = proxy.$dict("D_BZ_YSFYLB", "D_TB_YSCWKU");
const props = defineProps(['years', 'row'])



const sybmlist = ref([])
const addplanShow = ref(false);
const addysShow = ref(false);
/** 当前层级 1省 2市 3县 */
const currLev = ref(3) // 1 省 2 市 3 县
/** 是否显示 审核弹框 */
const isShowAuditDialog = ref(false)
const isShowDetailDialog = ref(false)
const isShowTimeLine = ref(false)
const isShowSubmitAllAudit = ref(false)
/** 当前时间是否是上半年 */
const isHalfYear = ref(new Date().getMonth() < 6);
/** 是否是县公司 */
const isxgs = ref(filterqx('isxgs') == '1')
/**市公司 */
const isgs = ref(filterqx('isgs') == '1')
/**省公司 */
const isSgs = ref(filterqx('isSgs') == '1')
/** 当前查看或审核行 */
const currRow = ref({})
const dialogType = ref('') // see 查看  edit 编辑
const dialogTitle = ref('')

const listQueryObj = ref({
  lev1Data: {},
  lev2Data: {},
  lev3Data: {},
})
const tableColumnsFilter = computed(() => {
  let arr = []
  if (listQuery.cwkm) {
    arr = tableColumns.filter((item) => {
      return item.prop !== 'cwkm'
    })
  } else {
    arr = tableColumns.filter((item) => {
      return item.prop !== 'ctype'
    })
  }
  return arr
})
const stateOpt = [
{ label: '未上报', value: '0', elTagType: 'ysshpf-oper-red' },
  { label: '部门已上报', value: '1' },
  { label: '县安全部门负责人审批', value: '2' },
  { label: '市安全部门负责人汇总', value: '3' },
  { label: '市安全部门负责人审核', value: '4' },
  { label: '省安全部门负责人审核', value: '5' },
  { label: '审批通过', value: '6' },
];
const countlist = reactive([
  { title: '总预算', num: 0.0000 + '万元', dm: 'budgetmoney', icon: 'ccss/icon_02.png' },
  { title: '总使用', num: 0.0000 + '万元', dm: 'totalcost', icon: 'ccss/icon_03.png' },
  { title: '总剩余', num: 0.0000 + '万元', dm: 'symoney', icon: 'ccss/icon_04.png' }
])
const loadingShow = ref(false);
const tableloading = ref(false)
const USERID = getItem("USERID")
const ssdept = getItem("deptId")
const title = ref('');//弹窗标题
const type = ref('01');//控制弹窗参数(01:年初预算调整审核新增)
const rowid = ref(null)
const listQuery = reactive({
  pageCurrent: 1,
  pageSize: 20,
  years: new Date().getFullYear().toString(),
  orgid: null,
  ctype: null
});
const isOpen = ref(false);
const tableData = ref([])

const pageConfiger = reactive({
  pageSize: 20,
  pageCurrent: 1,
  total: 0
})
const tableColumns = reactive([
  {
    title: '部门',
    prop: 'orgname',
    width: '200',
    fixed: 'left',
  },
  // {
  //   title: "使用金额(万元)",
  //   prop: "costFee",
  //   width: '200',
  //   slot: true
  // },

  {
    title: "年初预算调整金额(万元)",
    prop: "budgetmoney",
    // width: '200',
  },

  {
    title: "年初批复",
    prop: "budget",
    // width: '200',
  },
  {
    title: "中期调整增减数",
    prop: "tzzj",
    // width: '200',
  },
  {
    title: "中期归口审核增减数",
    prop: "gkshzj",
    // width: '200',
  },

  {
    title: "状态",
    prop: "state",
    width: '180',
    fixed: 'right',
    slot: true
  },
  {
    title: "操作",
    prop: "actions",
    fixed: 'right',
    slot: true
  }
])

const deptid = ref(null)
const orgids = ref(null)
const totalHeight = ref(null)
const getHeight = ref(null)
watch(() => isOpen.value, (val) => {
  nextTick(() => {
    // if (val) {
    //   totalHeight.value = `calc(90vh - ${379 + getHeight.value.offsetHeight}px)`
    //   return
    // }
    totalHeight.value = `calc(80vh - 20px)`
  })
}, {
  deep: true,
  immediate: true
})
const auditDialogClose = () => {
  isShowAuditDialog.value = false
  getDataList()
}
const detailClose = () => {
  isShowDetailDialog.value = false
  getDataList()
}
onMounted(() => {
  nextTick(() => {
    // totalHeight.value = `calc(100vh - ${379 + getHeight.value.offsetHeight}px)`
  })
  currLev.value = ssdept.ssdwjb;
  if (isSgs.value) currLev.value = 1;
  if (isgs.value) currLev.value = 2;
  if (isxgs.value) currLev.value = 3;
  getDataList()
  // setAuditBtn()
  // getTotaldata()
})
//获取年初查询年初统计
function getTotaldata() {
  getApi(listQuery, "/mosty-jcgl/budgets/getNcBudgetsSum").then((res) => {
    countlist[0].num = res.budget ? `${Number(res.budget).toFixed(4)}万元` : `${0.0000}万元`;
    countlist[1].num = res.totalcost ? `${Number(res.totalcost).toFixed(4)}万元` : `${0.0000}万元`;
    countlist[2].num = res.budget != 0 ? `${numAdd("reduce", 4, res.budget, res.totalcost)}万元` : `${0.0000}万元`;
  });
}
//刷新
function resetTable(val) {
  listQuery.pageSize = 20
  listQuery.pageCurrent = 1
  // listQuery.orgid = orgids.value;
  // listQuery.ctype = ''
  deptid.value = ''
  listQuery.years = new Date().getFullYear().toString()
  getDataList();
  // getTotaldata()
  // setAuditBtn()
}

//查询
function onSearch(obj) {
  listQuery.pageCurrent = 1
  // listQuery.ctype = obj.ctype;
  listQuery.years = obj.years;
  // listQuery.cwkm = obj.cwkm;
  getDataList();
  // getTotaldata()
}
//ALL_查询安全投入列表
function getDataList() {
  tableloading.value = true
  // const deptid = props.row?.orgid && props.row?.orgid.replace('XN','');
  const params = {
    // pageCurrent: listQuery.value.pageCurrent,
    // pageSize: listQuery.value.pageSize,
    // deptid: deptid,
    years: props.years,
    orgid: props.row?.orgid,
  }
  getApi(params, '/mosty-jcgl/ys/getList').then((res) => {
    if (res) {
      tableloading.value = false;
      tableData.value = Array.isArray(res) ? res : [];
      tableData.value.forEach(async (item) => {
        item.budget = item.budget ? item.budget : 0;
        item.budgetmoney = item.budgetmoney ? item.budgetmoney : 0;
        item.tzzj = item.tzzj ? item.tzzj : 0;
        item.gkshzj = item.gkshzj ? item.gkshzj : 0;
        // item.state = item.state? item.state : 0;
        //   item.pfjeall = numAdd("add", 4, item.budget, item.gkshzj, item.yeargkshzj)
        //   item.symoney = numAdd("reduce", 4, item.pfjeall, item.costFee);
      })
      // pageConfiger.total = res.total;
    }
  }).catch((err) => {
    tableData.value = []
    tableloading.value = false;
  }).finally(() => {
    tableloading.value = false;
  })
}



//分页
const handleSizeChange = (currentSize) => {
  listQuery.pageSize = currentSize;
  pageConfiger.pageSize = currentSize;
  getDataList();
};
const handleCurrentChange = (currentPage) => {
  listQuery.pageCurrent = currentPage;
  pageConfiger.pageCurrent = currentPage;
  getDataList();
};


const seeStatic = (row) => {
  currRow.value = row
  dialogType.value = 'see'
  isShowAuditDialog.value = true
  dialogTitle.value = `${row.orgname}-查看详情`
}
const seeDetail = (row) => {
  currRow.value = row
  dialogType.value = 'see'
  isShowDetailDialog.value = true
  dialogTitle.value = `${row.orgname}-查看详情`
}

</script>

<style lang="scss" scoped>
::v-deep .bigBox {
  height: initial;
}

::v-deep .bigBox .zy-right {
  margin-left: 0;
}

.btnBox {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.toggle {
  height: 40px;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: #0f3916;

  .el-icon {
    transform: rotate(90deg);
    transition: all 0.25s ease;
  }

  &.active {
    .el-icon {
      transform: rotate(-90deg);
    }
  }
}
</style>
