2d429e72 by xukangle

update : 增加项目所需的所有路由

1 parent 030346af
...@@ -2,49 +2,49 @@ import request from "@/utils/request"; ...@@ -2,49 +2,49 @@ import request from "@/utils/request";
2 2
3 /** 获取资产目录列表 */ 3 /** 获取资产目录列表 */
4 export const getAssetCatalog = (params= {}) => request({ 4 export const getAssetCatalog = (params= {}) => request({
5 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/dam-list`, 5 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/dam-list`,
6 method: 'get', 6 method: 'get',
7 params 7 params
8 }) 8 })
9 9
10 /** 获取成本项列表 */ 10 /** 获取成本项列表 */
11 export const getCostList = (params) => request({ 11 export const getCostList = (params) => request({
12 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/page-list`, 12 url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/page-list`,
13 method: 'post', 13 method: 'post',
14 data: params 14 data: params
15 }) 15 })
16 16
17 /** 获取成本项详情 */ 17 /** 获取成本项详情 */
18 export const getCostDetail = (params) => request({ 18 export const getCostDetail = (params) => request({
19 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/detail`, 19 url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/detail`,
20 method: 'get', 20 method: 'get',
21 params 21 params
22 }) 22 })
23 23
24 /** 新增成本项信息 */ 24 /** 新增成本项信息 */
25 export const costSave = (params) => request({ 25 export const costSave = (params) => request({
26 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/save`, 26 url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/save`,
27 method: 'post', 27 method: 'post',
28 data: params 28 data: params
29 }); 29 });
30 30
31 /** 更新成本项信息 */ 31 /** 更新成本项信息 */
32 export const costUpdate = (params) => request({ 32 export const costUpdate = (params) => request({
33 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/update`, 33 url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/update`,
34 method: 'post', 34 method: 'post',
35 data: params 35 data: params
36 }); 36 });
37 37
38 /** 删除成本项信息 */ 38 /** 删除成本项信息 */
39 export const costDelete = (params) => request({ 39 export const costDelete = (params) => request({
40 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/delete`, 40 url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/delete`,
41 method: 'delete', 41 method: 'delete',
42 data: params 42 data: params
43 }); 43 });
44 44
45 /** 发送入表咨询消息提醒 */ 45 /** 发送入表咨询消息提醒 */
46 export const sendEntryMsg = (params) => request({ 46 export const sendEntryMsg = (params) => request({
47 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/send-message`, 47 url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/send-message`,
48 method: 'post', 48 method: 'post',
49 params 49 params
50 }); 50 });
......
...@@ -6,7 +6,7 @@ import request from "@/utils/request"; ...@@ -6,7 +6,7 @@ import request from "@/utils/request";
6 6
7 /** 获取数据产品下拉列表 */ 7 /** 获取数据产品下拉列表 */
8 export const getProductList = (params) => request({ 8 export const getProductList = (params) => request({
9 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-select`, 9 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-select`,
10 method: 'get', 10 method: 'get',
11 params 11 params
12 }) 12 })
...@@ -20,7 +20,7 @@ export const getAddedProductList = (params) => request({ ...@@ -20,7 +20,7 @@ export const getAddedProductList = (params) => request({
20 20
21 /** 获取数据产品上架列表。 */ 21 /** 获取数据产品上架列表。 */
22 export const getListingList = (params) => request({ 22 export const getListingList = (params) => request({
23 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/product-grounding/page-list`, 23 url: `${import.meta.env.VITE_API_NEW_PORTAL}/product-grounding/page-list`,
24 method: 'post', 24 method: 'post',
25 data: params 25 data: params
26 }) 26 })
...@@ -138,12 +138,17 @@ export const checkDemandName = (params) => request({ ...@@ -138,12 +138,17 @@ export const checkDemandName = (params) => request({
138 }) 138 })
139 139
140 /** 获取参数类型列表 */ 140 /** 获取参数类型列表 */
141 // export const getParamsDataList = (params) => request({
142 // url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
143 // method: 'post',
144 // data: params
145 // })
141 export const getParamsDataList = (params) => request({ 146 export const getParamsDataList = (params) => request({
142 url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, 147 url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`,
143 method: 'post', 148 method: 'get',
144 data: params
145 }) 149 })
146 150
151
147 /** 获取产品类型列表 */ 152 /** 获取产品类型列表 */
148 export const getProductTypeList = () => request({ 153 export const getProductTypeList = () => request({
149 url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-tree`, 154 url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-tree`,
......
...@@ -3,34 +3,34 @@ import request from "@/utils/request"; ...@@ -3,34 +3,34 @@ import request from "@/utils/request";
3 /** 入表管理 */ 3 /** 入表管理 */
4 /** 获取资产入表信息 */ 4 /** 获取资产入表信息 */
5 export const getEntryList = (params) => request({ 5 export const getEntryList = (params) => request({
6 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/page-list`, 6 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/page-list`,
7 method: 'post', 7 method: 'post',
8 data: params 8 data: params
9 }) 9 })
10 10
11 /** 获取入表资产信息批量删除 */ 11 /** 获取入表资产信息批量删除 */
12 export const deleteEntryAll = (params) => request({ 12 export const deleteEntryAll = (params) => request({
13 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/delete?guid=${params}`, 13 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/delete?guid=${params}`,
14 method: 'delete', 14 method: 'delete',
15 data: params 15 data: params
16 }) 16 })
17 /** 获取资产入表信息新增 */ 17 /** 获取资产入表信息新增 */
18 export const createEntry = (params) => request({ 18 export const createEntry = (params) => request({
19 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/save`, 19 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/save`,
20 method: 'post', 20 method: 'post',
21 data: params 21 data: params
22 }) 22 })
23 23
24 /** 获取资产入表信息修改 */ 24 /** 获取资产入表信息修改 */
25 export const intableUpdate = (params) => request({ 25 export const intableUpdate = (params) => request({
26 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/update`, 26 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/update`,
27 method: 'post', 27 method: 'post',
28 data: params 28 data: params
29 }) 29 })
30 30
31 /** A类证书列表查询 */ 31 /** A类证书列表查询 */
32 export const getDocumentList = (params) => request({ 32 export const getDocumentList = (params) => request({
33 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-document/list-a-document`, 33 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/list-a-document`,
34 method: 'post', 34 method: 'post',
35 data: params 35 data: params
36 }) 36 })
...@@ -38,27 +38,27 @@ export const getDocumentList = (params) => request({ ...@@ -38,27 +38,27 @@ export const getDocumentList = (params) => request({
38 /** 资产融资管理 */ 38 /** 资产融资管理 */
39 /** 获取资产融资信息列表 */ 39 /** 获取资产融资信息列表 */
40 export const getFinancingList = (params) => request({ 40 export const getFinancingList = (params) => request({
41 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/page-list`, 41 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/page-list`,
42 method: 'post', 42 method: 'post',
43 data: params 43 data: params
44 }) 44 })
45 45
46 /** 资产融资批量删除 */ 46 /** 资产融资批量删除 */
47 export const deleteFinancingAll = (params) => request({ 47 export const deleteFinancingAll = (params) => request({
48 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/delete?guid=${params}`, 48 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/delete?guid=${params}`,
49 method: 'delete', 49 method: 'delete',
50 data: params 50 data: params
51 }) 51 })
52 /** 资产融资信息新增 */ 52 /** 资产融资信息新增 */
53 export const createFinancing = (params) => request({ 53 export const createFinancing = (params) => request({
54 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/save`, 54 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/save`,
55 method: 'post', 55 method: 'post',
56 data: params 56 data: params
57 }) 57 })
58 58
59 /** 资产融资信息修改 */ 59 /** 资产融资信息修改 */
60 export const financingUpdate = (params) => request({ 60 export const financingUpdate = (params) => request({
61 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/update`, 61 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/update`,
62 method: 'post', 62 method: 'post',
63 data: params 63 data: params
64 }) 64 })
...@@ -66,27 +66,27 @@ export const financingUpdate = (params) => request({ ...@@ -66,27 +66,27 @@ export const financingUpdate = (params) => request({
66 /** 资产交易管理 */ 66 /** 资产交易管理 */
67 /** 获取资产交易信息列表 */ 67 /** 获取资产交易信息列表 */
68 export const getTradeList = (params) => request({ 68 export const getTradeList = (params) => request({
69 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/page-list`, 69 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/page-list`,
70 method: 'post', 70 method: 'post',
71 data: params 71 data: params
72 }) 72 })
73 73
74 /** 资产交易批量删除 */ 74 /** 资产交易批量删除 */
75 export const deleteTradeAll = (params) => request({ 75 export const deleteTradeAll = (params) => request({
76 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/delete?guid=${params}`, 76 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/delete?guid=${params}`,
77 method: 'delete', 77 method: 'delete',
78 data: params 78 data: params
79 }) 79 })
80 /** 资产交易信息新增 */ 80 /** 资产交易信息新增 */
81 export const createTrade = (params) => request({ 81 export const createTrade = (params) => request({
82 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/save`, 82 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/save`,
83 method: 'post', 83 method: 'post',
84 data: params 84 data: params
85 }) 85 })
86 86
87 /** 资产融资信息修改 */ 87 /** 资产融资信息修改 */
88 export const tradeUpdate = (params) => request({ 88 export const tradeUpdate = (params) => request({
89 url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/update`, 89 url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/update`,
90 method: 'post', 90 method: 'post',
91 data: params 91 data: params
92 }) 92 })
......
...@@ -43,7 +43,7 @@ export const getUserInfo = () => { ...@@ -43,7 +43,7 @@ export const getUserInfo = () => {
43 } 43 }
44 // 获取区划数据 44 // 获取区划数据
45 export const getAreaData = (params) => request({ 45 export const getAreaData = (params) => request({
46 url: `${import.meta.env.VITE_APP_API_BASEURL}/area/data/get-areas`, 46 url: `${import.meta.env.VITE_APP_CONFIG_URL}/area/data/get-areas`,
47 method: 'get', 47 method: 'get',
48 params 48 params
49 }) 49 })
......
1 import type { RouteRecordRaw } from 'vue-router'
2 function Layout() {
3 return import('@/layouts/index.vue')
4 }
5 const routes: RouteRecordRaw[] = [
6 {
7 path: '/data-asset-register/register-managemant',
8 component: Layout,
9 meta: {
10 title: '数据资产登记',
11 icon: 'sidebar-videos',
12 },
13 children: [
14 {
15 path: '',
16 name: 'registerManagemant',
17 component: () => import('@/views/data_asset/registerManagemant.vue'),
18 meta: {
19 title: '数据资产登记',
20 sidebar: false,
21 breadcrumb: false,
22 cache: true
23 },
24 },
25 {
26 path: 'register-start',
27 name: 'registerStart',
28 component: () => import('@/views/data_asset/registerStart.vue'),
29 meta: {
30 title: '新建资产登记',
31 sidebar: false,
32 breadcrumb: false,
33 cache: true,
34 editPage: true,
35 reuse: true
36 },
37 beforeEnter: (to, from) => {
38 if (to.query.type) {
39 to.meta.title = `详情-`;
40 return;
41 }
42 if (to.query.guid) {
43 to.meta.title = `编辑-`;
44 to.meta.editPage = true;
45 }
46 }
47 },
48 {
49 path: 'register-detail',
50 name: 'registerInfoDetail',
51 component: () => import('@/views/data_asset/registerDetail.vue'),
52 meta: {
53 title: '详情-',
54 sidebar: false,
55 breadcrumb: false,
56 cache: true,
57 reuse: true
58 }
59 }
60 ],
61 },
62 {
63 path: '/data-asset-register/quality-evaluate',
64 component: Layout,
65 meta: {
66 title: '数据资产质量评估',
67 icon: 'sidebar-videos',
68 },
69 children: [
70 {
71 path: '',
72 name: 'qualityEvaluate',
73 component: () => import('@/views/data_asset/qualityEvaluate.vue'),
74 meta: {
75 title: '数据资产质量评估',
76 sidebar: false,
77 breadcrumb: false,
78 cache: true
79 },
80 },
81 {
82 path: 'register-detail',
83 name: 'registerDetail',
84 component: () => import('@/views/data_asset/registerDetail.vue'),
85 meta: {
86 title: '详情-',
87 sidebar: false,
88 breadcrumb: false,
89 cache: true,
90 reuse: true
91 }
92 }
93 ],
94 },
95 {
96 path: '/data-asset-register/value-evaluate',
97 component: Layout,
98 meta: {
99 title: '数据资产价值评估',
100 icon: 'ep:grid',
101 },
102 children: [
103 {
104 path: '',
105 name: 'valueEvaluate',
106 component: () => import('@/views/data_asset/valueEvaluate.vue'),
107 meta: {
108 title: '数据资产价值评估',
109 sidebar: false,
110 breadcrumb: false,
111 cache: true
112 },
113 },
114 {
115 path: 'register-detail',
116 name: 'registerValueDetail',
117 component: () => import('@/views/data_asset/registerDetail.vue'),
118 meta: {
119 title: '详情-',
120 sidebar: false,
121 breadcrumb: false,
122 cache: true,
123 reuse: true
124 }
125 }
126 ],
127 },
128 {
129 path: '/data-asset-register/certificate-management',
130 component: Layout,
131 meta: {
132 title: '登记证件管理',
133 icon: 'ep:grid',
134 },
135 children: [
136 {
137 path: '',
138 name: 'certificateManagement',
139 component: () => import('@/views/data_asset/certificateManagement.vue'),
140 meta: {
141 title: '登记证件管理',
142 sidebar: false,
143 cache: true,
144 breadcrumb: false,
145 },
146 },
147 {
148 path: 'register-detail',
149 name: 'certificateDetail',
150 component: () => import('@/views/data_asset/registerDetail.vue'),
151 meta: {
152 title: '详情-',
153 sidebar: false,
154 breadcrumb: false,
155 cache: true,
156 reuse: true
157 }
158 }
159 ],
160 },
161 ]
162 export default routes
1 import type { RouteRecordRaw } from 'vue-router'
2
3 function Layout() {
4 return import('@/layouts/index.vue')
5 }
6
7 const routes: RouteRecordRaw[] = [
8 {
9 path: '/data-security/security-menu',
10 component: Layout,
11 meta: {
12 title: '数据资产合规信息',
13 icon: 'sidebar-videos',
14 },
15 children: [
16 {
17 path: '',
18 name: 'securityMenu',
19 component: () => import('@/views/security_menu/index.vue'),
20 meta: {
21 title: '数据资产合规信息',
22 sidebar: false,
23 breadcrumb: false,
24 cache: true
25 },
26 },
27 ],
28 },
29 ]
30
31 export default routes
...@@ -6,6 +6,9 @@ import DataMeta from './modules/dataMeta'; ...@@ -6,6 +6,9 @@ import DataMeta from './modules/dataMeta';
6 import DataQuality from './modules/dataQuality'; 6 import DataQuality from './modules/dataQuality';
7 import DataInventory from './modules/dataInventory'; 7 import DataInventory from './modules/dataInventory';
8 import AssetIndex from './modules/assetIndex'; 8 import AssetIndex from './modules/assetIndex';
9 import DataAssetRegistry from './modules/dataAssetRegistry';
10 import DataEntry from './modules/dataEntry';
11 import SecurityMenu from './modules/securityMenu';
9 12
10 import type { Route } from '#/global' 13 import type { Route } from '#/global'
11 import useSettingsStore from '@/store/modules/settings' 14 import useSettingsStore from '@/store/modules/settings'
...@@ -111,7 +114,7 @@ const asyncRoutes: Route.recordMainRaw[] = [ ...@@ -111,7 +114,7 @@ const asyncRoutes: Route.recordMainRaw[] = [
111 }, 114 },
112 { 115 {
113 meta: { 116 meta: {
114 title: '数据资产管理', 117 title: '数据产品管理',
115 }, 118 },
116 children: [ 119 children: [
117 ...DataAssess, 120 ...DataAssess,
...@@ -119,6 +122,30 @@ const asyncRoutes: Route.recordMainRaw[] = [ ...@@ -119,6 +122,30 @@ const asyncRoutes: Route.recordMainRaw[] = [
119 }, 122 },
120 { 123 {
121 meta: { 124 meta: {
125 title: '数据资产登记',
126 },
127 children: [
128 ...DataAssetRegistry,
129 ],
130 },
131 {
132 meta: {
133 title: '数据资产入表',
134 },
135 children: [
136 ...DataEntry,
137 ],
138 },
139 {
140 meta: {
141 title: '法律风险意见',
142 },
143 children: [
144 ...SecurityMenu,
145 ],
146 },
147 {
148 meta: {
122 title: '元数据', 149 title: '元数据',
123 }, 150 },
124 children: [ 151 children: [
......
...@@ -232,11 +232,11 @@ const useUserStore = defineStore( ...@@ -232,11 +232,11 @@ const useUserStore = defineStore(
232 mark = 'data-inventory' 232 mark = 'data-inventory'
233 } else if (item.meta.title == '首页') { 233 } else if (item.meta.title == '首页') {
234 mark = 'data-asset-index' 234 mark = 'data-asset-index'
235 } else if (item.meta.title == '数据服务') { 235 } else if (item.meta.title == '数据资产登记') {
236 mark = 'data-service' 236 mark = 'data-asset-register'
237 } else if (item.meta.title == '首页') { 237 } else if (item.meta.title == '首页') {
238 mark = 'data-asset-index' 238 mark = 'data-asset-index'
239 } else if (item.meta.title == '数据资产管理') { 239 } else if (item.meta.title == '数据产品管理') {
240 mark = 'data-asset' 240 mark = 'data-asset'
241 } else if (item.meta.title == '入表交易融资') { 241 } else if (item.meta.title == '入表交易融资') {
242 mark = 'data-transaction' 242 mark = 'data-transaction'
...@@ -244,10 +244,10 @@ const useUserStore = defineStore( ...@@ -244,10 +244,10 @@ const useUserStore = defineStore(
244 mark = 'data-guide' 244 mark = 'data-guide'
245 } else if (item.meta.title == '入表服务管理') { 245 } else if (item.meta.title == '入表服务管理') {
246 mark = 'data-entry' 246 mark = 'data-entry'
247 } else if (item.meta.title == '数据产品管理') { 247 } else if (item.meta.title == '数据资产入表') {
248 mark = 'data-product' 248 mark = 'data-entry'
249 } else if (item.meta.title == '合作伙伴管理') { 249 } else if (item.meta.title == '法律风险意见') {
250 mark = 'data-partners' 250 mark = 'data-security'
251 } else if (item.meta.title == '金融服务') { 251 } else if (item.meta.title == '金融服务') {
252 mark = 'data-finance' 252 mark = 'data-finance'
253 } else if (item.meta.title == '系统管理') { 253 } else if (item.meta.title == '系统管理') {
......
...@@ -80,7 +80,9 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => { ...@@ -80,7 +80,9 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => {
80 } 80 }
81 81
82 const getFieldTypeList = () => { 82 const getFieldTypeList = () => {
83 getDataTypeList().then((res: any) => { 83 getDataTypeList({
84 dictType: "字段类型"
85 }).then((res: any) => {
84 fieldTypes.value = []; 86 fieldTypes.value = [];
85 if (res.code == proxy.$passCode) { 87 if (res.code == proxy.$passCode) {
86 fieldTypes.value = res.data || []; 88 fieldTypes.value = res.data || [];
...@@ -91,7 +93,9 @@ const getFieldTypeList = () => { ...@@ -91,7 +93,9 @@ const getFieldTypeList = () => {
91 } 93 }
92 94
93 const getParamsListData = () => { 95 const getParamsListData = () => {
94 getParamsList().then((res: any) => { 96 getParamsList({
97 dictType: "业务归属"
98 }).then((res: any) => {
95 paramsList.value = []; 99 paramsList.value = [];
96 if (res.code == proxy.$passCode) { 100 if (res.code == proxy.$passCode) {
97 paramsList.value = res.data || []; 101 paramsList.value = res.data || [];
...@@ -583,10 +587,10 @@ defineExpose({ ...@@ -583,10 +587,10 @@ defineExpose({
583 <template #default="scope"> 587 <template #default="scope">
584 <el-select v-if="scope.row['isEdit'] && !tableCreateInfo.guid" v-model="scope.row['dataType']" 588 <el-select v-if="scope.row['isEdit'] && !tableCreateInfo.guid" v-model="scope.row['dataType']"
585 @change="(val) => dataTypeChange(val, scope)" placeholder="请选择"> 589 @change="(val) => dataTypeChange(val, scope)" placeholder="请选择">
586 <el-option v-for="opt in fieldTypes" :key="opt['paramValue']" :label="opt['paramName']" 590 <el-option v-for="opt in fieldTypes" :key="opt['value']" :label="opt['label']"
587 :value="opt['paramValue']" /> 591 :value="opt['value']" />
588 </el-select> 592 </el-select>
589 <span v-else>{{ fieldTypes.find(f => f.paramValue === scope.row["dataType"])?.paramName || "--" 593 <span v-else>{{ fieldTypes.find(f => f.value === scope.row["dataType"])?.label || "--"
590 }}</span> 594 }}</span>
591 </template> 595 </template>
592 </el-table-column> 596 </el-table-column>
...@@ -611,11 +615,11 @@ defineExpose({ ...@@ -611,11 +615,11 @@ defineExpose({
611 <template #default="scope"> 615 <template #default="scope">
612 <el-select v-if="scope.row['isEdit'] && !(tableCreateInfo.guid && scope.row['isPrimary'] == 'Y')" 616 <el-select v-if="scope.row['isEdit'] && !(tableCreateInfo.guid && scope.row['isPrimary'] == 'Y')"
613 v-model="scope.row['dictionaryCode']" placeholder="请选择" clearable filterable> 617 v-model="scope.row['dictionaryCode']" placeholder="请选择" clearable filterable>
614 <el-option v-for="opt in paramsList" :key="opt['paramCode']" :label="opt['paramType']" 618 <el-option v-for="opt in paramsList" :key="opt['value']" :label="opt['label']"
615 :value="opt['paramCode']" /> 619 :value="opt['value']" />
616 </el-select> 620 </el-select>
617 <span v-else>{{ scope.row['dictionaryCode'] ? (paramsList.find(p => p.paramCode == 621 <span v-else>{{ scope.row['dictionaryCode'] ? (paramsList.find(p => p.value ==
618 scope.row['dictionaryCode'])?.paramType || "--") : '--' }}</span> 622 scope.row['dictionaryCode'])?.label || "--") : '--' }}</span>
619 </template> 623 </template>
620 </el-table-column> 624 </el-table-column>
621 <el-table-column prop="isPrimary" label="是否主键" width="130px" align="left" show-overflow-tooltip> 625 <el-table-column prop="isPrimary" label="是否主键" width="130px" align="left" show-overflow-tooltip>
......
...@@ -51,7 +51,7 @@ const parentAreaData: any = ref([]); ...@@ -51,7 +51,7 @@ const parentAreaData: any = ref([]);
51 const getArea = (node, resolve) => { 51 const getArea = (node, resolve) => {
52 const { level } = node 52 const { level } = node
53 let params = { 53 let params = {
54 parentId: node.value 54 parentGuid: node.value
55 } 55 }
56 if (!node.value) { 56 if (!node.value) {
57 if (getParentAreaPromise.value) { 57 if (getParentAreaPromise.value) {
...@@ -121,13 +121,22 @@ const baseInfoFormItems = ref([ ...@@ -121,13 +121,22 @@ const baseInfoFormItems = ref([
121 default: '1', 121 default: '1',
122 options: damTypes.value, 122 options: damTypes.value,
123 props: { 123 props: {
124 value: 'paramValue', 124 value: 'value',
125 label: 'paramName' 125 label: 'label'
126 }, 126 },
127 required: true, 127 required: true,
128 visible: true 128 visible: true
129 }, 129 },
130 { 130 {
131 label: '权力主体',
132 type: 'input',
133 placeholder: '请输入',
134 field: 'rightMain',
135 maxlength: 20,
136 default: '',
137 required: true
138 },
139 {
131 label: '所属主题', 140 label: '所属主题',
132 type: 'tree-select', 141 type: 'tree-select',
133 placeholder: '请选择', 142 placeholder: '请选择',
...@@ -137,8 +146,8 @@ const baseInfoFormItems = ref([ ...@@ -137,8 +146,8 @@ const baseInfoFormItems = ref([
137 checkStrictly: false,//只能选择叶子节点。 146 checkStrictly: false,//只能选择叶子节点。
138 lazy: false, 147 lazy: false,
139 props: { 148 props: {
140 label: "paramName", 149 value: 'value',
141 value: "paramValue", 150 label: 'label'
142 }, 151 },
143 filterable: true, 152 filterable: true,
144 clearable: true, 153 clearable: true,
...@@ -204,11 +213,28 @@ const baseInfoFormItems = ref([ ...@@ -204,11 +213,28 @@ const baseInfoFormItems = ref([
204 type: "radio-group", 213 type: "radio-group",
205 placeholder: "", 214 placeholder: "",
206 field: "dataSources", 215 field: "dataSources",
207 block: true, 216 block: false,
208 default: 1, 217 default: 1,
209 options: dataSourcesList, 218 options: dataSourcesList,
210 required: true, 219 required: true,
211 }, 220 },
221 // 是否公共数据
222 {
223 label: '是否公共数据',
224 type: 'radio-group',
225 placeholder: '',
226 field: 'isPublicData',
227 block: false,
228 default: 'N',
229 options: [{
230 value: 'Y',
231 label: '是'
232 }, {
233 value: 'N',
234 label: '否'
235 }],
236 required: true,
237 },
212 { 238 {
213 label: '资源描述', 239 label: '资源描述',
214 type: 'textarea', 240 type: 'textarea',
...@@ -284,9 +310,11 @@ const assetDataTableInfo = ref({ ...@@ -284,9 +310,11 @@ const assetDataTableInfo = ref({
284 { label: "序号", type: "index", width: 56, align: "center" }, 310 { label: "序号", type: "index", width: 56, align: "center" },
285 { label: "表中文名称", field: "tableChName", width: 150, align: "left" }, 311 { label: "表中文名称", field: "tableChName", width: 150, align: "left" },
286 { label: "表英文名称", field: "tableName", width: 150, align: "left" }, 312 { label: "表英文名称", field: "tableName", width: 150, align: "left" },
287 { label: "表数据总数(条)", field: "dataCount", width: 150, align: "right", getName: (scope) => { 313 {
314 label: "表数据总数(条)", field: "dataCount", width: 150, align: "right", getName: (scope) => {
288 return scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0) 315 return scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0)
289 } }, 316 }
317 },
290 { label: "描述", field: "description", width: 240 }, 318 { label: "描述", field: "description", width: 240 },
291 { label: "修改人", field: "updateUserName", width: 140 }, 319 { label: "修改人", field: "updateUserName", width: 140 },
292 { label: "修改时间", field: "updateTime", width: 180 }, 320 { label: "修改时间", field: "updateTime", width: 180 },
...@@ -530,20 +558,39 @@ onBeforeMount(() => { ...@@ -530,20 +558,39 @@ onBeforeMount(() => {
530 } 558 }
531 }); 559 });
532 } 560 }
533 getDamTypesList().then((res: any) => { 561 function replaceChildDictListKey(data) {
562 if (Array.isArray(data)) {
563 return data.map(item => replaceChildDictListKey(item));
564 } else if (data && typeof data === 'object') {
565 const { childDictList, ...rest } = data;
566 return {
567 ...rest,
568 children: childDictList ? replaceChildDictListKey(childDictList) : undefined,
569 };
570 }
571 return data;
572 }
573 getDamTypesList({
574 dictType: "资产类型",
575 }).then((res: any) => {
534 if (res.code == proxy.$passCode) { 576 if (res.code == proxy.$passCode) {
535 damTypes.value = res.data || []; 577 damTypes.value = res.data || [];
536 let item = baseInfoFormItems.value.find(item => item.field == 'damType'); 578 baseInfoFormItems.value[1].options = damTypes.value;
537 item && (item.options = damTypes.value); 579 // let item = baseInfoFormItems.value.find(item => item.field == 'damType');
580 // item && (item.options = damTypes.value);
538 } else { 581 } else {
539 proxy.$ElMessage.error(res.msg); 582 proxy.$ElMessage.error(res.msg);
540 } 583 }
541 }) 584 })
542 getSubjectDoaminList().then((res: any) => { 585 getSubjectDoaminList({
586 dictType: "数据资产目录主题名称",
587 }).then((res: any) => {
543 if (res.code == proxy.$passCode) { 588 if (res.code == proxy.$passCode) {
544 subjectDomainListData.value = res.data || []; 589 subjectDomainListData.value = res.data || [];
545 let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain'); 590 replaceChildDictListKey(subjectDomainListData.value);
546 item && (item.options = subjectDomainListData.value); 591 baseInfoFormItems.value[3].options = replaceChildDictListKey(subjectDomainListData.value);
592 // let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain');
593 // item && (item.options = subjectDomainListData.value);
547 } else { 594 } else {
548 proxy.$ElMessage.error(res.msg); 595 proxy.$ElMessage.error(res.msg);
549 } 596 }
...@@ -735,8 +782,8 @@ const handleImportSave = (val) => { ...@@ -735,8 +782,8 @@ const handleImportSave = (val) => {
735 <div class="content_main"> 782 <div class="content_main">
736 <ContentWrap id="id-baseInfo" title="资源基本信息" description="" :isExpand="baseInfoExpand" :expand-swicth="true" 783 <ContentWrap id="id-baseInfo" title="资源基本信息" description="" :isExpand="baseInfoExpand" :expand-swicth="true"
737 class="mb16" @expand="(v) => baseInfoExpand = v"> 784 class="mb16" @expand="(v) => baseInfoExpand = v">
738 <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" :rules="baseInfoFormRules" @selectChange="baseSelectChange" 785 <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" :rules="baseInfoFormRules"
739 @checkboxChange="handleBaseInfoCheckboxChange" col="col3" /> 786 @selectChange="baseSelectChange" @checkboxChange="handleBaseInfoCheckboxChange" col="col3" />
740 </ContentWrap> 787 </ContentWrap>
741 <ContentWrap id="id-tableInfo" title="资源表" description="" :expand-swicth="true" :isExpand="assetTableInfoExpand" 788 <ContentWrap id="id-tableInfo" title="资源表" description="" :expand-swicth="true" :isExpand="assetTableInfoExpand"
742 @expand="(v) => assetTableInfoExpand = v"> 789 @expand="(v) => assetTableInfoExpand = v">
......
...@@ -46,8 +46,8 @@ const searchItemList = ref([ ...@@ -46,8 +46,8 @@ const searchItemList = ref([
46 filterable: true, 46 filterable: true,
47 options: damTypes.value, 47 options: damTypes.value,
48 props: { 48 props: {
49 value: 'paramValue', 49 value: 'value',
50 label: 'paramName' 50 label: 'label'
51 } 51 }
52 }, 52 },
53 { 53 {
...@@ -55,7 +55,7 @@ const searchItemList = ref([ ...@@ -55,7 +55,7 @@ const searchItemList = ref([
55 type: 'tree-select', 55 type: 'tree-select',
56 placeholder: '所属主题', 56 placeholder: '所属主题',
57 field: 'subjectDomain', 57 field: 'subjectDomain',
58 nodeKey: 'paramValue', 58 nodeKey: 'value',
59 options: subjectDomainListData.value, 59 options: subjectDomainListData.value,
60 //showAllLevels: false, 60 //showAllLevels: false,
61 checkStrictly: false,//只能选择叶子节点。 61 checkStrictly: false,//只能选择叶子节点。
...@@ -64,14 +64,30 @@ const searchItemList = ref([ ...@@ -64,14 +64,30 @@ const searchItemList = ref([
64 collapseTagsTooltip: true, 64 collapseTagsTooltip: true,
65 collapseTags: true, 65 collapseTags: true,
66 props: { 66 props: {
67 label: "paramName", 67 label: "label",
68 value: "paramValue", 68 value: "value",
69 }, 69 },
70 filterable: true, 70 filterable: true,
71 clearable: true, 71 clearable: true,
72 default: [], 72 default: [],
73 showCheckbox: true 73 showCheckbox: true
74 }, 74 },
75 {
76 type: "input",
77 label: "",
78 field: "damName",
79 default: "",
80 placeholder: "来源",
81 clearable: true,
82 },
83 {
84 type: "input",
85 label: "",
86 field: "damName",
87 default: "",
88 placeholder: "登记状态",
89 clearable: true,
90 },
75 ]); 91 ]);
76 92
77 const pageInfo = ref({ 93 const pageInfo = ref({
...@@ -201,25 +217,44 @@ onActivated(() => { ...@@ -201,25 +217,44 @@ onActivated(() => {
201 }); 217 });
202 218
203 onBeforeMount(() => { 219 onBeforeMount(() => {
204 getDamTypesList().then((res: any) => { 220 getDamTypesList({
221 dictType: "资产类型",
222 }).then((res: any) => {
205 if (res.code == proxy.$passCode) { 223 if (res.code == proxy.$passCode) {
206 damTypes.value = res.data || []; 224 damTypes.value = res.data || [];
207 let item = searchItemList.value.find(item => item.field == 'damType'); 225 searchItemList.value[1].options = damTypes.value;
208 item && (item.options = damTypes.value); 226 // let item = searchItemList.value.find(item => item.field == 'damType');
227 // item && (item.options = damTypes.value);
209 } else { 228 } else {
210 proxy.$ElMessage.error(res.msg); 229 proxy.$ElMessage.error(res.msg);
211 } 230 }
212 }) 231 })
213 getSubjectDoaminList().then((res: any) => { 232 getSubjectDoaminList({
233 dictType: "数据资产目录主题名称",
234 }).then((res: any) => {
214 if (res.code == proxy.$passCode) { 235 if (res.code == proxy.$passCode) {
215 subjectDomainListData.value = res.data || []; 236 subjectDomainListData.value = res.data || [];
216 let item = searchItemList.value.find(item => item.field == 'subjectDomain'); 237 replaceChildDictListKey(subjectDomainListData.value);
217 item && (item.options = subjectDomainListData.value); 238 searchItemList.value[2].options = replaceChildDictListKey(subjectDomainListData.value);
239 // let item = searchItemList.value.find(item => item.field == 'subjectDomain');
240 // item && (item.options = subjectDomainListData.value);
218 } else { 241 } else {
219 proxy.$ElMessage.error(res.msg); 242 proxy.$ElMessage.error(res.msg);
220 } 243 }
221 }) 244 })
222 }); 245 });
246 function replaceChildDictListKey(data) {
247 if (Array.isArray(data)) {
248 return data.map(item => replaceChildDictListKey(item));
249 } else if (data && typeof data === 'object') {
250 const { childDictList, ...rest } = data;
251 return {
252 ...rest,
253 children: childDictList ? replaceChildDictListKey(childDictList) : undefined,
254 };
255 }
256 return data;
257 }
223 258
224 const handleCreate = () => { 259 const handleCreate = () => {
225 router.push({ 260 router.push({
......
...@@ -15,6 +15,7 @@ import { TableColumnWidth } from '@/utils/enum'; ...@@ -15,6 +15,7 @@ import { TableColumnWidth } from '@/utils/enum';
15 import TableTools from "@/components/Tools/table_tools.vue"; 15 import TableTools from "@/components/Tools/table_tools.vue";
16 import Table from "@/components/Table/index.vue"; 16 import Table from "@/components/Table/index.vue";
17 import Dialog from "@/components/Dialog/index.vue"; 17 import Dialog from "@/components/Dialog/index.vue";
18 import { getDamTypesList } from "@/api/modules/dataAsset";
18 19
19 const { proxy } = getCurrentInstance() as any; 20 const { proxy } = getCurrentInstance() as any;
20 const router = useRouter(); 21 const router = useRouter();
...@@ -37,8 +38,8 @@ const searchItemList: any = ref([ ...@@ -37,8 +38,8 @@ const searchItemList: any = ref([
37 field: "damType", 38 field: "damType",
38 default: "", 39 default: "",
39 props: { 40 props: {
40 value: 'paramValue', 41 value: 'value',
41 label: 'paramName' 42 label: 'label'
42 }, 43 },
43 placeholder: "产品类型", 44 placeholder: "产品类型",
44 options: damTypes.value, 45 options: damTypes.value,
...@@ -97,14 +98,14 @@ const tableInfo = ref({ ...@@ -97,14 +98,14 @@ const tableInfo = ref({
97 width: 140, 98 width: 140,
98 btns: (scope) => { 99 btns: (scope) => {
99 let row = scope.row, btnArr: any = []; 100 let row = scope.row, btnArr: any = [];
100 if(row.approveState == 'Y'){ 101 if (row.approveState == 'Y') {
101 if(row.listingStatus == 'Y'){ 102 if (row.listingStatus == 'Y') {
102 btnArr.splice(0, 0, { label: "详情", value: "detail" }); 103 btnArr.splice(0, 0, { label: "详情", value: "detail" });
103 } else { 104 } else {
104 btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); 105 btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
105 } 106 }
106 } else { 107 } else {
107 if(row.approveState == 'A'){ 108 if (row.approveState == 'A') {
108 btnArr.splice(0, 0, { label: "详情", value: "detail" }); 109 btnArr.splice(0, 0, { label: "详情", value: "detail" });
109 } else { 110 } else {
110 btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); 111 btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
...@@ -207,7 +208,7 @@ const tableBtnClick = (scope, btn) => { ...@@ -207,7 +208,7 @@ const tableBtnClick = (scope, btn) => {
207 }; 208 };
208 209
209 const toPatn = (type) => { 210 const toPatn = (type) => {
210 if(type == 'add'){ 211 if (type == 'add') {
211 router.push({ 212 router.push({
212 name: "productListingDetail", 213 name: "productListingDetail",
213 query: { 214 query: {
...@@ -274,11 +275,23 @@ onActivated(() => { ...@@ -274,11 +275,23 @@ onActivated(() => {
274 }) 275 })
275 276
276 onBeforeMount(() => { 277 onBeforeMount(() => {
277 getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => { 278 // getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => {
279 // if (res.code == proxy.$passCode) {
280 // damTypes.value = res.data || [];
281 // let item = searchItemList.value.find(item => item.field == 'damType');
282 // item && (item.options = damTypes.value);
283 // } else {
284 // proxy.$ElMessage.error(res.msg);
285 // }
286 // })
287 getDamTypesList({
288 dictType: "资产类型",
289 }).then((res: any) => {
278 if (res.code == proxy.$passCode) { 290 if (res.code == proxy.$passCode) {
279 damTypes.value = res.data || []; 291 damTypes.value = res.data || [];
280 let item = searchItemList.value.find(item => item.field == 'damType'); 292 searchItemList.value[1].options = damTypes.value;
281 item && (item.options = damTypes.value); 293 // let item = searchItemList.value.find(item => item.field == 'damType');
294 // item && (item.options = damTypes.value);
282 } else { 295 } else {
283 proxy.$ElMessage.error(res.msg); 296 proxy.$ElMessage.error(res.msg);
284 } 297 }
...@@ -296,7 +309,8 @@ onBeforeMount(() => { ...@@ -296,7 +309,8 @@ onBeforeMount(() => {
296 </div> 309 </div>
297 </div> 310 </div>
298 <div class="table_panel_wrap"> 311 <div class="table_panel_wrap">
299 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" @tableSwitchBeforeChange="tableSwitchBeforeChange" /> 312 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange"
313 @tableSwitchBeforeChange="tableSwitchBeforeChange" />
300 </div> 314 </div>
301 </div> 315 </div>
302 </template> 316 </template>
......
1 <route lang="yaml">
2 name: securityMenu //标签管理
3 </route>
4
5 <script lang="ts" setup name="securityMenu">
6 import TableTools from '@/components/Tools/table_tools.vue';
7 const { proxy } = getCurrentInstance() as any;
8 const dialogLabelFormRef = ref();
9
10
11 onBeforeMount(async () => {
12
13 });
14 // 右侧表格配置
15 const tableDataList = ref([]);
16 // 删除标签guids
17 const deleteLabelGuids = ref<any>([]);
18
19 // 保存编辑的guid
20 const editLabelRow = ref<any>('');
21 const page = ref({
22 limit: 50,
23 curr: 1,
24 sizes: [
25 { label: "10", value: 10 },
26 { label: "50", value: 50 },
27 { label: "100", value: 100 },
28 { label: "150", value: 150 },
29 { label: "200", value: 200 },
30 ],
31 });
32 const tableInfo = ref({
33 id: "role-manage-table",
34 multiple: true,
35 fixedSelection: true,
36 fields: [
37 { label: "序号", type: "index", width: 56, align: "center" },
38 { label: "数据产品编号", field: "label", type: 'text_btn', class: 'drawer-detail-cell', width: 160, value: 'detail', columClass: 'text_btn' },
39 {
40 label: "数据产品名称", field: "classifyNames", width: 200,
41 },
42 { label: "数据类型", field: "gradeDetailName", width: 100 },
43 {
44 label: '权力主体', field: 'bizState', type: 'switch', activeText: '启用', inactiveText: '停用', activeValue: 'Y', inactiveValue: 'N', switchWidth: 56, width: 100, align: 'center'
45 },
46 { label: "是否公共数据", field: "updateUserName", width: 120 },
47 { label: "状态", field: "updateTime", width: 160 },
48 ],
49 data: tableDataList.value,
50 page: {
51 type: "normal",
52 rows: 0,
53 ...page.value,
54 },
55 actionInfo: {
56 label: "操作",
57 type: "btn",
58 width: 120,
59 fixed: 'right',
60 btns: [
61 {
62 label: "编辑", value: "edit", click: async (scope) => {
63 console.log('编辑', scope);
64 }
65 },
66 {
67 label: "删除 ", value: "delete", click: (scope) => {
68 console.log('删除', scope);
69
70 }
71 },
72 ]
73 },
74 loading: false
75 });
76
77
78
79 /**弹窗配置 */
80 const newCreateGradeFormItems = ref<any>([{
81 label: '标签名',
82 type: 'input',
83 placeholder: '请选择',
84 field: 'label',
85 default: '',
86 required: true,
87 filterable: true,
88 clearable: true,
89 visible: true,
90 block: true,
91 },
92 {
93 label: '分类',
94 type: 'tree-select',
95 placeholder: '请选择',
96 field: 'classifyDetailGuid',
97 default: '',
98 options: [],
99 props: {
100 label: "classifyName",
101 value: "guid",
102 },
103 required: true,
104 checkStricty: true,
105 lazy: false,
106 filterable: true,
107 clearable: true,
108 visible: true,
109 block: true,
110 },
111 {
112 label: '分级',
113 type: 'select',
114 maxlength: 19,
115 placeholder: '请输入',
116 field: 'gradeDetailGuid',
117 default: '',
118 options: [],
119 props: {
120 label: 'name',
121 value: 'guid',
122 },
123 clearable: true,
124 required: true,
125 block: true,
126 },
127 // {
128 // label: ' ',
129 // type: 'label',
130 // default: '规则配置',
131 // block: true,
132 // col: 'title-label'
133 // },
134 // {
135 // label: '精确匹配',
136 // type: 'textarea',
137 // maxlength: 200,
138 // placeholder: '请输入字段中文,中间用英文“,”分号隔开',
139 // field: 'matchChValue',
140 // default: '',
141 // clearable: true,
142 // required: false,
143
144 // },
145 // {
146 // label: '',
147 // type: 'textarea',
148 // maxlength: 200,
149 // placeholder: '请输入字段中文,中间用英文“,”分号隔开',
150 // field: 'matchEnValue',
151 // default: '',
152 // clearable: true,
153 // required: false,
154 // }
155 ]);
156
157 const newCreateGradeFormRules = ref({
158 label: [
159 { required: true, message: '请输入标签名', trigger: 'change' }
160 ],
161 detailGuid: [
162 { required: true, message: '请选择分类', trigger: 'change' }
163 ],
164 gradeDetailGuid: [
165 { required: true, message: '请选择分级', trigger: 'change' }
166 ],
167 });
168
169 const newCreateGradeStandardDialogInfo = ref({
170 visible: false,
171 size: 600,
172 title: "添加标签",
173 type: "",
174 formInfo: {
175 id: "grade-form",
176 items: newCreateGradeFormItems.value,
177 rules: newCreateGradeFormRules.value,
178 },
179 submitBtnLoading: false,
180 btns: {
181 cancel: () => {
182 newCreateGradeStandardDialogInfo.value.visible = false;
183 newCreateGradeStandardDialogInfo.value.submitBtnLoading = false;
184 },
185 submit: async (btn, info) => {
186 }
187 }
188 })
189
190
191
192 const classSearchItemList = ref<any>([
193 {
194 type: 'select',
195 multiple: true,
196 label: '',
197 field: 'labelName',
198 default: [],
199 options: [],
200 placeholder: '请选择标签名称',
201 clearable: true,
202 filterable: true,
203 visible: true
204 },
205 // 状态,可以编辑。
206
207 {
208 type: 'select',
209 multiple: true,
210 label: '',
211 field: 'state',
212 default: [],
213 options: [],
214 placeholder: '状态',
215 clearable: true,
216 filterable: true,
217 visible: true
218 }
219
220 ]);
221
222 const guids = ref<any>([])
223 const selectChange = async (val: any, row: any) => {
224 console.log('selectChange', val, row);
225 if (val) {
226 guids.value = val;
227 }
228 };
229
230 /** 搜索查询分类标准 */
231 const refCount = ref(0);
232 const searchClass = async (val: any, clear: boolean = false) => {
233 console.log('searchClass', val, clear);
234 if (clear) {
235 classSearchItemList.value.map(item => item.default = '')
236 guids.value = []
237
238 return;
239 }
240 if (val?.labelName?.length !== 0 || refCount.value >= 1) {
241
242 }
243
244 };
245
246 const addNewLabel = () => {
247 newCreateGradeStandardDialogInfo.value.visible = true;
248 newCreateGradeStandardDialogInfo.value.title = '新增标签';
249 newCreateGradeFormItems.value.forEach(item => {
250 item.default = '';
251 item.disabled = false;
252 });
253 newCreateGradeStandardDialogInfo.value.submitBtnLoading = false;
254 }
255
256
257
258 </script>
259
260
261 <template>
262 <div class="data-label">
263 <div class="container_wrap">
264 <div class="main_wrap">
265 <div class="main_wrap-top-area">
266 <TableTools :searchItems="classSearchItemList" :searchId="'template-manage-search'" @search="searchClass"
267 @select-change="selectChange" />
268 </div>
269 <div>
270 <el-button type="primary" class="v-add" @click="addNewLabel">新增</el-button>
271 <!-- <el-button class="v-import">导入</el-button>
272 <el-button>导出</el-button> -->
273 </div>
274 <div class="table_panel_wrap">
275 <Table :tableInfo="tableInfo" />
276 </div>
277 </div>
278 </div>
279 <Dialog_form ref="dialogLabelFormRef" :dialogConfigInfo="newCreateGradeStandardDialogInfo" class="v-dialog-form">
280 </Dialog_form>
281 </div>
282 </template>
283
284 <style lang="scss" scoped>
285 .data-label {
286 width: 100%;
287 height: 100%;
288
289 .container_wrap {
290 height: 100%;
291
292 .main_wrap {
293 height: 100%;
294 padding: 11px 16px 0 16px;
295
296 .main_wrap-top-area {
297 display: flex;
298 margin-bottom: 10px;
299 align-items: center;
300
301 .v-serach {
302 margin-left: 10px;
303 }
304 }
305
306 .table_panel_wrap {
307 margin-top: 12px;
308 width: 100%;
309 height: calc(100% - 105px);
310 min-height: 210px;
311 overflow: visible;
312 }
313 }
314 }
315 }
316 </style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!