liucong преди 4 години
родител
ревизия
627385756d

+ 85 - 126
src/views/information/custom/compoments/addCustom/index.vue

@@ -1,22 +1,13 @@
 <template>
-  <!-- 新增客户资料 -->
-  <a-modal class="add-custom"
-           title="新增客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-    <a-form class="inlineForm" :form="form" @submit="handleSearch">
+    <!-- 新增客户资料 -->
+    <a-modal class="add-custom" title="新增客户资料" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+        <a-form class="inlineForm" :form="form" @submit="handleSearch">
             <a-row :gutter="24">
-                <a-col
-                :span="12"
-                >
-                    <a-form-item label="客户类型" >
+                <a-col :span="12">
+                    <a-form-item label="客户类型">
                         <a-select class="typeSelect" style="width: 200px" placeholder="请选择客户类型">
                             <a-select-option value="1">
                                 客户一
@@ -27,25 +18,19 @@
                         </a-select>
                     </a-form-item>
                 </a-col>
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="企业名称">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入企业名称"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入企业名称" />
                     </a-form-item>
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="企业简称">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入企业简称"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入企业简称" />
                     </a-form-item>
                 </a-col>
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="证件类型">
                         <a-select class="inlineFormSelect" style="width: 200px" placeholder="请选择证件类型">
                             <a-select-option value="1">
@@ -59,38 +44,27 @@
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="法定代表人">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入法定代表人"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入法定代表人" />
                     </a-form-item>
                 </a-col>
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="证件号码">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入证件号码"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入证件号码" />
                     </a-form-item>
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="纳税人识别号">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入纳税人识别号"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入纳税人识别号" />
                     </a-form-item>
                 </a-col>
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="营业执照">
                         <div class="upload">
-                            <a-upload
-                            action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
-                            :transform-file="transformFile"
-                            >
+                            <a-upload action="https://www.mocky.io/v2/5cc8019d300000980a055e76" :transform-file="transformFile">
                                 <a-button class="uploadBtn">上传</a-button>
                             </a-upload>
                             <div class="look">查看附件</div>
@@ -99,41 +73,31 @@
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="联系人">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系人"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系人" />
                     </a-form-item>
                 </a-col>
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="联系人手机号">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系人手机号"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系人手机号" />
                     </a-form-item>
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item label="联系电话">
-                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系电话"/>
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系电话" />
                     </a-form-item>
                 </a-col>
-                <a-col
-                :span="12"
-                >
+                <a-col :span="12">
                     <a-form-item>
                         &nbsp;
                     </a-form-item>
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="24"
-                >
+                <a-col :span="24">
                     <a-form-item label="通讯地址">
                         <a-select class="inlineFormSelect" style="width: 205px" placeholder="请选择省">
                             <a-select-option value="1">
@@ -163,82 +127,77 @@
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="24"
-                >
+                <a-col :span="24">
                     <a-form-item label="&nbsp;">
-                        <a-input class="dialogInput" style="width: 635px" placeholder="请输入详细地址"/>
+                        <a-input class="dialogInput" style="width: 635px" placeholder="请输入详细地址" />
                     </a-form-item>
                 </a-col>
             </a-row>
             <a-row :gutter="24">
-                <a-col
-                :span="24"
-                >
+                <a-col :span="24">
                     <a-form-item label="备注">
-                        <a-input class="dialogInput" style="width: 635px" placeholder="请输入备注"/>
+                        <a-input class="dialogInput" style="width: 635px" placeholder="请输入备注" />
                     </a-form-item>
                 </a-col>
             </a-row>
         </a-form>
-    
-  </a-modal>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/controlModal/index';
-import { initData } from '@/setup/methods/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/setup/controlModal/index';
+    import { initData } from '@/setup/methods/index';
 
-export default defineComponent({
-    name: 'add-custom',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('addCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        initData(() => {});
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'add-custom',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('addCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            initData(() => {});
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.add-custom {
-}
-.upload {
-    display: inline-flex;
-    .ant-btn.uploadBtn {
-        width: 60px;
-        height: 30px;
-        background: @m-blue0;
-        border: 0;
-        padding: 0;
-        text-align: center;
-        font-size: 14px;
-        color: @m-white0;
-        .rounded-corners(3px);
-        &:hover {
-            background: rgba(@m-blue0, .0);
-            color: rgba(@m-white0, .8);
-        }
-    }
-    .look {
-        color: @m-blue0;
-        font-size: 14px;
-        margin-left: 10px;
-        cursor: pointer;
+    .add-custom {
     }
-}
-</style>;
+    .upload {
+        display: inline-flex;
+        .ant-btn.uploadBtn {
+            width: 60px;
+            height: 30px;
+            background: @m-blue0;
+            border: 0;
+            padding: 0;
+            text-align: center;
+            font-size: 14px;
+            color: @m-white0;
+            .rounded-corners(3px);
+            &:hover {
+                background: rgba(@m-blue0, 0);
+                color: rgba(@m-white0, 0.8);
+            }
+        }
+        .look {
+            color: @m-blue0;
+            font-size: 14px;
+            margin-left: 10px;
+            cursor: pointer;
+        }
+    }</style
+>;

+ 32 - 39
src/views/information/custom/compoments/modifyCustom/index.vue

@@ -1,47 +1,40 @@
 <template>
-  <!-- 修改客户资料-->
-  <a-modal class="modify-custom"
-           title="修改客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-  </a-modal>
+    <!-- 修改客户资料-->
+    <a-modal class="modify-custom" title="修改客户资料" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/controlModal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/setup/controlModal/index';
 
-export default defineComponent({
-    name: 'modify-custom',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('modifyCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'modify-custom',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('modifyCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.modify-custom {
-}
-</style>;
+    .modify-custom {
+    }</style
+>;

+ 82 - 90
src/views/information/custom/list/normal-use/index.vue

@@ -1,105 +1,97 @@
 <template>
-  <!-- 客户信息: 正常 -->
-  <div class="custom-normal"
-       :loading="loading">
-    <filterCustomTable @search="search">
-      <a-button class="operBtn"
-                v-if="hasPermission('custom_info_btn_add')"
-                @click="openAction">新增</a-button>
-    </filterCustomTable>
-    <contextMenu :contextMenuList="contextMenuList"
-                 :tableList="customList">
-      <a-table :columns="columns"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="customList">
-        <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人'}}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 详情 -->
-    <CustomDetail />
-    <!-- 修改 -->
-    <ModifyCustom />
-    <!-- 停用 -->
-    <DisableCustom />
-  </div>
+    <!-- 客户信息: 正常 -->
+    <div class="custom-normal" :loading="loading">
+        <filterCustomTable @search="search">
+            <a-button class="operBtn" v-if="hasPermission('custom_info_btn_add')" @click="openAction">新增</a-button>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="contextMenuList" :tableList="customList">
+            <a-table :columns="columns" class="topTable" :pagination="false" rowKey="key" :data-source="customList">
+                <template #userinfotype="{ text }">
+                    <a>{{ text === '2' ? '企业' : '个人' }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 详情 -->
+        <CustomDetail />
+        <!-- 修改 -->
+        <ModifyCustom />
+        <!-- 停用 -->
+        <DisableCustom />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
+    import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
 
-import { initData } from '@/setup/methods/index';
-import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { getCustomList } from '../setup';
-import { openModal } from '@/setup/controlModal/index';
-import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
-import ModifyCustom from '@/views/information/custom/compoments/modifyCustom/index.vue';
-import DisableCustom from '@/views/information/custom/compoments/disableCustom/index.vue';
+    import { initData } from '@/setup/methods/index';
+    import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
+    import { MenuItem } from '@/components/contextMenu/interface';
+    import contextMenu from '@/components/contextMenu/index.vue';
+    import { getCustomList } from '../setup';
+    import { openModal } from '@/setup/controlModal/index';
+    import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
+    import ModifyCustom from '@/views/information/custom/compoments/modifyCustom/index.vue';
+    import DisableCustom from '@/views/information/custom/compoments/disableCustom/index.vue';
 
-// 处理详情
-function handleDetail(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('customDetail');
-    contextMenuList.value.push({ lable: '详情', callback: openAction });
-}
-// 处理修改
-function handleModify(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('modifyCustomInfo');
-    function modifyAction() {
-        contextMenuList.value.push({ lable: '修改', callback: openAction });
+    // 处理详情
+    function handleDetail(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('customDetail');
+        contextMenuList.value.push({ lable: '详情', callback: openAction });
+    }
+    // 处理修改
+    function handleModify(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('modifyCustomInfo');
+        function modifyAction() {
+            contextMenuList.value.push({ lable: '修改', callback: openAction });
+        }
+        return { modifyAction };
     }
-    return { modifyAction };
-}
 
-// 处理停用
-function handleDisable(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('disableCustomInfo');
-    function disableAction() {
-        contextMenuList.value.push({ lable: '停用', callback: openAction });
+    // 处理停用
+    function handleDisable(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('disableCustomInfo');
+        function disableAction() {
+            contextMenuList.value.push({ lable: '停用', callback: openAction });
+        }
+        return { disableAction };
     }
-    return { disableAction };
-}
-export default defineComponent({
-    name: 'custom-normal',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        CustomDetail,
-        ModifyCustom,
-        DisableCustom,
-    },
-    setup() {
-        const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
-        const { hasPermission } = handlePermission('custom_info_normal');
-        const contextMenuList = ref<MenuItem[]>([]);
+    export default defineComponent({
+        name: 'custom-normal',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            CustomDetail,
+            ModifyCustom,
+            DisableCustom,
+        },
+        setup() {
+            const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
+            const { hasPermission } = handlePermission('custom_info_normal');
+            const contextMenuList = ref<MenuItem[]>([]);
 
-        const { openAction } = openModal('addCustomInfo');
+            const { openAction } = openModal('addCustomInfo');
 
-        handleDetail(contextMenuList);
-        const { modifyAction } = handleModify(contextMenuList);
-        const { disableAction } = handleDisable(contextMenuList);
+            handleDetail(contextMenuList);
+            const { modifyAction } = handleModify(contextMenuList);
+            const { disableAction } = handleDisable(contextMenuList);
 
-        const stop = watchEffect(() => {
-            hasPermission('custom_info_btn_modify') && modifyAction();
-            hasPermission('custom_info_btn_disable') && disableAction();
-        });
-        onUnmounted(() => {
-            stop();
-        });
-        initData(() => {
-            actionQuery(3);
-            getColumns();
-        });
-        return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
-    },
-});
+            const stop = watchEffect(() => {
+                hasPermission('custom_info_btn_modify') && modifyAction();
+                hasPermission('custom_info_btn_disable') && disableAction();
+            });
+            onUnmounted(() => {
+                stop();
+            });
+            initData(() => {
+                actionQuery(3);
+                getColumns();
+            });
+            return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
+        },
+    });
 </script>
 
 <style lang="less">
-.custom-normal {
-}
-</style>;
+    .custom-normal {
+    }</style
+>;

+ 82 - 91
src/views/information/custom/list/stop-use/index.vue

@@ -1,106 +1,97 @@
 <template>
-  <!-- 客户信息: 停用 -->
-  <div class="custom-normal"
-       :loading="loading">
-    <filterCustomTable @search="search">
-      <a-button class="operBtn"
-                v-if="hasPermission('custom_info_btn_add')"
-                @click="openAction">新增</a-button>
-    </filterCustomTable>
-    <contextMenu :contextMenuList="contextMenuList"
-                 :tableList="customList">
-      <a-table :columns="columns"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="customList">
-        <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人'}}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 详情 -->
-    <CustomDetail />
-    <!-- 删除 -->
-    <DeleteCustom />
-    <!-- 恢复客户资料 -->
-    <RecoverCustom />
-
-  </div>
+    <!-- 客户信息: 停用 -->
+    <div class="custom-normal" :loading="loading">
+        <filterCustomTable @search="search">
+            <a-button class="operBtn" v-if="hasPermission('custom_info_btn_add')" @click="openAction">新增</a-button>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="contextMenuList" :tableList="customList">
+            <a-table :columns="columns" class="topTable" :pagination="false" rowKey="key" :data-source="customList">
+                <template #userinfotype="{ text }">
+                    <a>{{ text === '2' ? '企业' : '个人' }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 详情 -->
+        <CustomDetail />
+        <!-- 删除 -->
+        <DeleteCustom />
+        <!-- 恢复客户资料 -->
+        <RecoverCustom />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
+    import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
 
-import { initData } from '@/setup/methods/index';
-import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { getCustomList } from '../setup';
-import { openModal } from '@/setup/controlModal/index';
-import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
-import DeleteCustom from '@/views/information/custom/compoments/deleteCustom/index.vue';
-import RecoverCustom from '@/views/information/custom/compoments/recover/index.vue';
+    import { initData } from '@/setup/methods/index';
+    import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
+    import { MenuItem } from '@/components/contextMenu/interface';
+    import contextMenu from '@/components/contextMenu/index.vue';
+    import { getCustomList } from '../setup';
+    import { openModal } from '@/setup/controlModal/index';
+    import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
+    import DeleteCustom from '@/views/information/custom/compoments/deleteCustom/index.vue';
+    import RecoverCustom from '@/views/information/custom/compoments/recover/index.vue';
 
-// 处理详情
-function handleDetail(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('customDetail');
-    contextMenuList.value.push({ lable: '详情', callback: openAction });
-}
-// 处理删除
-function handleDelete(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('deleteCustomInfo');
-    function deleteAction() {
-        contextMenuList.value.push({ lable: '删除', callback: openAction });
+    // 处理详情
+    function handleDetail(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('customDetail');
+        contextMenuList.value.push({ lable: '详情', callback: openAction });
+    }
+    // 处理删除
+    function handleDelete(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('deleteCustomInfo');
+        function deleteAction() {
+            contextMenuList.value.push({ lable: '删除', callback: openAction });
+        }
+        return { deleteAction };
     }
-    return { deleteAction };
-}
-// 处理恢复
-function handleRecover(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('recoverCustomInfo');
-    function recoverAction() {
-        contextMenuList.value.push({ lable: '删除', callback: openAction });
+    // 处理恢复
+    function handleRecover(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('recoverCustomInfo');
+        function recoverAction() {
+            contextMenuList.value.push({ lable: '删除', callback: openAction });
+        }
+        return { recoverAction };
     }
-    return { recoverAction };
-}
 
-export default defineComponent({
-    name: 'custom-normal',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        CustomDetail,
-        DeleteCustom,
-        RecoverCustom,
-    },
-    setup() {
-        const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
-        const { hasPermission } = handlePermission('custom_info_normal');
-        const contextMenuList = ref<MenuItem[]>([]);
+    export default defineComponent({
+        name: 'custom-normal',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            CustomDetail,
+            DeleteCustom,
+            RecoverCustom,
+        },
+        setup() {
+            const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
+            const { hasPermission } = handlePermission('custom_info_normal');
+            const contextMenuList = ref<MenuItem[]>([]);
 
-        const { openAction } = openModal('addCustomInfo');
+            const { openAction } = openModal('addCustomInfo');
 
-        handleDetail(contextMenuList);
-        const { deleteAction } = handleDelete(contextMenuList);
-        const { recoverAction } = handleRecover(contextMenuList);
+            handleDetail(contextMenuList);
+            const { deleteAction } = handleDelete(contextMenuList);
+            const { recoverAction } = handleRecover(contextMenuList);
 
-        const stop = watchEffect(() => {
-            hasPermission('custom_info_btn_recover') && recoverAction();
-            hasPermission('custom_info_btn_delete') && deleteAction();
-        });
-        onUnmounted(() => {
-            stop();
-        });
-        initData(() => {
-            actionQuery(4);
-            getColumns();
-        });
-        return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
-    },
-});
+            const stop = watchEffect(() => {
+                hasPermission('custom_info_btn_recover') && recoverAction();
+                hasPermission('custom_info_btn_delete') && deleteAction();
+            });
+            onUnmounted(() => {
+                stop();
+            });
+            initData(() => {
+                actionQuery(4);
+                getColumns();
+            });
+            return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
+        },
+    });
 </script>
 
 <style lang="less">
-.custom-normal {
-}
-</style>;
+    .custom-normal {
+    }</style
+>;