|
@@ -6,7 +6,7 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<!-- 搜索栏 -->
|
|
|
- <search-bar :conditionForm="conditionForm" @submitSearch="receiveSearch"></search-bar>
|
|
|
+ <search-bar :conditionForm="sourceSortConditionForm" @submitSearch="receiveSearch"></search-bar>
|
|
|
<!-- 操作栏 -->
|
|
|
<operate-bar :pageOptList="pageOptList" @submitPageOpt="receviceOpt"></operate-bar>
|
|
|
<!-- 列表 -->
|
|
@@ -23,44 +23,28 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import sourceSortForm from './forms/source-sort-form';
|
|
|
-import { dataSourceClaTableUrl, delDataSourceCla } from '@/api/data-auth';
|
|
|
+import {
|
|
|
+ dataSourceClaTableUrl,
|
|
|
+ delDataSourceCla,
|
|
|
+ getDataSourceClaDetail,
|
|
|
+ saveDataSourceCla,
|
|
|
+ updateDataSourceCla
|
|
|
+} from '@/api/data-auth';
|
|
|
import { dataSourceSyncUrl } from '@/api/sync';
|
|
|
import searchBar from '@/components/search-bar';
|
|
|
import operateBar from '@/components/operate-bar';
|
|
|
import newTable from '@/pages/common/new-table';
|
|
|
-import { sourceSortConfig, pageOptList, tableOptList } from './DataConfig';
|
|
|
-import { searchOpt, importOpt, syncOpt } from '@/mixins/page-opt';
|
|
|
-
|
|
|
+import { sourceSortConfig, pageOptList, tableOptList, sourceSortConditionForm } from './DataConfig';
|
|
|
+import { searchOpt, importOpt, syncOpt, addEditOpt, detailOpt } from '@/mixins/page-opt';
|
|
|
+const area = ['900px', '600px'];
|
|
|
+const labelWidth = '160px';
|
|
|
export default {
|
|
|
components: { searchBar, operateBar, newTable },
|
|
|
- mixins: [searchOpt, importOpt, syncOpt],
|
|
|
+ mixins: [searchOpt, importOpt, syncOpt, addEditOpt, detailOpt],
|
|
|
data() {
|
|
|
return {
|
|
|
dataSourceClaTableUrl,
|
|
|
- conditionForm: [
|
|
|
- {
|
|
|
- label: '数据组织一级分类',
|
|
|
- name: 'firName',
|
|
|
- op: 'like',
|
|
|
- value: '',
|
|
|
- component: 'ElInput'
|
|
|
- },
|
|
|
- {
|
|
|
- label: '数据组织二级分类',
|
|
|
- name: 'secName',
|
|
|
- op: 'like',
|
|
|
- value: '',
|
|
|
- component: 'ElInput'
|
|
|
- },
|
|
|
- {
|
|
|
- label: '标签名称',
|
|
|
- name: 'labName',
|
|
|
- op: 'like',
|
|
|
- value: '',
|
|
|
- component: 'ElInput'
|
|
|
- }
|
|
|
- ],
|
|
|
+ sourceSortConditionForm,
|
|
|
tableHeader: sourceSortConfig.slice(0, -1),
|
|
|
pageOptList,
|
|
|
tableOptList,
|
|
@@ -73,13 +57,19 @@ export default {
|
|
|
},
|
|
|
computed: {},
|
|
|
methods: {
|
|
|
- receviceOpt(opt, row) {
|
|
|
+ async receviceOpt(opt, row) {
|
|
|
+ const otherParams = {
|
|
|
+ config: sourceSortConfig,
|
|
|
+ labelWidth,
|
|
|
+ area
|
|
|
+ };
|
|
|
if (opt == '新增') {
|
|
|
- this.handleAdd();
|
|
|
+ this.handleOpenEditForm('新增', 'add', otherParams);
|
|
|
} else if (opt == '修改') {
|
|
|
- this.handleEdit(row);
|
|
|
+ const detailInfo = await this.getDetail(row.labId);
|
|
|
+ this.handleOpenEditForm('编辑', 'update', { ...otherParams, detailInfo });
|
|
|
} else if (opt == '详情') {
|
|
|
- this.handleViewDetail(row);
|
|
|
+ this.handleViewDetail(row.labId, otherParams);
|
|
|
} else if (opt == '删除') {
|
|
|
this.handleDelete(row);
|
|
|
} else if (opt == '同步') {
|
|
@@ -89,17 +79,16 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
- * 编辑
|
|
|
- */
|
|
|
- handleEdit(row, e) {
|
|
|
- this.handleOpenForm(row.labId, '编辑');
|
|
|
- },
|
|
|
- /**
|
|
|
- * 查看详情id
|
|
|
+ * 获取详情
|
|
|
*/
|
|
|
- handleViewDetail(row, e) {
|
|
|
- this.handleOpenForm(row.labId, '详情', true);
|
|
|
+ getDetail(id) {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ getDataSourceClaDetail(id).then((res) => {
|
|
|
+ resolve(res.data.content);
|
|
|
+ });
|
|
|
+ });
|
|
|
},
|
|
|
+
|
|
|
/**
|
|
|
* 删除
|
|
|
*/
|
|
@@ -112,25 +101,33 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
- * 新增
|
|
|
+ * @description: 保存表单
|
|
|
+ * @param { 表单数据 } form
|
|
|
+ * @param { 新增还是编辑 } type
|
|
|
+ * @param { 弹框 } layer
|
|
|
*/
|
|
|
- handleAdd() {
|
|
|
- this.handleOpenForm(void 0, '新增');
|
|
|
+ async saveForm(form, type, layer) {
|
|
|
+ const res = type == 'update' ? await this.update(form) : await this.add(form);
|
|
|
+ if (res.data.result == '200') {
|
|
|
+ this.$message.success('保存成功');
|
|
|
+ layer.close(layer.dialogIndex);
|
|
|
+ this.handleSearch();
|
|
|
+ } else {
|
|
|
+ this.$message.warning(res.data.msg);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ add(form) {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ saveDataSourceCla(form).then((res) => {
|
|
|
+ resolve(res);
|
|
|
+ });
|
|
|
+ });
|
|
|
},
|
|
|
- handleOpenForm(id, title, isDetail = false) {
|
|
|
- const vm = this;
|
|
|
- const layer = this.$dgLayer({
|
|
|
- title,
|
|
|
- content: sourceSortForm,
|
|
|
- props: {
|
|
|
- id,
|
|
|
- isDetail
|
|
|
- },
|
|
|
- success() {
|
|
|
- vm.handleSearch();
|
|
|
- layer.close(layer.dialogIndex);
|
|
|
- },
|
|
|
- area: ['900px', '500px']
|
|
|
+ update(form) {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ updateDataSourceCla(form).then((res) => {
|
|
|
+ resolve(res);
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
},
|