Pārlūkot izejas kodu

数据分级分类表码接口联调

林倩 4 gadi atpakaļ
vecāks
revīzija
5304afd1d9

+ 43 - 11
src/api/data-auth.js

@@ -96,14 +96,14 @@ export function saveDataLevel(data) {
 // 删除数据分级
 export function delDataLevel(id) {
     return request({
-        url: `${dataLevelBaseUrl}/deletebyId/` + id,
+        url: `${dataLevelBaseUrl}/deleteById/` + id,
         method: "DELETE"
     });
 }
 
 
 // 数据安全等级
-const dataSecLevBaseUrl = "/datasecsvr/v2/";
+const dataSecLevBaseUrl = "/datasecsvr/v2";
 export const dataSecLevTableUrl = `${dataSecLevBaseUrl}/search`;
 // 获取数据安全等级详情
 export function getDataSecLevDetail(id) {
@@ -134,11 +134,11 @@ export const dataSourceClaTableUrl = `${dataSourceClaBaseUrl}/search`;
 // 获取数据资源分类详情
 export function getDataSourceClaDetail(labId) {
     return request({
-        url: `${dataSecLevBaseUrl}/detailAllLevel/` + labId,
+        url: `${dataSourceClaBaseUrl}/detailAllLevel/` + labId,
         method: "get"
     });
 }
-// 保存数据资源分类
+// 添加数据资源分类
 export function saveDataSourceCla(data) {
     return request({
         url: `${dataSourceClaBaseUrl}/save`,
@@ -146,6 +146,15 @@ export function saveDataSourceCla(data) {
         data
     });
 }
+
+// 修改数据资源分类
+export function updateDataSourceCla(data) {
+    return request({
+        url: `${dataSourceClaBaseUrl}/update`,
+        method: "POST",
+        data
+    });
+}
 // 删除数据资源分类
 export function delDataSourceCla(id) {
     return request({
@@ -155,15 +164,38 @@ export function delDataSourceCla(id) {
 }
 
 
-
-const dataSourceBaseUrl = "/dataresourcesrv/v1"
-
-
 // 字段分类列表
-export function getFieldClassifyList() {
+const fieldClassifyBaseUrl = "/fieldclassifysvr/v2"
+export const fieldClassifyTableUrl = `${fieldClassifyBaseUrl}/search`;
+// 获取字段分类详情
+export function getFieldClassifyDetail(labId) {
     return request({
-        url: `${dataSourceBaseUrl}/fieldclassifys`,
-        method: "get",
+        url: `${fieldClassifyBaseUrl}/detailAllLevel/` + labId,
+        method: "get"
+    });
+}
+// 添加字段分类
+export function saveFieldClassify(data) {
+    return request({
+        url: `${fieldClassifyBaseUrl}/save`,
+        method: "POST",
+        data
+    });
+}
+
+// 修改字段分类
+export function updateFieldClassify(data) {
+    return request({
+        url: `${fieldClassifyBaseUrl}/update`,
+        method: "POST",
+        data
+    });
+}
+// 删除字段分类
+export function delFieldClassify(id) {
+    return request({
+        url: `${fieldClassifyBaseUrl}/deleteById/` + id,
+        method: "DELETE"
     });
 }
 

+ 7 - 6
src/pages/common/form/index.vue

@@ -47,6 +47,7 @@
 </template>
 
 <script>
+import _ from "lodash"
 export default {
     props: {
         config: {
@@ -84,16 +85,16 @@ export default {
     created() {
         // 编辑,字段回填
         if (Object.keys(this.info).length > 0) {
-             for (let i = 0; i < this.formConfig.length; i++) {
-                let { prop } = this.formConfig[i];
-                this.formConfig[i].value = this.info[prop];
-                this.form[prop] = value;
-            }
+            this.form = _.cloneDeep(this.info);
+            //  for (let i = 0; i < this.formConfig.length; i++) {
+            //     let { prop } = this.formConfig[i];
+            //     // this.formConfig[i].value = this.info[prop];
+            //     this.form = this.info;
+            // }
         } else {
             for (let j = 0; j < this.formConfig.length; j++) {
                 let { prop, value } = this.formConfig[j];
                 this.$set(this.form, prop, value);
-                // this.form[prop] = value;
             }
         }
     },

+ 1 - 22
src/pages/data-auth-module/auth-object-manage/sort-code-manage/DataConfig.js

@@ -1,28 +1,7 @@
 /**
- * 表单配置
+ * 表单配置 - 案例
  */
 
-// 数据分级
-export const dataLevelForm = [
-    {
-        label: "代码",
-        prop: "levelCode",
-        value: "",
-        rules: [{ required: true, message: "请输入代码", trigger: "change" }]
-    },
-    {
-        label: "数据分级",
-        prop: "levelName",
-        value: "",
-        rules: [{ required: true, message: "请输入数据分级", trigger: "change" }]
-    },
-    {
-        label: "说明",
-        prop: "remark",
-        value: ""
-    }
-];
-
 // 数据安全级别
 export const safeLevelForm = [
     {

+ 15 - 15
src/pages/data-auth-module/auth-object-manage/sort-code-manage/data-level.vue

@@ -8,25 +8,26 @@
         <!-- 搜索项 -->
         <el-form :inline="true" class="search-form">
             <el-form-item label="数据分级">
-                <el-input v-model="keyword" clearable></el-input>
+                <el-input v-model="form.levelName.value" clearable></el-input>
             </el-form-item>
             <el-form-item>
                 <dg-button type="primary" @click="handleSearch" icon="el-icon-search">查询</dg-button>
                 <!-- <dg-button type="primary" @click="handleReset" icon="el-icon-refresh-right">重置</dg-button> -->
             </el-form-item>
         </el-form>
-          <!-- 操作 -->
+        <!-- 操作 -->
         <dg-row zebra="10px">
             <dg-button type="primary" icon="el-icon-circle-plus-outline" @click="handleAdd">新增</dg-button>
             <!-- <dg-button type="primary" icon="el-icon-refresh" @click="handleSync">同步</dg-button> -->
             <!-- <dg-button type="primary" @click="handleImport" icon="el-icon-upload">导入</dg-button> -->
         </dg-row>
         <!-- 列表 -->
-        <dg-table ref="table" :url="dataLevelTableUrl" border row-key="id">
+        <dg-table ref="table" :url="dataLevelTableUrl" :condition="form" border row-key="id">
             <dg-table-column type="index" width="75" label="序号" align="center"></dg-table-column>
             <dg-table-column prop="levelCode" label="代码" align="center"></dg-table-column>
             <dg-table-column prop="levelName" label="数据分级" align="center"></dg-table-column>
-            <dg-table-column label="操作" align="center">
+            <dg-table-column prop="remark" label="说明" align="center"></dg-table-column>
+            <dg-table-column label="操作" align="center" width="120px">
                 <template slot-scope="scope">
                     <div class="u-table__operation">
                         <el-tooltip
@@ -48,15 +49,16 @@
 <script>
 import importFile from "@/pages/common/import";
 import { dataLevelTableUrl, delDataLevel } from "@/api/data-auth";
-import addForm from "./forms/data-level-form"
+import addForm from "./forms/data-level-form";
 export default {
     components: {},
     data() {
         return {
-            tableList: [],
-            keyword: "",
-            rowStyle: {
-                textAlign: "center"
+            form: {
+                levelName: {
+                    value: "",
+                    op: "like"
+                }
             },
             dataLevelTableUrl,
             optList: [
@@ -78,7 +80,7 @@ export default {
          * 重置
          */
         handleReset() {
-            this.keyword = "";
+            this.form.levelName.value = "";
         },
         /**
          * 新增
@@ -86,7 +88,7 @@ export default {
         handleAdd() {
             this.handleOpenForm(void 0, "新增");
         },
-                /**
+        /**
          * 编辑
          */
         handleEdit(row) {
@@ -98,7 +100,7 @@ export default {
         handleDelete(row) {
             this.$dgConfirm(`是否确认删除该条数据!`, "提示", {}).then(() => {
                 delDataLevel(row.id).then((res) => {
-                    this.$message.success(res);
+                    this.$message.success("删除成功!");
                     this.handleSearch();
                 });
             });
@@ -150,10 +152,8 @@ export default {
                 area: ["550px", "500px"]
             });
         }
-
-    },
-    created() {
     },
+    created() {},
     mounted() {}
 };
 </script>

+ 103 - 36
src/pages/data-auth-module/auth-object-manage/sort-code-manage/field-sort-code.vue

@@ -8,45 +8,74 @@
         <!-- 搜索项 -->
         <el-form :inline="true" :model="form" class="search-form">
             <el-form-item label="字段一级分类">
-                <el-input v-model="form.firstLevelName" clearable></el-input>
+                <el-input v-model="form.firName.value" clearable></el-input>
             </el-form-item>
             <el-form-item label="字段二级分类">
-                <el-input v-model="form.secondLevelName" clearable></el-input>
+                <el-input v-model="form.secName.value" clearable></el-input>
             </el-form-item>
             <el-form-item>
                 <dg-button type="primary" @click="handleSearch" icon="el-icon-search">查询</dg-button>
                 <dg-button type="primary" @click="handleReset" icon="el-icon-refresh-right">重置</dg-button>
-
             </el-form-item>
         </el-form>
-        <!-- 导入 -->
-        <!-- <el-row class="import-btn">
-            <dg-button type="primary" @click="handleImport" icon="el-icon-upload">导入</dg-button>
-        </el-row> -->
+        <!-- 操作 -->
+        <dg-row zebra="10px">
+            <dg-button type="primary" icon="el-icon-circle-plus-outline" @click="handleAdd">新增</dg-button>
+            <!-- <dg-button type="primary" icon="el-icon-refresh" @click="handleSync">同步</dg-button> -->
+            <!-- <dg-button type="primary" @click="handleImport" icon="el-icon-upload">导入</dg-button> -->
+        </dg-row>
         <!-- 列表 -->
-        <dg-table ref="table" :data="tableList" border row-key="id" paging-type="client">
+        <dg-table ref="table" :url="fieldClassifyTableUrl" :condition="form" border row-key="id">
             <dg-table-column type="index" width="75" label="序号" align="center"></dg-table-column>
-            <dg-table-column prop="firstLevelCode" label="字段一级代码" align="center"></dg-table-column>
-            <dg-table-column prop="firstLevelName" label="字段一级分类" align="center"></dg-table-column>
-            <dg-table-column prop="secondLevelCode" label="字段二级代码" align="center"></dg-table-column>
-            <dg-table-column prop="secondLevelName" label="字段二级分类" align="center"></dg-table-column>
+            <dg-table-column prop="firCode" label="字段一级代码" align="center"></dg-table-column>
+            <dg-table-column prop="firName" label="字段一级分类" align="center"></dg-table-column>
+            <dg-table-column prop="secCode" label="字段二级代码" align="center"></dg-table-column>
+            <dg-table-column prop="secName" label="字段二级分类" align="center"></dg-table-column>
+             <dg-table-column prop="remark" label="说明" align="center"></dg-table-column>
+            <dg-table-column label="操作" align="center" width="120px">
+                <template slot-scope="scope">
+                    <div class="u-table__operation">
+                        <el-tooltip
+                            v-for="(item, index) in optList"
+                            :key="index"
+                            :content="item.tooltip"
+                            effect="dark"
+                            placement="top-end"
+                        >
+                            <i :class="item.icon" @click="item.on(scope.row, $event)"></i>
+                        </el-tooltip>
+                    </div>
+                </template>
+            </dg-table-column>
         </dg-table>
     </div>
 </template>
 
 <script>
 import importFile from "@/pages/common/import";
-import { getFieldClassifyList } from "@/api/data-auth";
+import fieldSortForm from "./forms/field-sort-form";
+import { fieldClassifyTableUrl, delFieldClassify } from "@/api/data-auth";
 
 export default {
     components: {},
     data() {
         return {
-            tableList: [],
+            fieldClassifyTableUrl,
             form: {
-                firstLevelName: "",
-                secondLevelName: ""
-            }
+                firName: {
+                    value: "",
+                    op: "like"
+                },
+                secName: {
+                    value: "",
+                    op: "like"
+                }
+            },
+            optList: [
+                { icon: "el-icon-edit", tooltip: "修改", on: this.handleEdit },
+                // { icon: "el-icon-document", tooltip: "详情", on: this.handleViewDetail },
+                { icon: "el-icon-delete", tooltip: "删除", on: this.handleDelete }
+            ]
         };
     },
     computed: {},
@@ -55,24 +84,67 @@ export default {
          * @description: 查询
          */
         handleSearch() {
-            this.$refs.table.paginationOptions.currentPage = 1;
-            const { firstLevelName, secondLevelName } = this.form;
-            if (!secondLevelName.trim() && !firstLevelName.trim()) {
-                this.tableList = this.orgList;
-            } else {
-                this.tableList = this.orgList.filter(
-                    (item) =>
-                        item.firstLevelName.indexOf(firstLevelName) > -1 &&
-                        item.secondLevelName.indexOf(secondLevelName) > -1
-                );
-            }
+            this.$refs.table.searchForm();
         },
         /**
          * 重置
          */
         handleReset() {
-            this.form.firstLevelName = "";
-            this.form.secondLevelName = "";
+            for (const key in this.form) {
+                this.form[key] = "";
+            }
+        },
+        /**
+         * 编辑
+         */
+        handleEdit(row, e) {
+            this.handleOpenForm(row.secId, "编辑");
+        },
+        /**
+         * 查看详情id
+         */
+        handleViewDetail(row, e) {
+            this.handleOpenForm(row.secId, "详情", true);
+        },
+        /**
+         * 删除
+         */
+        handleDelete(row, e) {
+            this.$dgConfirm(`是否确认删除该条数据!`, "提示", {}).then(() => {
+                delFieldClassify(row.secId).then((res) => {
+                    this.$message.success("删除成功!");
+                    this.handleSearch();
+                });
+            });
+        },
+        /**
+         * 新增
+         */
+        handleAdd() {
+            this.handleOpenForm(void 0, "新增");
+        },
+        handleOpenForm(id, title, isDetail = false) {
+            const vm = this;
+            const layer = this.$dgLayer({
+                title,
+                content: fieldSortForm,
+                props: {
+                    id,
+                    isDetail
+                },
+                btn: ["确定", "取消"],
+                btnAlign: "r",
+                noneBtnField: isDetail,
+                yes: (index) => {
+                    let _layer = layer.$children[0];
+                    _layer.saveForm().then((res) => {
+                        layer.close(index);
+                        vm.handleSearch();
+                    });
+                },
+
+                area: ["900px", "500px"]
+            });
         },
         /**
          * @description: 导入
@@ -100,12 +172,7 @@ export default {
             });
         }
     },
-    created() {
-        getFieldClassifyList().then((res) => {
-            this.orgList = res.data.content;
-            this.tableList = res.data.content;
-        });
-    },
+    created() {},
     mounted() {}
 };
 </script>

+ 129 - 0
src/pages/data-auth-module/auth-object-manage/sort-code-manage/forms/field-sort-form.vue

@@ -0,0 +1,129 @@
+<!--
+字段分级分类
+@Author: linqian
+@Date: 2021-06-02 16:03
+-->
+<template>
+    <dg-row>
+        <el-form ref="form" :model="form" :rules="rules" label-width="160px" label-suffix=":">
+            <dg-col :span="12">
+                <el-form-item label="字段一级代码" prop="firCode">
+                    <el-input v-model="form.firCode" placeholder="" v-if="!isDetail"></el-input>
+                    <span v-else>{{ form.firCode }}</span>
+                </el-form-item>
+                <el-form-item label="字段二级代码" prop="secCode">
+                    <el-input v-model="form.secCode" placeholder="" v-if="!isDetail"></el-input>
+                    <span v-else>{{ form.secCode }}</span>
+                </el-form-item>
+            </dg-col>
+            <dg-col :span="12">
+                <el-form-item label="字段一级分类" prop="firName">
+                    <el-input v-model="form.firName" placeholder="" v-if="!isDetail"></el-input>
+                    <span v-else>{{ form.firName }}</span>
+                </el-form-item>
+                <el-form-item label="字段二级分类" prop="secName">
+                    <el-input v-model="form.secName" placeholder="" v-if="!isDetail"></el-input>
+                    <span v-else>{{ form.secName }}</span>
+                </el-form-item>
+            </dg-col>
+            <dg-col :span="24">
+                <el-form-item label="说明" prop="remark">
+                    <el-input
+                        v-model="form.remark"
+                        placeholder=""
+                        type="textarea"
+                        :rows="3"
+                        v-if="!isDetail"
+                    ></el-input>
+                    <span v-else>{{ form.remark }}</span>
+                </el-form-item>
+            </dg-col>
+        </el-form>
+    </dg-row>
+</template>
+
+<script>
+import { getFieldClassifyDetail, saveFieldClassify, updateFieldClassify } from "@/api/data-auth";
+export default {
+    props: {
+        id: String,
+        isDetail: {
+            type: Boolean,
+            default: false
+        }
+    },
+    components: {},
+    data() {
+        return {
+            form: {
+                firCode: "",
+                secCode: "",
+                firName: "",
+                secName: "",
+                remark: ""
+            },
+            rules: {
+                firCode: [{ required: true, message: "请输入字段一级代码", trigger: "change" }],
+                secCode: [{ required: true, message: "请输入字段二级代码", trigger: "change" }],
+                firName: [{ required: true, message: "请输入字段一级分类", trigger: "change" }],
+                secName: [{ required: true, message: "请输入字段二级分类", trigger: "change" }],
+            }
+        };
+    },
+    computed: {},
+    methods: {
+        /**
+         * 保存
+         */
+        saveForm() {
+            return new Promise((resolve) => {
+                this.$refs.form.validate(async (valid) => {
+                    if (valid) {
+                        const res = this.id ? await this.update() : await this.add();
+                        if (res.data.result == "200") {
+                            this.$message.success("保存成功");
+                            resolve("成功");
+                        } else {
+                            this.$message.warning(res.data.msg);
+                        }
+                    }
+                });
+            });
+        },
+        add() {
+            return new Promise((resolve) => {
+                saveFieldClassify(this.form).then((res) => {
+                    resolve(res);
+                });
+            });
+        },
+        update() {
+            return new Promise((resolve) => {
+                updateFieldClassify(this.form).then((res) => {
+                    resolve(res);
+                });
+            });
+        },
+        /**
+         * 获取详情
+         */
+        getDetail() {
+            getFieldClassifyDetail(this.id).then((res) => {
+                this.form = res.data.content;
+            });
+        }
+    },
+    created() {
+        if (this.id) {
+            if (this.isDetail) {
+                this.rules = {};
+            }
+            this.getDetail();
+        }
+    },
+    mounted() {}
+};
+</script>
+
+<style lang='scss'>
+</style>

+ 26 - 14
src/pages/data-auth-module/auth-object-manage/sort-code-manage/forms/source-sort-form.vue

@@ -59,7 +59,7 @@
 </template>
 
 <script>
-import { appRestApi } from "@/api/application";
+import { getDataSourceClaDetail, saveDataSourceCla, updateDataSourceCla } from "@/api/data-auth";
 export default {
     props: {
         id: String,
@@ -80,7 +80,7 @@ export default {
                 secName: "",
                 labClaName: "",
                 labName: "",
-                remark: "",
+                remark: ""
             },
             rules: {
                 firCode: [{ required: true, message: "请输入一级代码", trigger: "change" }],
@@ -101,27 +101,39 @@ export default {
          */
         saveForm() {
             return new Promise((resolve) => {
-                this.$refs.form.validate((valid) => {
+                this.$refs.form.validate(async (valid) => {
                     if (valid) {
-                        const api = this.id ? "update" : "save";
-                        appRestApi[api](this.form)
-                            .then((res) => {
-                                this.$message.success("保存成功!");
-                                resolve("成功");
-                            })
-                            .catch((error) => {
-                                this.$message.error(error);
-                            });
+                        const res = this.id ? await this.update() : await this.add();
+                        if (res.data.result == "200") {
+                            this.$message.success("保存成功");
+                            resolve("成功");
+                        } else {
+                            this.$message.warning(res.data.msg);
+                        }
                     }
                 });
             });
         },
+        add() {
+            return new Promise((resolve) => {
+                saveDataSourceCla(this.form).then((res) => {
+                    resolve(res);
+                });
+            });
+        },
+        update() {
+            return new Promise((resolve) => {
+                updateDataSourceCla(this.form).then((res) => {
+                    resolve(res);
+                });
+            });
+        },
         /**
          * 获取详情
          */
         getDetail() {
-            appRestApi.detail(this.id).then((res) => {
-                this.form = res;
+            getDataSourceClaDetail(this.id).then((res) => {
+                this.form = res.data.content;
             });
         }
     },

+ 7 - 6
src/pages/data-auth-module/auth-object-manage/sort-code-manage/safe-level-code.vue

@@ -21,8 +21,8 @@
             <!-- <dg-button type="primary" @click="handleImport" icon="el-icon-upload">导入</dg-button> -->
         </dg-row>
         <!-- 列表 -->
-        <Table ref="table" :url="dataSecLevTableUrl" :headerData="safeLevelForm" :condition="form" :lazyLoad="true">
-            <dg-table-column label="操作" align="center">
+        <Table ref="myTable" :url="dataSecLevTableUrl" :headerData="safeLevelForm" :condition="form">
+            <dg-table-column label="操作" align="center" width="120px">
                 <template slot-scope="scope">
                     <div class="u-table__operation">
                         <el-tooltip
@@ -72,7 +72,7 @@ export default {
          * @description: 查询
          */
         handleSearch() {
-            this.$refs.table.handleSearchClick();
+            this.$refs.myTable.handleSearchClick();
         },
         /**
          * @description: 导入
@@ -118,8 +118,8 @@ export default {
          */
         handleDelete(row) {
             this.$dgConfirm(`是否确认删除该条数据!`, "提示", {}).then(() => {
-                delDataLevel(row.id).then((res) => {
-                    this.$message.success(res);
+                delDataSecLev(row.id).then((res) => {
+                    this.$message.success("删除成功!");
                     this.handleSearch();
                 });
             });
@@ -154,7 +154,8 @@ export default {
             });
         }
     },
-    created() {},
+    created() {
+    },
     mounted() {}
 };
 </script>

+ 7 - 8
src/pages/data-auth-module/auth-object-manage/sort-code-manage/source-sort-code.vue

@@ -14,7 +14,7 @@
                 <el-input v-model="form.secName.value" clearable></el-input>
             </el-form-item>
             <el-form-item label="标签名称">
-                <el-input v-model="form.labCode.value" clearable></el-input>
+                <el-input v-model="form.labName.value" clearable></el-input>
             </el-form-item>
             <el-form-item>
                 <dg-button type="primary" @click="handleSearch" icon="el-icon-search">查询</dg-button>
@@ -28,7 +28,7 @@
             <!-- <dg-button type="primary" @click="handleImport" icon="el-icon-upload">导入</dg-button> -->
         </dg-row>
         <!-- 列表 -->
-        <dg-table ref="table" :url="dataSourceClaTableUrl" :conditon="form" border row-key="id">
+        <dg-table ref="table" :url="dataSourceClaTableUrl" :condition="form" border row-key="id">
             <dg-table-column type="index" width="75" label="序号" align="center"></dg-table-column>
             <dg-table-column prop="firCode" label="一级代码" align="center"></dg-table-column>
             <dg-table-column prop="firName" label="数据组织一级分类" align="center"></dg-table-column>
@@ -66,7 +66,6 @@ export default {
     data() {
         return {
             dataSourceClaTableUrl,
-            tableList: [],
             form: {
                 firName: {
                     value: "",
@@ -76,7 +75,7 @@ export default {
                     value: "",
                     op: "like"
                 },
-                labCode: {
+                labName: {
                     value: "",
                     op: "like"
                 }
@@ -94,7 +93,7 @@ export default {
          * @description: 查询
          */
         handleSearch() {
-
+          this.$refs.table.searchForm();
         },
         /**
          * 重置
@@ -114,15 +113,15 @@ export default {
          * 查看详情id
          */
         handleViewDetail(row, e) {
-            this.handleOpenForm(row.id, "详情", true);
+            this.handleOpenForm(row.labId, "详情", true);
         },
         /**
          * 删除
          */
         handleDelete(row, e) {
             this.$dgConfirm(`是否确认删除该条数据!`, "提示", {}).then(() => {
-               delDataSourceCla(row.id).then((res) => {
-                    this.$message.success(res);
+               delDataSourceCla(row.labId).then((res) => {
+                    this.$message.success("删除成功!");
                     this.handleSearch();
                 });
             });