Ben Lin
2024-10-22 969725647117eb7ca148b2e8cfa9ec8b5eb432fa
src/views/tigerprojects/system/lowcode/composition/CarGridNav.vue
@@ -4,7 +4,7 @@
 * @version: 
 * @Date: 2024-06-20 12:13:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-22 03:45:38
 * @LastEditTime: 2024-10-16 00:34:34
-->
<template>
  <Card :title="GetTitle(props.configType)['navTitle']">
@@ -12,15 +12,29 @@
      v-for="item in GetNavItems(props.configType)"
      :key="item.title"
      @click="
        navChangeItem(item.action, useModalData[item.action][1].openModal, openRvModal, selectedNodes)
        navChangeItem(
          item.action,
          !item.isCustEl ? useModalData[item.action][1].openModal : null,
          openRvModal,
          selectedNodes,
          keyCode,
        )
      "
    >
      <span class="flex flex-col items-center">
      <Form class="properties-body" label-align="left" layout="vertical" v-if="item.isCustEl">
        <FormItem label="是否默认" name="是否默认">
          <Switch
            v-model:checked="selectedNodes[0]['isDefault']"
            @change="(e) => switchChange(e, selectedNodes[0])"
          />
        </FormItem>
      </Form>
      <span v-if="!item.isCustEl" class="flex flex-col items-center">
        <Icon :icon="item.icon" :color="item.color" size="20" />
        <span class="text-md mt-2 truncate">{{ item.title }}</span>
      </span>
      <GeneralModal
        v-if="!item.isStep"
        v-if="!item.isStep && !item.isCustEl"
        @register="useModalData[item.action][0]"
        @success="(d, u) => handleSuccess(d, u, item.action, objParams, refreshPage)"
      ></GeneralModal>
@@ -44,7 +58,7 @@
  <RouteViewModal @register="registerRv" @success="RvItemSuccess" />
</template>
<script lang="ts" setup>
  import { Card, CardGrid } from 'ant-design-vue';
  import { Card, CardGrid, Switch, Form, FormItem } from 'ant-design-vue';
  import Icon from '@/components/Icon/Icon.vue';
  import GeneralModal from '/@/views/components/GeneralModal.vue';
  import RouteViewModal from '/@/views/components/RouteViewModal.vue';
@@ -54,7 +68,9 @@
  import { useTabs } from '/@/hooks/web/useTabs';
  import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel';
  import { useModal } from '/@/components/Modal';
import { CustModalParams } from '/@/api/tigerapi/model/systemModel';
  import { CustModalParams } from '/@/api/tigerapi/model/systemModel';
  import { useProdRouteStore } from '/@/store/modules/prodRoute';
  import { useUserStore } from '/@/store/modules/user';
  const ACard = Card;
  const objParams = inject('objParams') as Ref<any>;
@@ -63,6 +79,8 @@
    configType: { type: String },
    nodes: { type: Array as PropType<any[]> },
  });
  const keyCode = ref(objParams.value['CODE']);
  const useProdRoute = useProdRouteStore();
  const custImport = ref<any[]>([]);
  const EntityCustFunction = ref([
    {
@@ -144,4 +162,25 @@
  }
  function RvItemSuccess(d, u) {}
  /**
   * @description: 开关改变事件
   * @param {*} d
   * @return {*}
   */
  function switchChange(e, d) {
    const p = useProdRoute.getParent(d.tid);
    if (p.code == `DefaultRoute_${useUserStore().getUserInfo.orgCode as string}_${keyCode.value}`) {
      CustFunc({
        ctype: 'isDefault',
        others: { ...d, ...{ isDefault: e } },
        keyCode: keyCode.value,
      }).then((res) => {
        if (res.IsSuccessed) {
          if (e) {
          }
        }
      });
    }
  }
</script>