XiaXxxxxx vor 1 Jahr
Ursprung
Commit
a5b6055847

+ 77 - 0
src/api/sys/version copy.ts

@@ -0,0 +1,77 @@
+import { defHttp } from '/@/utils/http/axios';
+
+enum Api {
+    GetVersionList = '/sdataversion/SDataVersionProvider/pageList',
+    AddVersion = '/sdataversion/SDataVersionProvider/add',
+    DelVersion = '/sdataversion/SDataVersionProvider/deleteByIds',
+    GetVersionDetail = '/sdataversion/SDataVersionProvider/getDetailById',
+    UpdateVersion = '/sdataversion/SDataVersionProvider/updateById'
+}
+const locationType = { apiUrl2: true };
+
+/**
+ * @description: 获取所有版本
+ * @param: 1:用户登录tokenV2
+ * @param: 2:实体json {}
+ * @param: 3:页码
+ * @param: 4.每页大小
+ */
+export const getVersionList = (params: any) => {
+    return new Promise<void>((resolve) => {
+        defHttp.post({ ...locationType, url: Api.GetVersionList, params: params }, { joinParamsToUrl: true }).then((res) => {
+            resolve(res)
+        })
+    })
+};
+
+/**
+ * @description: 新增版本
+ * @param: 1:用户登录tokenV2
+ * @param: 2:实体json {}
+ */
+export const addVersion = (params: any) => {
+    return new Promise<void>((resolve) => {
+        defHttp.post({ ...locationType, url: Api.AddVersion, params: params }, { joinParamsToUrl: true }).then((res) => {
+            resolve(res)
+        })
+    })
+};
+
+/**
+ * @description: 根据ids删除版本
+ * @param: 1:用户登录tokenV2
+ * @param: 2:ids
+ */
+export const delVersionByIds = (params: any) => {
+    return new Promise<void>((resolve) => {
+        defHttp.post({ ...locationType, url: Api.DelVersion, params: params }, { joinParamsToUrl: true }).then((res) => {
+            resolve(res)
+        })
+    })
+};
+
+/**
+ * @description: 更新版本信息
+ * @param: 1: 用户登录tokenV2
+ * @param: 2: 实体json {}
+ */
+export const updateVersion = (params: any) => {
+    return new Promise<void>((resolve) => {
+        defHttp.post({ ...locationType, url: Api.UpdateVersion, params: params }, { joinParamsToUrl: true }).then((res) => {
+            resolve(res)
+        })
+    })
+};
+
+/**
+ * @description: 获取版本下的资源详情
+ * @param: 1: 用户登录tokenV2
+ * @param: 2: id
+ */
+export const getVersionDetail = (params: any) => {
+    return new Promise<void>((resolve) => {
+        defHttp.post({ ...locationType, url: Api.GetVersionDetail, params: params }, { joinParamsToUrl: true }).then((res) => {
+            resolve(res)
+        })
+    })
+};

+ 25 - 45
src/api/sys/version.ts

@@ -1,76 +1,56 @@
 import { defHttp } from '/@/utils/http/axios';
 
 enum Api {
-    GetVersionList = '/sdataversion/SDataVersionProvider/pageList',
-    AddVersion = '/sdataversion/SDataVersionProvider/add',
-    DelVersion = '/sdataversion/SDataVersionProvider/deleteByIds',
-    GetVersionDetail = '/sdataversion/SDataVersionProvider/getDetailById',
-    UpdateVersion = '/sdataversion/SDataVersionProvider/updateById'
+    GetVersionList = '/base-center/resourcesversion/getVersion',
+    SaveVersion = '/base-center/resourcesversion/saveVersion',
+    DelVersion = '/base-center/resourcesversion/deleteVersion',
+
+    GetResVersion = '/base-center/resourcesversion/getResVersion',
+    SaveResVersion = '/base-center/resourcesversion/saveResVersion',
+    RemoveResVersion = '/base-center/resourcesversion/removeResVersion',
+    GetOneVersion = '/base-center/resourcesversion/getOneVersion'
 }
-const locationType = { apiUrl2: true };
 
 /**
  * @description: 获取所有版本
- * @param: 1:用户登录tokenV2
- * @param: 2:实体json {}
- * @param: 3:页码
- * @param: 4.每页大小
+ * @param page string 页码
+ * @param rows string 每页大小
+ * @param fid string 资源版本管理信息id
+ * @param keyStr string 关键字
+ * @param serviceType string 资源类型
  */
 export const getVersionList = (params: any) => {
+    let param = {
+        page:1,
+        rows:1000000,
+        ...params
+    }
     return new Promise<void>((resolve) => {
-        defHttp.post({ ...locationType, url: Api.GetVersionList, params: params }, { joinParamsToUrl: true }).then((res) => {
+        defHttp.post({url: Api.GetVersionList, params: param }).then((res) => {
             resolve(res)
         })
     })
 };
 
 /**
- * @description: 新增版本
- * @param: 1:用户登录tokenV2
+ * @description: 保存版本
  * @param: 2:实体json {}
  */
-export const addVersion = (params: any) => {
+export const saveVersion = (params: any) => {
     return new Promise<void>((resolve) => {
-        defHttp.post({ ...locationType, url: Api.AddVersion, params: params }, { joinParamsToUrl: true }).then((res) => {
+        defHttp.post({ url: Api.SaveVersion, params: params }).then((res) => {
             resolve(res)
         })
     })
 };
 
 /**
- * @description: 根据ids删除版本
- * @param: 1:用户登录tokenV2
+ * @description: 删除版本
  * @param: 2:ids
  */
-export const delVersionByIds = (params: any) => {
-    return new Promise<void>((resolve) => {
-        defHttp.post({ ...locationType, url: Api.DelVersion, params: params }, { joinParamsToUrl: true }).then((res) => {
-            resolve(res)
-        })
-    })
-};
-
-/**
- * @description: 更新版本信息
- * @param: 1: 用户登录tokenV2
- * @param: 2: 实体json {}
- */
-export const updateVersion = (params: any) => {
-    return new Promise<void>((resolve) => {
-        defHttp.post({ ...locationType, url: Api.UpdateVersion, params: params }, { joinParamsToUrl: true }).then((res) => {
-            resolve(res)
-        })
-    })
-};
-
-/**
- * @description: 获取版本下的资源详情
- * @param: 1: 用户登录tokenV2
- * @param: 2: id
- */
-export const getVersionDetail = (params: any) => {
+export const delVersion = (params: any) => {
     return new Promise<void>((resolve) => {
-        defHttp.post({ ...locationType, url: Api.GetVersionDetail, params: params }, { joinParamsToUrl: true }).then((res) => {
+        defHttp.post({ url: Api.DelVersion, params: params }).then((res) => {
             resolve(res)
         })
     })

+ 0 - 162
src/views/dataAdmin/dataAdmin/version/VersionDrawer.vue

@@ -1,162 +0,0 @@
-<template>
-    <a-modal :title="title" :visible="true" :width="600" :footer-style="{ textAlign: 'right' }" @cancel="onClose" centered>
-        <div class="content" style="padding:10px">
-            <a-form ref="formRef" :model="form" :rules="rules" :label-col="labelCol" :wrapper-col="wrapperCol">
-            <!-- 名称 -->
-            <a-form-item label="版本名称" name="name">
-                <a-input v-model:value="form.name" style="width: 100%" placeholder="请输入名称" />
-            </a-form-item>
-            <!-- 说明 -->
-            <a-form-item label="版本说明" name="description">
-                <a-input v-model:value="form.description" style="width: 100%" placeholder="请输入说明" />
-            </a-form-item>
-        </a-form>
-        <div :style="{
-            position: 'absolute',
-            right: 0,
-            bottom: 0,
-            width: '100%',
-            borderTop: '1px solid #e9e9e9',
-            padding: '10px 16px',
-            background: '#fff',
-            textAlign: 'right',
-            zIndex: 1,
-        }">
-            <a-button style="margin-right: 8px" @click="onClose">取消</a-button>
-            <a-button type="primary" @click="onSubmit">确定</a-button>
-        </div>
-        </div>
-    </a-modal>
-</template>
-<script>
-import { defineComponent, reactive, ref, onMounted, watch } from 'vue';
-import { message } from 'ant-design-vue';
-import { addVersion, updateVersion } from '/@/api/sys/version';
-import { session } from '/@/utils/Memory';
-import moment from 'moment';
-
-const props = {
-    formData: {
-        type: Object,
-        default: () => {
-            return {}
-        }
-    },
-    drawerTitle: {
-        type: String,
-        default: "新增版本"
-    }
-}
-export default defineComponent({
-    name: 'VersionDrawer',
-    components: {},
-    props,
-    setup(props, { emit }) {
-        const form = reactive({
-            dataVersionConfs: [],
-            description: "",
-            insertTime: "",
-            name: "",
-            type: "",
-            updateTime: "",
-            vid: "",
-        });
-        const rules = {
-            name: [{
-                required: true,
-                message: '请输入版本名称',
-                trigger: 'blur'
-            }],
-            description: [{
-                required: true,
-                message: '请选择版本说明',
-                trigger: 'blur'
-            }]
-        };
-        const title = ref(props.drawerTitle)
-        const formRef = ref()
-
-        onMounted(() => {
-            if (Object.keys(props.formData).length) {
-                for (let key in form) {
-                    form[key] = props.formData[key]
-                }
-            };
-        })
-
-        watch(
-            () => [props.formData, props.drawerTitle],
-            ([newF, newD]) => {
-                for (let key in form) {
-                    form[key] = props.formData[key]
-                }
-                title.value = newD
-            },
-            {
-                immediate: true,
-                deep: true
-            }
-        )
-        // 关闭弹窗
-        const onClose = () => {
-            emit('closeDialog')
-            resetForm()
-        };
-        // 提交信息
-        const onSubmit = () => {
-            formRef.value.validate().then(() => {
-                //此处调用新增
-                if (title.value === '新增版本') {
-                    let { name, description } = form
-                    //新增版本
-                    let param = {
-                        1: session.getItem('tokenV2'),
-                        2: JSON.stringify({ name: name, description: description })
-                    }
-                    addVersion(param).then(res => {
-                        if (res.status === "0") {
-                            message.success('操作成功')
-                            resetForm()
-                            emit('onSubmit', true)
-                        } else {
-                            message.error('操作失败')
-                        }
-                    })
-                } else {
-                    form.updateTime = moment().format('YYYY-MM-DD HH:mm:ss')
-                    let param = {
-                        1: session.getItem('tokenV2'),
-                        2: JSON.stringify(form)
-                    }
-                    updateVersion(param).then(res => {
-                        if (res.status === "0") {
-                            message.success('操作成功')
-                            resetForm()
-                            emit('onSubmit', true)
-                        } else {
-                            message.error('操作失败')
-                        }
-                    })
-                }
-            }).catch((error) => {
-                console.log('error', error);
-            });
-        };
-        // 重置表单
-        const resetForm = () => {
-            formRef.value.resetFields();
-        };
-        return {
-            form,
-            rules,
-            title,
-            formRef,
-            labelCol: { span: 6 },
-            wrapperCol: { span: 16 },
-            onClose,
-            onSubmit,
-            resetForm
-        };
-    },
-});
-</script>

+ 104 - 0
src/views/dataAdmin/dataAdmin/version/VersionManageModal.vue

@@ -0,0 +1,104 @@
+<template>
+    <BasicModal :maskClosable="false" :width="440" @register="registerModal" v-bind="$attrs" :title="getTitle"
+        @ok="handleSubmit">
+        <BasicForm @register="registerForm" />
+    </BasicModal>
+</template>
+<script>
+import { defineComponent, reactive, ref, onMounted, watch } from 'vue';
+import { BasicModal, useModalInner } from '/@/components/Modal';
+import { BasicForm, useForm } from '/@/components/Form/index';
+import { message } from 'ant-design-vue';
+import { saveVersion } from '/@/api/sys/version';
+import { session } from '/@/utils/Memory';
+import moment from 'moment';
+import formSchema from './version.data';
+
+export default defineComponent({
+    name: 'VersionDrawer',
+    components: { BasicModal, BasicForm },
+    setup(_, { emit }) {
+        const modalStatus = ref('add');
+        const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
+            console.log('data', data);
+        });
+        const [registerForm, { setFieldsValue, updateSchema, resetFields, validate, getFieldsValue }] = useForm({
+            labelWidth: 100,
+            schemas: formSchema,
+            showActionButtonGroup: false,
+            actionColOptions: {
+                span: 18,
+            }
+        });
+        const getTitle = computed(() => {
+            if (modalStatus.value==='add') {
+                return '新增版本';
+            }
+            if (modalStatus.value==='edit') {
+                return '编辑版本';
+            }
+            else{
+                return '查看版本';
+            }
+        });
+
+        onMounted(() => {
+        })
+        // 提交信息
+        const handleSubmit = () => {
+            validate().then(async (res) => {
+                if (res) {
+                    console.log('res', res);
+                    // 关闭弹窗
+                    closeModal();
+                    // 触发父组件事件
+                    emit('success', res);
+                }
+            });
+            // formRef.value.validate().then(() => {
+            //     //此处调用新增
+            //     if (title.value === '新增版本') {
+            //         let { name, description } = form
+            //         //新增版本
+            //         let param = {
+            //             1: session.getItem('tokenV2'),
+            //             2: JSON.stringify({ name: name, description: description })
+            //         }
+            //         saveVersion(param).then(res => {
+            //             if (res.status === "0") {
+            //                 message.success('操作成功')
+            //                 resetForm()
+            //                 emit('onSubmit', true)
+            //             } else {
+            //                 message.error('操作失败')
+            //             }
+            //         })
+            //     } else {
+            //         form.updateTime = moment().format('YYYY-MM-DD HH:mm:ss')
+            //         let param = {
+            //             1: session.getItem('tokenV2'),
+            //             2: JSON.stringify(form)
+            //         }
+            //         saveVersion(param).then(res => {
+            //             if (res.status === "0") {
+            //                 message.success('操作成功')
+            //                 resetForm()
+            //                 emit('onSubmit', true)
+            //             } else {
+            //                 message.error('操作失败')
+            //             }
+            //         })
+            //     }
+            // }).catch((error) => {
+            //     console.log('error', error);
+            // });
+        };
+        return {
+            registerModal,
+            registerForm,
+            getTitle,
+            handleSubmit,
+        };
+    },
+});
+</script>

+ 32 - 31
src/views/dataAdmin/dataAdmin/version/VersionModal.vue

@@ -39,7 +39,7 @@ import { message } from 'ant-design-vue';
 import moment from 'moment';
 import { BasicTable, useTable, TableAction } from '/@/components/Table';
 import { session } from '/@/utils/Memory';
-import { delVersionByIds, getVersionDetail } from '/@/api/sys/version';
+import { delVersion } from '/@/api/sys/version';
 import DetailModal from '/@/views/resource/plat/item/child/DetailModal.vue'
 
 const props = {
@@ -109,36 +109,37 @@ export default defineComponent({
         )
 
         const getAllData = () => {
-            return new Promise((resolve) => {
-                let param = {
-                    1: session.getItem('tokenV2'),
-                    2: versionId.value,
-                }
-                getVersionDetail(param).then(res => {
-                    if (res.status === "0") {
-                        let resData = JSON.parse(res.result)
-                        if (resData.dataVersionConfs.length) {
-                            data.title = `版本:${resData.name}`
-                            let sourcesData = []
-                            resData.dataVersionConfs.forEach(item => {
-                                sourcesData.push({
-                                    isNew: item.active === 'N' ? '否' : '是',
-                                    key: item.id,
-                                    ...item
-                                })
-                            })
-                            console.log(sourcesData);
-                            resolve(sourcesData)
-                        } else {
-                            data.title = '该版本暂无资源'
-                            resolve([])
-                        }
-                    } else {
-                        data.title = '该版本暂无资源'
-                        resolve([])
-                    }
-                })
-            })
+            return []
+            // return new Promise((resolve) => {
+            //     let param = {
+            //         1: session.getItem('tokenV2'),
+            //         2: versionId.value,
+            //     }
+            //     getVersionDetail(param).then(res => {
+            //         if (res.status === "0") {
+            //             let resData = JSON.parse(res.result)
+            //             if (resData.dataVersionConfs.length) {
+            //                 data.title = `版本:${resData.name}`
+            //                 let sourcesData = []
+            //                 resData.dataVersionConfs.forEach(item => {
+            //                     sourcesData.push({
+            //                         isNew: item.active === 'N' ? '否' : '是',
+            //                         key: item.id,
+            //                         ...item
+            //                     })
+            //                 })
+            //                 console.log(sourcesData);
+            //                 resolve(sourcesData)
+            //             } else {
+            //                 data.title = '该版本暂无资源'
+            //                 resolve([])
+            //             }
+            //         } else {
+            //             data.title = '该版本暂无资源'
+            //             resolve([])
+            //         }
+            //     })
+            // })
         }
         //注册表格
         const [registerTable, { reload }] = useTable({

+ 118 - 176
src/views/dataAdmin/dataAdmin/version/index.vue

@@ -15,10 +15,10 @@
         <div class="version-body">
             <BasicTable @register="registerTable">
                 <template #toolbar>
-                    <Button type="primary" @click="openDialog(null)">
+                    <Button type="primary" @click="handleAdd">
                         新增版本
                     </Button>
-                    <Button type="primary" danger :disabled="hasSelected" @click="delAllData">
+                    <Button type="primary" danger :disabled="hasSelected" @click="handleDelAll">
                         批量删除
                     </Button>
                 </template>
@@ -27,49 +27,47 @@
                         {
                             label: '查看',
                             tooltip: '查看',
-                            onClick: openModal.bind(null, record.vid),
+                            onClick: handleLook.bind(null, record),
                         },
                         {
                             label: '编辑',
                             tooltip: '编辑',
-                            onClick: openDialog.bind(null, record),
+                            onClick: handleEdit.bind(null, record),
                         },
                         {
                             label: '删除',
                             tooltip: '删除',
-                            onClick: onDelete.bind(null, record.vid),
+                            onClick: handleDel.bind(null, record.vid),
                         },
                     ]" />
                 </template>
             </BasicTable>
         </div>
 
-        <VersionDrawer v-if="ifShowDialog" @closeDialog="ifShowDialog = false" :formData="formData"
-            :drawerTitle="drawerTitle" @onSubmit="onSubmit" ref="drawerRef">
-        </VersionDrawer>
+        <VersionManageModal @register="registerModal" @success="onSubmit"></VersionManageModal>
         <VersionModal v-if="ifShowModal" @closeModal="ifShowModal = false" :versionId="versionId" />
     </div>
 </template>
 
 <script>
-import { defineComponent, reactive, ref, toRefs, computed, onMounted, watch, createVNode } from 'vue';
+import { defineComponent, reactive, ref, toRefs, computed, onMounted, watch } from 'vue';
 // 导入表格组件,表格事件
 import { BasicTable, useTable, TableAction } from '/@/components/Table';
 import { Button, notification } from 'ant-design-vue';
-
-import VersionDrawer from './VersionDrawer.vue';
+import { useModal } from '/@/components/Modal';
+import VersionManageModal from './VersionManageModal.vue';
 import VersionModal from './VersionModal.vue';
-import { getVersionList, delVersionByIds, getVersionDetail } from '/@/api/sys/version';
-import { message, Modal } from 'ant-design-vue';
-import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
+import { getVersionList, delVersion } from '/@/api/sys/version';
+import { message } from 'ant-design-vue';
 import moment from 'moment'
 import { session } from '/@/utils/Memory';
+import uiTool from '/@/utils/uiTool';
 
 export default defineComponent({
     name: 'version',
-    components: { VersionDrawer, ExclamationCircleOutlined, VersionModal, BasicTable, TableAction, Button },
+    components: { VersionManageModal, VersionModal, BasicTable, TableAction, Button },
     setup() {
-        const drawerRef = ref(null)
+        const [registerModal, { openModal }] = useModal();
         const data = reactive({
             searchValue: "",//查询值
             formData: {
@@ -81,8 +79,6 @@ export default defineComponent({
                 updateTime: "",
                 vid: "",
             },
-            drawerTitle: "新增版本",
-            ifShowDialog: false,
             ifShowModal: false,
             versionId: ''
         });
@@ -126,62 +122,58 @@ export default defineComponent({
         //获取所有标签
         const getVersionData = () => {
             return new Promise((resolve, reject) => {
-                let param = {
-                    1: session.getItem('tokenV2'),
-                    2: JSON.stringify({}),
-                    3: 1,
-                    4: 10000000
+                let params = {
+                    keyStr: data.searchValue
                 }
-                getVersionList(param).then(res => {
-                    let resData = JSON.parse(res.result)
-                    resolve(resData)
+                getVersionList(params).then(res => {
+                    if (res.resp_code === 0 && res.datas) {
+                        let resData = []
+                        for (let key in res.datas) {
+                            resData.concat(res.datas[key])
+                        }
+                        resolve(resData)
+                    }
+                    else {
+                        resolve([])
+                        message.error(res.resp_msg)
+                    }
                 })
             })
         }
-        //筛选数据,用于表格
-        const filteredInfo = ref({
-            name: null
-        });
         //表格列
-        const columns = computed(() => {
-            const filtered = filteredInfo.value || {};
-            return [
-                {
-                    title: '版本名称',
-                    align: 'center',
-                    dataIndex: 'name',
-                    key: 'name',
-                    filteredValue: filtered.name || null,
-                    onFilter: (value, record) => record.name.includes(value)
-                },
-                {
-                    title: '版本说明',
-                    align: 'center',
-                    dataIndex: 'description',
-                    key: 'description'
-                },
-                {
-                    title: '发布时间',
-                    align: 'center',
-                    dataIndex: 'insertTime',
-                    key: 'insertTime'
-                },
-                {
-                    title: '修改时间',
-                    align: 'center',
-                    dataIndex: 'updateTime',
-                    key: 'updateTime'
-                }
-            ];
-        });
+        const columns = [
+            {
+                title: '版本名称',
+                align: 'center',
+                dataIndex: 'name',
+                key: 'name'
+            },
+            {
+                title: '版本说明',
+                align: 'center',
+                dataIndex: 'description',
+                key: 'description'
+            },
+            {
+                title: '发布时间',
+                align: 'center',
+                dataIndex: 'insertTime',
+                key: 'insertTime'
+            },
+            {
+                title: '修改时间',
+                align: 'center',
+                dataIndex: 'updateTime',
+                key: 'updateTime'
+            }
+        ];
         //表格查询功能
         const searchTable = () => {
-            filteredInfo.value.name = [data.searchValue]
+            reload()
         }
         //重置
-        const resetTable = ()=>{
-            filteredInfo.value.name = null
-            data.searchValue=''
+        const resetTable = () => {
+            data.searchValue = ''
             reload()
         }
         //判断是否选中数据
@@ -189,119 +181,69 @@ export default defineComponent({
             const rowSelection = getRowSelection();
             return !rowSelection.selectedRowKeys?.length;
         });
-        //删除所有选中的数据
-        const delAllData = () => {
-            Modal.confirm({
-                title: '删除提示',
-                icon: createVNode(ExclamationCircleOutlined),
-                content: '确定删除版本?',
-                centered: true,
-                okText: '确定',
-                okType: 'danger',
-                cancelText: '取消',
-                onOk: (() => {
-                    const rowKeys = getSelectRowKeys();
-                    let ids = rowKeys.toString()
-                    let param = {
-                        1: session.getItem('tokenV2'),
-                        2: ids,
-                    }
-                    delVersionByIds(param).then(res => {
-                        if (res.status === "0") {
-                            message.success('操作成功');
-                            reload();
-                            setSelectedRowKeys([])
-                        }
-                    })
-                })
+        //新增
+        const handleAdd = () => {
+            openModal(true, {
+                status: 'add'
             });
-        };
-        //新增或修改数据,打开弹窗
-        const openDialog = (record) => {
-            if (!record) {
-                data.formData = {
-                    dataVersionConfs: [],
-                    description: "",
-                    insertTime: "",
-                    name: "",
-                    type: "",
-                    updateTime: "",
-                    vid: "",
+        }
+        //查看
+        const handleLook = (id) => {
+            openModal(true, {
+                status: 'look',
+                form: {
+
                 }
-                data.drawerTitle = '新增版本'
-                data.ifShowDialog = true
-            } else {
-                data.formData = {
-                    dataVersionConfs: record.dataVersionConfs,
-                    description: record.description,
-                    insertTime: record.insertTime,
-                    name: record.name,
-                    type: record.type,
-                    updateTime: record.updateTime,
-                    vid: record.vid,
+            });
+        }
+        //修改
+        const handleEdit = () => {
+            openModal(true, {
+                status: 'edit',
+                form: {
+
                 }
-                data.drawerTitle = '修改版本'
-                data.ifShowDialog = true
-            }
+            });
         }
         //删除单个数据
-        const onDelete = (id) => {
-            Modal.confirm({
-                title: '删除提示',
-                icon: createVNode(ExclamationCircleOutlined),
-                content: '确定删除版本?',
-                centered: true,
-                okText: '确定',
-                okType: 'danger',
-                cancelText: '取消',
-                onOk: (() => {
-                    let param = {
-                        1: session.getItem('tokenV2'),
-                        2: id,
+        const handleDel = (id) => {
+            uiTool.delModal('确定删除版本?', (() => {
+                const rowKeys = getSelectRowKeys();
+                let ids = rowKeys.toString()
+                let param = {
+                    1: session.getItem('tokenV2'),
+                    2: id,
+                }
+                delVersion(param).then(res => {
+                    if (res.status === "0") {
+                        message.success('操作成功');
+                        reload();
+                        setSelectedRowKeys([])
                     }
-                    delVersionByIds(param).then(res => {
-                        if (res.status === "0") {
-                            message.success('操作成功');
-                            reload();
-                        }
-                    })
                 })
-            });
-        }
-        //打开弹窗展示资源
-        const openModal = (id) => {
-            data.versionId = id
-            data.ifShowModal = true
-            // let param = {
-            //     1: session.getItem('tokenV2'),
-            //     2: id,
-            // }
-            // getVersionDetail(param).then(res => {
-            //     if (res.status === "0") {
-            //         let resData = JSON.parse(res.result)
-            //         if (resData.dataVersionConfs.length) {
-            //             sourcesData.sourcesTableData = []
-            //             sourcesData.sourcesTableTitle = `版本:${resData.name}`
-            //             resData.dataVersionConfs.forEach(item => {
-            //                 sourcesData.sourcesTableData.push({
-            //                     isNew: item.active === 'N' ? '否' : '是',
-            //                     key: item.id,
-            //                     ...item
-            //                 })
-            //             })
-            //             data.ifShowModal = true
-            //         } else {
-            //             message.info('该版本暂无资源')
-            //         }
-            //     }
-            // })
+            }))
         }
+        //删除所有选中的数据
+        const handleDelAll = () => {
+            uiTool.delModal('确定删除版本?', (() => {
+                const rowKeys = getSelectRowKeys();
+                let ids = rowKeys.toString()
+                let param = {
+                    1: session.getItem('tokenV2'),
+                    2: ids,
+                }
+                delVersion(param).then(res => {
+                    if (res.status === "0") {
+                        message.success('操作成功');
+                        reload();
+                        setSelectedRowKeys([])
+                    }
+                })
+            }))
+        };
         //弹窗确认
-        const onSubmit = (e) => {
-            data.ifShowDialog = false
-            if (e) {
-                reload();
-            }
+        const onSubmit = () => {
+            reload();
         }
         const [
             registerTable,
@@ -321,7 +263,6 @@ export default defineComponent({
             },
             showIndexColumn: true,
             pagination: {
-                // pageSize: 10,
                 hideOnSinglePage: false
             },
             rowKey: (record) => record.vid,
@@ -336,21 +277,21 @@ export default defineComponent({
             },
         });
         return {
-            drawerRef,
-            filteredInfo,
             columns,
             hasSelected,
             ...toRefs(data),
             ...toRefs(sourcesData),
             // func
             registerTable,
+            registerModal,
             getVersionData,
             searchTable,
             resetTable,
-            delAllData,
-            onDelete,
-            openModal,
-            openDialog,
+            handleAdd,
+            handleLook,
+            handleEdit,
+            handleDelAll,
+            handleDel,
             onSubmit
         };
     },
@@ -382,6 +323,7 @@ export default defineComponent({
         .handle-btns {
             display: flex;
             align-items: center;
+
             .btn {
                 margin-left: 10px;
             }

+ 104 - 0
src/views/dataAdmin/dataAdmin/version/version.data.ts

@@ -0,0 +1,104 @@
+import { FormSchema } from '/@/components/Table';
+
+const getVersionSelect = () => {
+    return new Promise((resolve) => {
+        resolve([
+            {
+                label: '版本1',
+                value: '版本1'
+            },
+            {
+                label: '版本2',
+                value: '版本2'
+            }
+        ])
+    })
+}
+export const formSchema: FormSchema[] = [
+    {
+        field: 'fid',
+        label: '版本id',
+        component: 'Input',
+        show: false,
+        componentProps: {
+            disabled: true
+        },
+    },
+    {
+        field: 'addType',
+        label: '版本添加',
+        component: 'RadioGroup',
+        show: true,
+        required: true,
+        componentProps: {
+            option: [
+                {
+                    label: '新增版本',
+                    value: '0'
+                },
+                {
+                    label: '已有版本',
+                    value: '1'
+                }
+            ]
+        },
+    },
+    {
+        field: 'version_NAME',
+        label: '版本名称',
+        component: 'Input',
+        show: true,
+        required: true,
+        componentProps: {
+            maxLength: 36,
+            placeholder: '请输入版本名称',
+            disabled: false
+        },
+    },
+    {
+        field: 'version_NAME',
+        label: '版本名称',
+        component: 'ApiSelect',
+        show: false,
+        required: true,
+        componentProps: {
+            api: getVersionSelect,
+            placeholder: '请选择版本名称',
+            disabled: false
+        },
+    },
+    {
+        field: 'version_NO',
+        label: '版本号',
+        component: 'Input',
+        show: true,
+        required: true,
+        componentProps: {
+            maxLength: 36,
+            placeholder: '自动生成版本号',
+            disabled: true
+        },
+    },
+    {
+        field: 'version_DISP',
+        label: '备注',
+        component: 'Input',
+        componentProps: {
+            maxLength: 255,
+            disabled: false
+        },
+        dynamicRules: () => {
+            return [
+                {
+                    required: false,
+                    validator: (_, value) => {
+                        if (String(value).length > 255) {
+                            return Promise.reject('字数不超过255个字');
+                        }
+                        return Promise.resolve();
+                    },
+                },
+            ];
+        },
+    }
+];