4e55cd6b by lxs

分级分类任务更新

1 parent 4e06bf62
...@@ -34,7 +34,7 @@ const routes: RouteRecordRaw[] = [ ...@@ -34,7 +34,7 @@ const routes: RouteRecordRaw[] = [
34 cache: true, 34 cache: true,
35 reuse: true, 35 reuse: true,
36 editPage: true, 36 editPage: true,
37 activeMenu: '/data-inventory/classify-grade-manage/template-config' 37 activeMenu: '/data-inventory/classify-grade-manage/task-config'
38 }, 38 },
39 beforeEnter: (to, from) => { 39 beforeEnter: (to, from) => {
40 if (to.query.name) { 40 if (to.query.name) {
...@@ -45,6 +45,46 @@ const routes: RouteRecordRaw[] = [ ...@@ -45,6 +45,46 @@ const routes: RouteRecordRaw[] = [
45 } 45 }
46 }, 46 },
47 { 47 {
48 path: 'task-detail',
49 name: 'taskDetail',
50 component: () => import('@/views/data_inventory/taskDetail.vue'),
51 meta: {
52 title: '结果-',
53 sidebar: false,
54 breadcrumb: false,
55 cache: true,
56 reuse: true,
57 editPage: true,
58 activeMenu: '/data-inventory/classify-grade-manage/task-config'
59 },
60 beforeEnter: (to, from) => {
61 if (to.query.type == 'confirm') {
62 to.meta.title = `${to.query.name}-结果确认`;
63 } else {
64 to.meta.title = `${to.query.name}-结果修改`;
65 }
66 }
67 },
68 {
69 path: 'task-log',
70 name: 'taskLog',
71 component: () => import('@/views/data_inventory/taskLog.vue'),
72 meta: {
73 title: '分级分类日志',
74 sidebar: false,
75 breadcrumb: false,
76 cache: true,
77 reuse: true,
78 editPage: true,
79 activeMenu: '/data-inventory/classify-grade-manage/task-config'
80 },
81 beforeEnter: (to, from) => {
82 // if (to.query.name) {
83 // to.meta.title = `编辑-${to.query.name}`;
84 // }
85 }
86 },
87 {
48 path: 'template-config', 88 path: 'template-config',
49 name: 'templateConfig', 89 name: 'templateConfig',
50 component: () => import('@/views/data_inventory/templateConfig.vue'), 90 component: () => import('@/views/data_inventory/templateConfig.vue'),
......
...@@ -19,6 +19,319 @@ const router = useRouter(); ...@@ -19,6 +19,319 @@ const router = useRouter();
19 const userStore = useUserStore(); 19 const userStore = useUserStore();
20 const userData = JSON.parse(userStore.userData); 20 const userData = JSON.parse(userStore.userData);
21 const assetStore = useDataAssetStore(); 21 const assetStore = useDataAssetStore();
22 const datas = [
23 {
24 "updateTime": "2024-07-16 13:17:00",
25 "updateUserName": "数往知来管理员",
26 "guid": "4e0e76c48fa043d5b35d09f3ccc7c265",
27 "approvalGuid": null,
28 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
29 "fieldStandardCode": "COL202406070021",
30 "dataVersion": 1,
31 "chName": "地址",
32 "enName": "address",
33 "dataTypeValue": "字符型",
34 "dataTypeCode": "varchar",
35 "dataDicGuid": "",
36 "dataDicName": null,
37 "isDataDic": "N",
38 "fieldLength": 600,
39 "fieldPrecision": null,
40 "dataState": 0,
41 "approveState": "N",
42 "dataCategory": "合伙人",
43 "dataEncryptionLevel": "界面加密",
44 "businessDefDesc": "地址",
45 "flowFlag": null,
46 "flowCode": null,
47 "functionCode": null,
48 "createStaffGuid": null,
49 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
50 "displayVersion": "V1",
51 "standardSetName": null,
52 "ruleType": null
53 },
54 {
55 "updateTime": "2024-01-27 10:19:45",
56 "updateUserName": "数往知来管理员",
57 "guid": "bc630207357c466dbff7613ea38985cc",
58 "approvalGuid": null,
59 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
60 "fieldStandardCode": "COL202401260124",
61 "dataVersion": 1,
62 "chName": "包含最小销售包装单元数量",
63 "enName": "inboxQuantity",
64 "dataTypeValue": "整型",
65 "dataTypeCode": "int",
66 "dataDicGuid": null,
67 "dataDicName": null,
68 "isDataDic": null,
69 "fieldLength": null,
70 "fieldPrecision": null,
71 "dataState": 1,
72 "approveState": "A",
73 "dataCategory": null,
74 "dataEncryptionLevel": "明文显示",
75 "businessDefDesc": "当前药品追溯码中包含的最小销售包装单元药品追溯码的数量,发货类型为03时可选",
76 "flowFlag": null,
77 "flowCode": null,
78 "functionCode": null,
79 "createStaffGuid": null,
80 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
81 "displayVersion": "V1",
82 "standardSetName": null,
83 "ruleType": null
84 },
85 {
86 "updateTime": "2024-01-27 11:03:59",
87 "updateUserName": "审批人4",
88 "guid": "420f2a68bd4441bf92010eadf698b685",
89 "approvalGuid": null,
90 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
91 "fieldStandardCode": "COL202401260122",
92 "dataVersion": 1,
93 "chName": "包装层级",
94 "enName": "packageLevel",
95 "dataTypeValue": "字符型",
96 "dataTypeCode": "varchar",
97 "dataDicGuid": null,
98 "dataDicName": null,
99 "isDataDic": null,
100 "fieldLength": 200,
101 "fieldPrecision": null,
102 "dataState": 1,
103 "approveState": "A",
104 "dataCategory": null,
105 "dataEncryptionLevel": "明文显示",
106 "businessDefDesc": "当前药品追溯码所处包装层级描述,发货类型为03时可选",
107 "flowFlag": null,
108 "flowCode": null,
109 "functionCode": null,
110 "createStaffGuid": null,
111 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
112 "displayVersion": "V1",
113 "standardSetName": null,
114 "ruleType": null
115 },
116 {
117 "updateTime": "2024-06-06 10:01:06",
118 "updateUserName": "审批人1",
119 "guid": "f841e1848ab94b1e81a0217a09a7a3d3",
120 "approvalGuid": "b674bffe8d2f4132918016b6baaf75aa",
121 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
122 "fieldStandardCode": "COL202401260120",
123 "dataVersion": 1,
124 "chName": "上一级包装药品追溯码",
125 "enName": "parentDTC",
126 "dataTypeValue": "字符型",
127 "dataTypeCode": "varchar",
128 "dataDicGuid": "",
129 "dataDicName": null,
130 "isDataDic": "N",
131 "fieldLength": 200,
132 "fieldPrecision": null,
133 "dataState": 1,
134 "approveState": "Y",
135 "dataCategory": "",
136 "dataEncryptionLevel": "明文显示",
137 "businessDefDesc": "当前药品追溯码大一级包装上的药品追溯码,发货类型为03时可选;当存在上一级包装时必选",
138 "flowFlag": null,
139 "flowCode": null,
140 "functionCode": null,
141 "createStaffGuid": null,
142 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
143 "displayVersion": "V1",
144 "standardSetName": null,
145 "ruleType": null
146 },
147 {
148 "updateTime": "2024-01-26 00:10:47",
149 "updateUserName": "数往知来管理员",
150 "guid": "d4d42dea2a5844b4a7f9238806ea507b",
151 "approvalGuid": null,
152 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
153 "fieldStandardCode": "COL202401260118",
154 "dataVersion": 1,
155 "chName": "药品追溯码",
156 "enName": "DTC",
157 "dataTypeValue": "字符型",
158 "dataTypeCode": "varchar",
159 "dataDicGuid": null,
160 "dataDicName": null,
161 "isDataDic": null,
162 "fieldLength": 200,
163 "fieldPrecision": null,
164 "dataState": 0,
165 "approveState": "N",
166 "dataCategory": null,
167 "dataEncryptionLevel": "明文显示",
168 "businessDefDesc": "用于唯一标识药品各级销售包装单元的代码,发货类型为03时可选",
169 "flowFlag": null,
170 "flowCode": null,
171 "functionCode": null,
172 "createStaffGuid": null,
173 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
174 "displayVersion": "V1",
175 "standardSetName": null,
176 "ruleType": null
177 },
178 {
179 "updateTime": "2024-01-26 00:10:47",
180 "updateUserName": "数往知来管理员",
181 "guid": "ff9d0e4f6fbb444c8dcf6f67bffcb659",
182 "approvalGuid": null,
183 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
184 "fieldStandardCode": "COL202401260116",
185 "dataVersion": 1,
186 "chName": "发货数量",
187 "enName": "deliveryQuantity",
188 "dataTypeValue": "整型",
189 "dataTypeCode": "int",
190 "dataDicGuid": null,
191 "dataDicName": null,
192 "isDataDic": null,
193 "fieldLength": null,
194 "fieldPrecision": null,
195 "dataState": 0,
196 "approveState": "N",
197 "dataCategory": null,
198 "dataEncryptionLevel": "明文显示",
199 "businessDefDesc": "发货的最小销售包装单元数量",
200 "flowFlag": null,
201 "flowCode": null,
202 "functionCode": null,
203 "createStaffGuid": null,
204 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
205 "displayVersion": "V1",
206 "standardSetName": null,
207 "ruleType": null
208 },
209 {
210 "updateTime": "2024-01-26 00:10:46",
211 "updateUserName": "数往知来管理员",
212 "guid": "fe88ac9e8d9c4f148833dbb3976fca77",
213 "approvalGuid": null,
214 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
215 "fieldStandardCode": "COL202401260114",
216 "dataVersion": 1,
217 "chName": "药品生产批号",
218 "enName": "batch",
219 "dataTypeValue": "字符型",
220 "dataTypeCode": "varchar",
221 "dataDicGuid": null,
222 "dataDicName": null,
223 "isDataDic": null,
224 "fieldLength": 20,
225 "fieldPrecision": null,
226 "dataState": 0,
227 "approveState": "N",
228 "dataCategory": null,
229 "dataEncryptionLevel": "明文显示",
230 "businessDefDesc": "药品包装上标示的生产批号",
231 "flowFlag": null,
232 "flowCode": null,
233 "functionCode": null,
234 "createStaffGuid": null,
235 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
236 "displayVersion": "V1",
237 "standardSetName": null,
238 "ruleType": null
239 },
240 {
241 "updateTime": "2024-01-26 00:10:45",
242 "updateUserName": "数往知来管理员",
243 "guid": "9759837e0d72472ab7441c1873c9159a",
244 "approvalGuid": null,
245 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
246 "fieldStandardCode": "COL202401260112",
247 "dataVersion": 1,
248 "chName": "药品有效期截止日期",
249 "enName": "expirationDate",
250 "dataTypeValue": "日期型",
251 "dataTypeCode": "date",
252 "dataDicGuid": null,
253 "dataDicName": null,
254 "isDataDic": null,
255 "fieldLength": null,
256 "fieldPrecision": null,
257 "dataState": 0,
258 "approveState": "N",
259 "dataCategory": null,
260 "dataEncryptionLevel": "明文显示",
261 "businessDefDesc": "药品有效期的截止日期",
262 "flowFlag": null,
263 "flowCode": null,
264 "functionCode": null,
265 "createStaffGuid": null,
266 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
267 "displayVersion": "V1",
268 "standardSetName": null,
269 "ruleType": null
270 },
271 {
272 "updateTime": "2024-01-26 00:10:45",
273 "updateUserName": "数往知来管理员",
274 "guid": "a39ed6123c6a420d9d1265315e714f86",
275 "approvalGuid": null,
276 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
277 "fieldStandardCode": "COL202401260110",
278 "dataVersion": 1,
279 "chName": "药品生产日期",
280 "enName": "productionDate",
281 "dataTypeValue": "日期型",
282 "dataTypeCode": "date",
283 "dataDicGuid": null,
284 "dataDicName": null,
285 "isDataDic": null,
286 "fieldLength": null,
287 "fieldPrecision": null,
288 "dataState": 0,
289 "approveState": "N",
290 "dataCategory": null,
291 "dataEncryptionLevel": "明文显示",
292 "businessDefDesc": "药品包装上标示的生产日期",
293 "flowFlag": null,
294 "flowCode": null,
295 "functionCode": null,
296 "createStaffGuid": null,
297 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
298 "displayVersion": "V1",
299 "standardSetName": null,
300 "ruleType": null
301 },
302 {
303 "updateTime": "2024-01-26 00:10:45",
304 "updateUserName": "数往知来管理员",
305 "guid": "ea597c1b8bb24a5ab053a80b084de98c",
306 "approvalGuid": null,
307 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
308 "fieldStandardCode": "COL202401260108",
309 "dataVersion": 1,
310 "chName": "统一社会信用代码(进口药品代理企业)",
311 "enName": "drugImporterUSCID",
312 "dataTypeValue": "字符型",
313 "dataTypeCode": "varchar",
314 "dataDicGuid": null,
315 "dataDicName": null,
316 "isDataDic": null,
317 "fieldLength": 18,
318 "fieldPrecision": null,
319 "dataState": 0,
320 "approveState": "N",
321 "dataCategory": null,
322 "dataEncryptionLevel": "明文显示",
323 "businessDefDesc": "进口药品代理企业的统一社会信用代码,进口药品必选;没有统一社会信用代码时使用组织机构代码",
324 "flowFlag": null,
325 "flowCode": null,
326 "functionCode": null,
327 "createStaffGuid": null,
328 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
329 "displayVersion": "V1",
330 "standardSetName": null,
331 "ruleType": null
332 }
333 ]
334
22 const page = ref({ 335 const page = ref({
23 limit: 50, 336 limit: 50,
24 curr: 1, 337 curr: 1,
...@@ -36,10 +349,17 @@ const tableInfo = ref({ ...@@ -36,10 +349,17 @@ const tableInfo = ref({
36 id: "mapping-table", 349 id: "mapping-table",
37 fields: [ 350 fields: [
38 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" }, 351 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" },
39 { label: "任务名称", field: "damCode", width: 96 }, 352 { label: "任务名称", field: "chName", width: 96 },
40 { label: "目录名称", field: "damName", width: 120 }, 353 {
41 { label: "分类分级模板", field: "damTypeName", width: 200 }, 354 label: "目录名称", field: "dataTypeValue", width: 120, type: "text_btn", columClass: 'text_btn', click: (scope) => {
42 { label: "元数据", field: "damTypeName", width: 200 }, 355 router.push({
356 name: "templateConfig",
357 query: { guid: scope.row.damGuid },
358 });
359 }
360 },
361 { label: "分类分级模板", field: "dataTypeValue", width: 200 },
362 { label: "元数据", field: "fieldStandardCode", width: 200 },
43 // { 363 // {
44 // label: "是否公共数据", field: "isPublicData", width: 120, getName: (scope) => { 364 // label: "是否公共数据", field: "isPublicData", width: 120, getName: (scope) => {
45 // return scope.row.isPublicData == 'Y' ? '是' : '否'; 365 // return scope.row.isPublicData == 'Y' ? '是' : '否';
...@@ -50,10 +370,10 @@ const tableInfo = ref({ ...@@ -50,10 +370,10 @@ const tableInfo = ref({
50 return filterVal(scope.row.approveState, 'approveState'); 370 return filterVal(scope.row.approveState, 'approveState');
51 } 371 }
52 }, 372 },
53 { label: "任务修改人", field: "damName", width: 120 }, 373 { label: "任务修改人", field: "dataCategory", width: 120 },
54 { label: "修改时间", field: "updateTime", width: TableColumnWidth.DATETIME }, 374 { label: "修改时间", field: "updateTime", width: TableColumnWidth.DATETIME },
55 { label: "确认次数", field: "damName", width: 96, align: 'right' }, 375 { label: "确认次数", field: "fieldLength", width: 96, align: 'right' },
56 { label: "结果确认人", field: "damName", width: 120 }, 376 { label: "结果确认人", field: "updateUserName", width: 120 },
57 { label: "确认时间", field: "updateTime", width: TableColumnWidth.DATETIME }, 377 { label: "确认时间", field: "updateTime", width: TableColumnWidth.DATETIME },
58 { 378 {
59 label: "结果状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => { 379 label: "结果状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => {
...@@ -62,7 +382,7 @@ const tableInfo = ref({ ...@@ -62,7 +382,7 @@ const tableInfo = ref({
62 }, 382 },
63 ], 383 ],
64 loading: false, 384 loading: false,
65 data: [], 385 data: datas || [],
66 page: { 386 page: {
67 type: "normal", 387 type: "normal",
68 rows: 0, 388 rows: 0,
...@@ -71,22 +391,28 @@ const tableInfo = ref({ ...@@ -71,22 +391,28 @@ const tableInfo = ref({
71 actionInfo: { 391 actionInfo: {
72 label: "操作", 392 label: "操作",
73 type: "btn", 393 type: "btn",
74 width: 200, 394 width: 280,
75 btns: (scope) => { 395 btns: (scope) => {
76 let row = scope.row, btnArr: any = []; 396 let row = scope.row, btnArr: any = [
77 if (row.approveState == 'Y') { 397 { label: "结果确认", value: "confirm" },
78 if (row.listingStatus == 'Y') { 398 { label: "结果修改", value: "modify" },
79 btnArr.splice(0, 0, { label: "详情", value: "detail" }); 399 { label: "编辑", value: "edit" },
80 } else { 400 { label: "日志", value: "log" },
81 btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); 401 { label: "删除", value: "delete" }
82 } 402 ];
83 } else { 403 // if (row.approveState == 'Y') {
84 if (row.approveState == 'A') { 404 // if (row.listingStatus == 'Y') {
85 btnArr.splice(0, 0, { label: "详情", value: "detail" }); 405 // btnArr.splice(0, 0, { label: "详情", value: "detail" });
86 } else { 406 // } else {
87 btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); 407 // btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
88 } 408 // }
89 } 409 // } else {
410 // if (row.approveState == 'A') {
411 // btnArr.splice(0, 0, { label: "详情", value: "detail" });
412 // } else {
413 // btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
414 // }
415 // }
90 return btnArr; 416 return btnArr;
91 }, 417 },
92 }, 418 },
...@@ -115,7 +441,7 @@ const tableBtnClick = (scope, btn) => { ...@@ -115,7 +441,7 @@ const tableBtnClick = (scope, btn) => {
115 const type = btn.value; 441 const type = btn.value;
116 const row = scope.row; 442 const row = scope.row;
117 currTableData.value = row; 443 currTableData.value = row;
118 if (type == "detail" || type === "edit") { 444 if(type == 'confirm' || type == 'modify' || type == 'edit' || type == "log"){
119 toPath(type); 445 toPath(type);
120 } else if (type === "delete") { 446 } else if (type === "delete") {
121 open("此操作将永久删除,是否继续?", "warning"); 447 open("此操作将永久删除,是否继续?", "warning");
...@@ -130,7 +456,7 @@ const toPath = (type) => { ...@@ -130,7 +456,7 @@ const toPath = (type) => {
130 type 456 type
131 }, 457 },
132 }); 458 });
133 } else { 459 } else if(type == 'edit'){
134 router.push({ 460 router.push({
135 name: "taskEdit", 461 name: "taskEdit",
136 query: { 462 query: {
...@@ -139,6 +465,24 @@ const toPath = (type) => { ...@@ -139,6 +465,24 @@ const toPath = (type) => {
139 type 465 type
140 }, 466 },
141 }); 467 });
468 } else if(type == 'confirm' || type == 'modify'){
469 router.push({
470 name: "taskDetail",
471 query: {
472 guid: currTableData.value.guid,
473 name: currTableData.value.damName,
474 type
475 },
476 });
477 } else {
478 router.push({
479 name: "taskLog",
480 query: {
481 guid: currTableData.value.guid,
482 name: currTableData.value.damName,
483 type
484 },
485 });
142 } 486 }
143 } 487 }
144 488
......
1 <route lang="yaml">
2 name: taskDetail //分类分级任务结果
3 </route>
4
5 <script lang="ts" setup name="taskDetail">
6 import { ref, onMounted } from "vue";
7 import { useRouter, useRoute } from "vue-router";
8 import useUserStore from "@/store/modules/user";
9 import { ElMessage, ElMessageBox } from "element-plus";
10 import { Search } from "@element-plus/icons-vue";
11 import useDataAssetStore from "@/store/modules/dataAsset";
12 import TableTools from '@/components/Tools/table_tools.vue';
13 import Table from "@/components/Table/index.vue";
14 import { getListingList, listingDelete, listingUpdateStatus, filterVal, getParamsDataList } from "@/api/modules/dataProduct";
15
16 const { proxy } = getCurrentInstance() as any;
17 const router = useRouter();
18 const userStore = useUserStore();
19 const userData = JSON.parse(userStore.userData);
20 const assetStore = useDataAssetStore();
21
22 const datas = [
23 {
24 "updateTime": "2024-07-16 13:17:00",
25 "updateUserName": "数往知来管理员",
26 "guid": "4e0e76c48fa043d5b35d09f3ccc7c265",
27 "approvalGuid": null,
28 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
29 "fieldStandardCode": "COL202406070021",
30 "dataVersion": 1,
31 "chName": "地址",
32 "enName": "address",
33 "dataTypeValue": "字符型",
34 "dataTypeCode": "varchar",
35 "dataDicGuid": "",
36 "dataDicName": null,
37 "isDataDic": "N",
38 "fieldLength": 600,
39 "fieldPrecision": null,
40 "dataState": 0,
41 "approveState": "N",
42 "dataCategory": "合伙人",
43 "dataEncryptionLevel": "界面加密",
44 "businessDefDesc": "地址",
45 "flowFlag": null,
46 "flowCode": null,
47 "functionCode": null,
48 "createStaffGuid": null,
49 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
50 "displayVersion": "V1",
51 "standardSetName": null,
52 "ruleType": null
53 },
54 {
55 "updateTime": "2024-01-27 10:19:45",
56 "updateUserName": "数往知来管理员",
57 "guid": "bc630207357c466dbff7613ea38985cc",
58 "approvalGuid": null,
59 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
60 "fieldStandardCode": "COL202401260124",
61 "dataVersion": 1,
62 "chName": "包含最小销售包装单元数量",
63 "enName": "inboxQuantity",
64 "dataTypeValue": "整型",
65 "dataTypeCode": "int",
66 "dataDicGuid": null,
67 "dataDicName": null,
68 "isDataDic": null,
69 "fieldLength": null,
70 "fieldPrecision": null,
71 "dataState": 1,
72 "approveState": "A",
73 "dataCategory": null,
74 "dataEncryptionLevel": "明文显示",
75 "businessDefDesc": "当前药品追溯码中包含的最小销售包装单元药品追溯码的数量,发货类型为03时可选",
76 "flowFlag": null,
77 "flowCode": null,
78 "functionCode": null,
79 "createStaffGuid": null,
80 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
81 "displayVersion": "V1",
82 "standardSetName": null,
83 "ruleType": null
84 },
85 {
86 "updateTime": "2024-01-27 11:03:59",
87 "updateUserName": "审批人4",
88 "guid": "420f2a68bd4441bf92010eadf698b685",
89 "approvalGuid": null,
90 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
91 "fieldStandardCode": "COL202401260122",
92 "dataVersion": 1,
93 "chName": "包装层级",
94 "enName": "packageLevel",
95 "dataTypeValue": "字符型",
96 "dataTypeCode": "varchar",
97 "dataDicGuid": null,
98 "dataDicName": null,
99 "isDataDic": null,
100 "fieldLength": 200,
101 "fieldPrecision": null,
102 "dataState": 1,
103 "approveState": "A",
104 "dataCategory": null,
105 "dataEncryptionLevel": "明文显示",
106 "businessDefDesc": "当前药品追溯码所处包装层级描述,发货类型为03时可选",
107 "flowFlag": null,
108 "flowCode": null,
109 "functionCode": null,
110 "createStaffGuid": null,
111 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
112 "displayVersion": "V1",
113 "standardSetName": null,
114 "ruleType": null
115 },
116 {
117 "updateTime": "2024-06-06 10:01:06",
118 "updateUserName": "审批人1",
119 "guid": "f841e1848ab94b1e81a0217a09a7a3d3",
120 "approvalGuid": "b674bffe8d2f4132918016b6baaf75aa",
121 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
122 "fieldStandardCode": "COL202401260120",
123 "dataVersion": 1,
124 "chName": "上一级包装药品追溯码",
125 "enName": "parentDTC",
126 "dataTypeValue": "字符型",
127 "dataTypeCode": "varchar",
128 "dataDicGuid": "",
129 "dataDicName": null,
130 "isDataDic": "N",
131 "fieldLength": 200,
132 "fieldPrecision": null,
133 "dataState": 1,
134 "approveState": "Y",
135 "dataCategory": "",
136 "dataEncryptionLevel": "明文显示",
137 "businessDefDesc": "当前药品追溯码大一级包装上的药品追溯码,发货类型为03时可选;当存在上一级包装时必选",
138 "flowFlag": null,
139 "flowCode": null,
140 "functionCode": null,
141 "createStaffGuid": null,
142 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
143 "displayVersion": "V1",
144 "standardSetName": null,
145 "ruleType": null
146 },
147 {
148 "updateTime": "2024-01-26 00:10:47",
149 "updateUserName": "数往知来管理员",
150 "guid": "d4d42dea2a5844b4a7f9238806ea507b",
151 "approvalGuid": null,
152 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
153 "fieldStandardCode": "COL202401260118",
154 "dataVersion": 1,
155 "chName": "药品追溯码",
156 "enName": "DTC",
157 "dataTypeValue": "字符型",
158 "dataTypeCode": "varchar",
159 "dataDicGuid": null,
160 "dataDicName": null,
161 "isDataDic": null,
162 "fieldLength": 200,
163 "fieldPrecision": null,
164 "dataState": 0,
165 "approveState": "N",
166 "dataCategory": null,
167 "dataEncryptionLevel": "明文显示",
168 "businessDefDesc": "用于唯一标识药品各级销售包装单元的代码,发货类型为03时可选",
169 "flowFlag": null,
170 "flowCode": null,
171 "functionCode": null,
172 "createStaffGuid": null,
173 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
174 "displayVersion": "V1",
175 "standardSetName": null,
176 "ruleType": null
177 },
178 {
179 "updateTime": "2024-01-26 00:10:47",
180 "updateUserName": "数往知来管理员",
181 "guid": "ff9d0e4f6fbb444c8dcf6f67bffcb659",
182 "approvalGuid": null,
183 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
184 "fieldStandardCode": "COL202401260116",
185 "dataVersion": 1,
186 "chName": "发货数量",
187 "enName": "deliveryQuantity",
188 "dataTypeValue": "整型",
189 "dataTypeCode": "int",
190 "dataDicGuid": null,
191 "dataDicName": null,
192 "isDataDic": null,
193 "fieldLength": null,
194 "fieldPrecision": null,
195 "dataState": 0,
196 "approveState": "N",
197 "dataCategory": null,
198 "dataEncryptionLevel": "明文显示",
199 "businessDefDesc": "发货的最小销售包装单元数量",
200 "flowFlag": null,
201 "flowCode": null,
202 "functionCode": null,
203 "createStaffGuid": null,
204 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
205 "displayVersion": "V1",
206 "standardSetName": null,
207 "ruleType": null
208 },
209 {
210 "updateTime": "2024-01-26 00:10:46",
211 "updateUserName": "数往知来管理员",
212 "guid": "fe88ac9e8d9c4f148833dbb3976fca77",
213 "approvalGuid": null,
214 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
215 "fieldStandardCode": "COL202401260114",
216 "dataVersion": 1,
217 "chName": "药品生产批号",
218 "enName": "batch",
219 "dataTypeValue": "字符型",
220 "dataTypeCode": "varchar",
221 "dataDicGuid": null,
222 "dataDicName": null,
223 "isDataDic": null,
224 "fieldLength": 20,
225 "fieldPrecision": null,
226 "dataState": 0,
227 "approveState": "N",
228 "dataCategory": null,
229 "dataEncryptionLevel": "明文显示",
230 "businessDefDesc": "药品包装上标示的生产批号",
231 "flowFlag": null,
232 "flowCode": null,
233 "functionCode": null,
234 "createStaffGuid": null,
235 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
236 "displayVersion": "V1",
237 "standardSetName": null,
238 "ruleType": null
239 },
240 {
241 "updateTime": "2024-01-26 00:10:45",
242 "updateUserName": "数往知来管理员",
243 "guid": "9759837e0d72472ab7441c1873c9159a",
244 "approvalGuid": null,
245 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
246 "fieldStandardCode": "COL202401260112",
247 "dataVersion": 1,
248 "chName": "药品有效期截止日期",
249 "enName": "expirationDate",
250 "dataTypeValue": "日期型",
251 "dataTypeCode": "date",
252 "dataDicGuid": null,
253 "dataDicName": null,
254 "isDataDic": null,
255 "fieldLength": null,
256 "fieldPrecision": null,
257 "dataState": 0,
258 "approveState": "N",
259 "dataCategory": null,
260 "dataEncryptionLevel": "明文显示",
261 "businessDefDesc": "药品有效期的截止日期",
262 "flowFlag": null,
263 "flowCode": null,
264 "functionCode": null,
265 "createStaffGuid": null,
266 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
267 "displayVersion": "V1",
268 "standardSetName": null,
269 "ruleType": null
270 },
271 {
272 "updateTime": "2024-01-26 00:10:45",
273 "updateUserName": "数往知来管理员",
274 "guid": "a39ed6123c6a420d9d1265315e714f86",
275 "approvalGuid": null,
276 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
277 "fieldStandardCode": "COL202401260110",
278 "dataVersion": 1,
279 "chName": "药品生产日期",
280 "enName": "productionDate",
281 "dataTypeValue": "日期型",
282 "dataTypeCode": "date",
283 "dataDicGuid": null,
284 "dataDicName": null,
285 "isDataDic": null,
286 "fieldLength": null,
287 "fieldPrecision": null,
288 "dataState": 0,
289 "approveState": "N",
290 "dataCategory": null,
291 "dataEncryptionLevel": "明文显示",
292 "businessDefDesc": "药品包装上标示的生产日期",
293 "flowFlag": null,
294 "flowCode": null,
295 "functionCode": null,
296 "createStaffGuid": null,
297 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
298 "displayVersion": "V1",
299 "standardSetName": null,
300 "ruleType": null
301 },
302 {
303 "updateTime": "2024-01-26 00:10:45",
304 "updateUserName": "数往知来管理员",
305 "guid": "ea597c1b8bb24a5ab053a80b084de98c",
306 "approvalGuid": null,
307 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
308 "fieldStandardCode": "COL202401260108",
309 "dataVersion": 1,
310 "chName": "统一社会信用代码(进口药品代理企业)",
311 "enName": "drugImporterUSCID",
312 "dataTypeValue": "字符型",
313 "dataTypeCode": "varchar",
314 "dataDicGuid": null,
315 "dataDicName": null,
316 "isDataDic": null,
317 "fieldLength": 18,
318 "fieldPrecision": null,
319 "dataState": 0,
320 "approveState": "N",
321 "dataCategory": null,
322 "dataEncryptionLevel": "明文显示",
323 "businessDefDesc": "进口药品代理企业的统一社会信用代码,进口药品必选;没有统一社会信用代码时使用组织机构代码",
324 "flowFlag": null,
325 "flowCode": null,
326 "functionCode": null,
327 "createStaffGuid": null,
328 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
329 "displayVersion": "V1",
330 "standardSetName": null,
331 "ruleType": null
332 }
333 ]
334
335
336 const templateInfo = ref({
337 title: '医疗数据分类分级模板',
338 descGroup: [
339 { label: '模型确认人', value: '管理员 ' },
340 { label: '模型确认时间', value: '2021-12-12 09:12:13' },
341 ],
342 tags: [
343 { type: 'info', name: '医疗行业分类' },
344 { type: 'success', name: '五级' },
345 { type: 'primary', name: 'V5' },
346 ],
347 desc: '适用于各级医疗机构、卫生健康管理部门、公共卫生服务机构、相关专项业务服务机构、相关信息技术服务机构等开展医疗健康数据分类分级。适用于各级医疗机构、卫生健康管理部门、公共卫生服务机构、相关专项业务服务机构、相关信息技术服务机构等开展医疗健康数据分类分级。适用于各级医疗机构、卫生健康。'
348 })
349 const tabsInfo = ref({
350 activeName: 'sheet',
351 tabs: [
352 { label: '库表', name: 'sheet' },
353 { label: '字段', name: 'field' },
354 ]
355 });
356
357 const sheetItemList = ref([
358 {
359 type: "select",
360 label: "",
361 placeholder: '变更类型',
362 field: 'dataSourceGuid',
363 default: '',
364 options: [],
365 props: {
366 label: 'databaseNameZh',
367 value: 'guid'
368 },
369 clearable: true,
370 },
371 {
372 type: "select",
373 label: "",
374 placeholder: '数据库名',
375 field: 'dataSourceGuid',
376 default: '',
377 options: [],
378 props: {
379 label: 'databaseNameZh',
380 value: 'guid'
381 },
382 clearable: true,
383 },
384 {
385 type: "select",
386 label: "",
387 placeholder: '表中文/英文名',
388 field: 'dataSourceGuid',
389 default: '',
390 options: [],
391 props: {
392 label: 'databaseNameZh',
393 value: 'guid'
394 },
395 clearable: true,
396 },
397 ]);
398
399 const fieldItemList = ref([
400 {
401 type: "select",
402 label: "",
403 placeholder: '变更类型',
404 field: 'dataSourceGuid',
405 default: '',
406 options: [],
407 props: {
408 label: 'databaseNameZh',
409 value: 'guid'
410 },
411 clearable: true,
412 },
413 {
414 type: "select",
415 label: "",
416 placeholder: '字段中文/英文名',
417 field: 'dataSourceGuid',
418 default: '',
419 options: [],
420 props: {
421 label: 'databaseNameZh',
422 value: 'guid'
423 },
424 clearable: true,
425 },
426 {
427 type: "select",
428 label: "",
429 placeholder: '表中文/英文名',
430 field: 'dataSourceGuid',
431 default: '',
432 options: [],
433 props: {
434 label: 'databaseNameZh',
435 value: 'guid'
436 },
437 clearable: true,
438 },
439 {
440 type: "select",
441 label: "",
442 placeholder: '分类',
443 field: 'dataSourceGuid',
444 default: '',
445 options: [],
446 props: {
447 label: 'databaseNameZh',
448 value: 'guid'
449 },
450 clearable: true,
451 },
452 {
453 type: "select",
454 label: "",
455 placeholder: '分级',
456 field: 'dataSourceGuid',
457 default: '',
458 options: [],
459 props: {
460 label: 'databaseNameZh',
461 value: 'guid'
462 },
463 clearable: true,
464 },
465 {
466 type: "select",
467 label: "",
468 placeholder: '数据库名',
469 field: 'dataSourceGuid',
470 default: '',
471 options: [],
472 props: {
473 label: 'databaseNameZh',
474 value: 'guid'
475 },
476 clearable: true,
477 },
478 ]);
479
480 const checked1 = ref(false);
481 const checked2 = ref(false);
482
483 const page = ref({
484 limit: 50,
485 curr: 1,
486 sizes: [
487 { label: "10", value: 10 },
488 { label: "50", value: 50 },
489 { label: "100", value: 100 },
490 { label: "150", value: 150 },
491 { label: "200", value: 200 },
492 ],
493 });
494 const searchItemValue: any = ref({});
495 const currTableData: any = ref({});
496 const sheetTableInfo = ref({
497 id: "mapping-table",
498 fields: [
499 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" },
500 { label: "标签", field: "damCode", width: 96 },
501 { label: "分类", field: "damTypeName", width: 380 },
502 { label: "分级", field: "damName", width: 55 },
503 { label: "规则", field: "damTypeName", width: 380 },
504 ],
505 loading: false,
506 data: datas || [],
507 page: {
508 type: "normal",
509 rows: 0,
510 ...page.value,
511 },
512 actionInfo: {
513 show: false
514 },
515 });
516
517 const fieldTableInfo = ref({
518 id: "metadata-table",
519 fields: [
520 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" },
521 { label: "数据库名称", field: "damCode", width: 200 },
522 { label: "数据库名", field: "damTypeName", width: 200 },
523 { label: "总表数", field: "damName", width: 120, align: "right" },
524 { label: "存储量(约/MB)", field: "damTypeName", width: 200, align: "right" },
525 ],
526 loading: false,
527 data: [],
528 page: {
529 type: "normal",
530 rows: 0,
531 ...page.value,
532 },
533 actionInfo: {
534 show: false
535 },
536 })
537
538 const tabChange = (val) => {
539 tabsInfo.value.activeName = val;
540 }
541
542 const getTableData = () => {
543 tableInfo.value.loading = true;
544 getListingList(
545 Object.assign({}, searchItemValue.value, {
546 pageIndex: page.value.curr,
547 pageSize: page.value.limit,
548 })
549 ).then((res: any) => {
550 tableInfo.value.loading = false;
551 tableInfo.value.data = res.data.records || [];
552 tableInfo.value.page.curr = res.data.pageIndex;
553 tableInfo.value.page.limit = res.data.pageSize;
554 tableInfo.value.page.rows = res.data.totalRows;
555 })
556 .catch((res) => {
557 tableInfo.value.loading = false;
558 });
559 };
560
561 const tableBtnClick = (scope, btn) => {
562 const type = btn.value;
563 const row = scope.row;
564 currTableData.value = row;
565 if (type == "detail" || type === "edit") {
566 toPath(type);
567 } else if (type === "delete") {
568 open("此操作将永久删除,是否继续?", "warning");
569 }
570 };
571
572 const toPath = (type = null) => {
573 router.push({
574 name: "taskConfig",
575 query: {
576 type
577 },
578 });
579 }
580
581 const tablePageChange = (info) => {
582 page.value.curr = Number(info.curr);
583 page.value.limit = Number(info.limit);
584 tableInfo.value.page.limit = page.value.limit;
585 tableInfo.value.page.curr = page.value.curr;
586 getTableData();
587 };
588
589 const open = (msg, type, isBatch = false) => {
590 ElMessageBox.confirm(msg, "提示", {
591 confirmButtonText: "确定",
592 cancelButtonText: "取消",
593 type: type,
594 }).then(() => {
595 const guids = [currTableData.value.guid];
596 listingDelete(guids).then((res: any) => {
597 if (res.code == proxy.$passCode) {
598 getFirstPageData();
599 ElMessage({
600 type: "success",
601 message: "删除成功",
602 });
603 } else {
604 ElMessage({
605 type: "error",
606 message: res.msg,
607 });
608 }
609 }).catch((res) => {
610 tableInfo.value.loading = false;
611 });
612 });
613 };
614
615 const getFirstPageData = () => {
616 page.value.curr = 1
617 tableInfo.value.page.curr = 1;
618 getTableData();
619 }
620
621 const btnClick = async (btn, bType = null) => {
622 const type = btn.value;
623 };
624
625 /** 搜索查询分类分级模板。 */
626 const searchTemplate = (val: any, clear: boolean = false) => {
627 // page.value.curr = 1;
628 // if (clear) {
629 // searchItemList.value.map(item => item.default = '')
630 // page.value.planName = '';
631 // page.value.state = null;
632 // getTableData();
633 // return;
634 // }
635 // page.value.planName = val.planName;
636 // page.value.state = val.state;
637 // getTableData();
638 };
639
640 const changTable = () => {
641 // toSearch({})
642 };
643
644 const getPermissionList = (val, init = false) => {
645 let params: any = val ? { ...val } : {}
646 // params.pageIndex = listPage.value.curr;
647 // params.pageSize = listPage.value.limit;
648 // getPermissionDictList(params).then((res: any) => {
649 // if (res.code == proxy.$passCode) {
650 // const data = res.data?.records || []
651 // if (init) {
652 // permissionList.value = JSON.parse(JSON.stringify(data))
653 // currpermissionList.value = JSON.parse(JSON.stringify(data))
654 // listPage.value.totalPages = res.data.totalPages
655 // toSearch({})
656 // } else {
657 // permissionList.value.push(...JSON.parse(JSON.stringify(data)))
658 // querySearch(asideSearchInput.value)
659 // }
660 // }
661 // listLoading.value = false
662 // }).catch(() => {
663 // listLoading.value = false
664 // })
665 }
666
667 onActivated(() => {
668
669 })
670
671 onBeforeMount(() => {
672
673 })
674
675 </script>
676
677 <template>
678 <div class="container_wrap full flex">
679 <div class="main_wrap full">
680 <div class="content_main panel">
681 <div class="template_panel">
682 <div class="panel_title">
683 <span class="title_text">{{ templateInfo.title }}</span>
684 <div class="title_desc">
685 <div class="desc_group" v-for="desc in templateInfo.descGroup">
686 <span class="desc_label">{{ desc.label }}</span>
687 <span class="desc_value">{{ desc.value }}</span>
688 </div>
689 </div>
690 </div>
691 <div class="panel_tags">
692 <el-tag v-for="tag in templateInfo.tags" :type="tag.type">{{ tag.name }}</el-tag>
693 </div>
694 <p class="panel_desc">{{ templateInfo.desc }}</p>
695 </div>
696 <div class="panel_content">
697 <Tabs class="panel_tabs" :tabs-info="tabsInfo" @tab-change="tabChange" />
698 <div class="panel" v-show="tabsInfo.activeName == 'sheet'">
699 <div class="table_tool_wrap">
700 <TableTools :searchItems="sheetItemList" :searchId="'template-manage-search'" @search="searchTemplate" />
701 </div>
702 <div class="table_panel_wrap">
703 <Table :tableInfo="sheetTableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" />
704 </div>
705 </div>
706 <div class="panel" v-show="tabsInfo.activeName == 'field'">
707 <div class="table_tool_wrap">
708 <TableTools :searchItems="fieldItemList" :searchId="'template-manage-search'" @search="searchTemplate" />
709 <div class="tools_btns">
710 <div class="btns">
711 <el-button type="primary" plain @click="btnClick({ value: 'batch' })">批量变量分类分级</el-button>
712 <el-button plain @click="btnClick({ value: 'import' })">导入</el-button>
713 <el-button plain @click="btnClick({ value: 'export' })">导出</el-button>
714 </div>
715 <div class="checkboxs">
716 <el-checkbox v-model="checked1">仅看未分级分类</el-checkbox>
717 <el-checkbox v-model="checked2">仅看变更</el-checkbox>
718 </div>
719 </div>
720 </div>
721 <div class="table_panel_wrap panel">
722 <div class="table_panel">
723 <el-table ref="costTableRef" :data="fieldTableInfo.data" show-summary border>
724 <el-table-column v-for="(item, i) in fieldTableInfo.fields" :label="item.label" :width="item.width"
725 :min-width="item.minWidth" :fixed="item.fixed" :align="item.align"
726 :sortable="item.sortable ?? false" :prop="item.field" :class-name="item.columClass"
727 show-overflow-tooltip>
728 <template #default="scope">
729 <div class="select_cell" v-if="item.type == 'select'">
730 <el-select v-model="scope.row[item.field]" :placeholder="item.placeholder"
731 :disabled="item.disabled" :clearable="item.clearable || true" />
732 </div>
733 <span v-else>
734 {{ item.getName ? item.getName(scope) : scope.row[item.field] !== 0 && !scope.row[item.field] ?
735 "--" : scope.row[item.field] }}
736 </span>
737 </template>
738 </el-table-column>
739 </el-table>
740 </div>
741 </div>
742 </div>
743 </div>
744 </div>
745 <div class="tool_btns">
746 <div class="btns">
747 <el-button @click="btnClick({ value: 'cancel' })">暂存</el-button>
748 <el-button type="primary" @click="btnClick({ value: 'next' })">确认变更</el-button>
749 </div>
750 </div>
751 </div>
752 </div>
753 </template>
754
755 <style scoped lang="scss">
756 .container_wrap {
757 .aside_wrap {
758 width: 199px;
759 border-right: 1px solid #d9d9d9;
760 box-shadow: none;
761
762 .aside_title {
763 width: calc(100% - 32px);
764 display: inline-block;
765 }
766
767 .icon-add.el-icon {
768 width: 24px;
769 height: 24px;
770 vertical-align: middle;
771 cursor: pointer;
772
773 svg {
774 width: 24px;
775 height: 24px;
776 }
777 }
778
779 .tree_panel {
780 height: calc(100% - 72px);
781 padding-top: 0;
782 border-bottom: 1px solid #d9d9d9;
783
784 :deep(.el-tree) {
785 margin: 0;
786 height: calc(100% - 32px);
787 overflow: hidden auto;
788 }
789 }
790
791 .page_nav_wrap.concise {
792 justify-content: center;
793 }
794
795 }
796 }
797
798 .container_wrap {
799 overflow: hidden auto;
800
801 .main_wrap {
802 padding: 0;
803
804 &.full {
805 width: 100%;
806 }
807
808 .content_main {
809 display: flex;
810 flex-direction: column;
811 height: calc(100% - 45px);
812 overflow: hidden auto;
813 flex: 1;
814
815 &.panel {
816 padding: 0 16px;
817 }
818
819 .template_panel {
820 padding: 0 8px;
821
822 .panel_title {
823 display: flex;
824 justify-content: space-between;
825 align-items: center;
826 margin: 8px 0;
827
828 .title_text {
829 font-size: 16px;
830 color: #212121;
831 line-height: 24px;
832 font-weight: 600;
833 }
834
835 .title_desc {
836 display: flex;
837
838 .desc_group {
839 margin-left: 16px;
840 }
841 }
842 }
843
844 .panel_tags {
845 .el-tag {
846 margin-right: 8px;
847 }
848 }
849
850 .panel_desc {
851 margin: 8px 0;
852 font-size: 14px;
853 color: #666;
854 }
855 }
856
857 .panel_content {
858 height: 100%;
859
860 .panel {
861 height: calc(100% - 51px);
862 }
863
864 :deep(.panel_tabs) {
865 .el-tabs__header {
866 margin-bottom: 8px;
867 }
868
869 .el-tabs__nav-scroll {
870 // margin: 0 16px;
871 }
872 }
873
874 :deep(.table_tool_wrap) {
875 .table-tools {
876 .tools_search {
877 padding-top: 4px;
878 }
879 }
880 }
881
882 .tools_btns {
883 display: flex;
884 justify-content: space-between;
885 align-items: center;
886 padding: 4px 0 8px;
887 }
888
889 .table_panel_wrap {
890 width: 100%;
891 height: calc(100% - 40px);
892 padding: 4px 0 0;
893
894 &.panel {
895 height: calc(100% - 80px);
896 }
897 }
898 }
899 }
900
901 .tool_btns {
902 height: 44px;
903 margin: 0 -8px;
904 display: flex;
905 justify-content: center;
906 align-items: center;
907 border-top: 1px solid #d9d9d9;
908 }
909 }
910 }
911 </style>
...@@ -20,68 +20,7 @@ const userStore = useUserStore(); ...@@ -20,68 +20,7 @@ const userStore = useUserStore();
20 const userData = JSON.parse(userStore.userData); 20 const userData = JSON.parse(userStore.userData);
21 const assetStore = useDataAssetStore(); 21 const assetStore = useDataAssetStore();
22 22
23 const step = ref(0); 23 const data1 = [
24 const selectIndex = ref(0);
25 const asideSearchInput = ref("");
26 const permissionList: any = ref([])
27 const listLoading = ref(false)
28 const listPage = ref({
29 limit: 50,
30 curr: 1,
31 totalPages: 0
32 })
33 const currpermissionList: any = ref([
34 {
35 "guid": "62d01ad586774db2bb3955dfb2d18366",
36 "productGuid": null,
37 "productName": null,
38 "dataPermissionName": "当前用户",
39 "bizState": "Y",
40 "createUserName": "数往知来管理员",
41 "createTime": "2024-01-24 14:08:43",
42 "sqlScript": null,
43 "dataSourceGuid": null
44 },
45 {
46 "guid": "d68a27c1998540a2b8e8f22a2d5eebef",
47 "productGuid": null,
48 "productName": null,
49 "dataPermissionName": "组织权限",
50 "bizState": "Y",
51 "createUserName": "数往知来管理员",
52 "createTime": "2024-01-24 11:47:02",
53 "sqlScript": null,
54 "dataSourceGuid": null
55 }
56 ])
57 const templateInfo = ref({
58 title: '医疗数据分类分级模板',
59 descGroup: [
60 { label: '模型确认人', value: '管理员 ' },
61 { label: '模型确认时间', value: '2021-12-12 09:12:13' },
62 ],
63 tags: [
64 { type: 'info', name: '医疗行业分类' },
65 { type: 'success', name: '五级' },
66 { type: 'primary', name: 'V5' },
67 ],
68 desc: '适用于各级医疗机构、卫生健康管理部门、公共卫生服务机构、相关专项业务服务机构、相关信息技术服务机构等开展医疗健康数据分类分级。适用于各级医疗机构、卫生健康管理部门、公共卫生服务机构、相关专项业务服务机构、相关信息技术服务机构等开展医疗健康数据分类分级。适用于各级医疗机构、卫生健康。'
69 })
70 const treeIndex: any = ref({})
71
72 const treeInfo = ref({
73 id: "data-pickup-tree",
74 filter: true,
75 queryValue: "",
76 queryPlaceholder: "输入组织名称搜索",
77 props: {
78 label: "organisationName",
79 value: "guid",
80 },
81 nodeKey: 'guid',
82 expandedKey: [],
83 expandOnNodeClick: false,
84 data: [
85 { 24 {
86 "children": [ 25 "children": [
87 { 26 {
...@@ -363,7 +302,70 @@ const treeInfo = ref({ ...@@ -363,7 +302,70 @@ const treeInfo = ref({
363 "levelCode": "8", 302 "levelCode": "8",
364 "displayCreateTime": "2024-01-16 11:38:24" 303 "displayCreateTime": "2024-01-16 11:38:24"
365 } 304 }
305 ]
306
307 const step = ref(0);
308 const selectIndex = ref(0);
309 const asideSearchInput = ref("");
310 const permissionList: any = ref([])
311 const listLoading = ref(false)
312 const listPage = ref({
313 limit: 50,
314 curr: 1,
315 totalPages: 0
316 })
317 const currpermissionList: any = ref([
318 {
319 "guid": "62d01ad586774db2bb3955dfb2d18366",
320 "productGuid": null,
321 "productName": null,
322 "dataPermissionName": "当前用户",
323 "bizState": "Y",
324 "createUserName": "数往知来管理员",
325 "createTime": "2024-01-24 14:08:43",
326 "sqlScript": null,
327 "dataSourceGuid": null
328 },
329 {
330 "guid": "d68a27c1998540a2b8e8f22a2d5eebef",
331 "productGuid": null,
332 "productName": null,
333 "dataPermissionName": "组织权限",
334 "bizState": "Y",
335 "createUserName": "数往知来管理员",
336 "createTime": "2024-01-24 11:47:02",
337 "sqlScript": null,
338 "dataSourceGuid": null
339 }
340 ])
341 const templateInfo = ref({
342 title: '医疗数据分类分级模板',
343 descGroup: [
344 { label: '模型确认人', value: '管理员 ' },
345 { label: '模型确认时间', value: '2021-12-12 09:12:13' },
366 ], 346 ],
347 tags: [
348 { type: 'info', name: '医疗行业分类' },
349 { type: 'success', name: '五级' },
350 { type: 'primary', name: 'V5' },
351 ],
352 desc: '适用于各级医疗机构、卫生健康管理部门、公共卫生服务机构、相关专项业务服务机构、相关信息技术服务机构等开展医疗健康数据分类分级。适用于各级医疗机构、卫生健康管理部门、公共卫生服务机构、相关专项业务服务机构、相关信息技术服务机构等开展医疗健康数据分类分级。适用于各级医疗机构、卫生健康。'
353 })
354 const treeIndex: any = ref({})
355
356 const treeInfo = ref({
357 id: "data-pickup-tree",
358 filter: true,
359 queryValue: "",
360 queryPlaceholder: "输入组织名称搜索",
361 props: {
362 label: "organisationName",
363 value: "guid",
364 },
365 nodeKey: 'guid',
366 expandedKey: [],
367 expandOnNodeClick: false,
368 data: data1 || [],
367 }); 369 });
368 370
369 const expand1 = ref(true) 371 const expand1 = ref(true)
...@@ -436,6 +438,8 @@ const tableInfo = ref({ ...@@ -436,6 +438,8 @@ const tableInfo = ref({
436 438
437 const metadataTableInfo = ref({ 439 const metadataTableInfo = ref({
438 id: "metadata-table", 440 id: "metadata-table",
441 multiple: true,
442 rowKey: 'guid',
439 fields: [ 443 fields: [
440 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" }, 444 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" },
441 { label: "数据库名称", field: "damCode", width: 200 }, 445 { label: "数据库名称", field: "damCode", width: 200 },
......
1 <route lang="yaml">
2 name: taskLog //分类分级任务日志
3 </route>
4
5 <script lang="ts" setup name="taskLog">
6 import { ref, onMounted } from "vue";
7 import { useRouter, useRoute } from "vue-router";
8 import useUserStore from "@/store/modules/user";
9 import { ElMessage, ElMessageBox } from "element-plus";
10
11 import useDataAssetStore from "@/store/modules/dataAsset";
12 import { getListingList, listingDelete, listingUpdateStatus, filterVal, getParamsDataList } from "@/api/modules/dataProduct";
13 import { TableColumnWidth } from '@/utils/enum';
14
15 import Table from "@/components/Table/index.vue";
16
17 const { proxy } = getCurrentInstance() as any;
18 const router = useRouter();
19 const userStore = useUserStore();
20 const userData = JSON.parse(userStore.userData);
21 const assetStore = useDataAssetStore();
22 const datas = [
23 {
24 "updateTime": "2024-07-16 13:17:00",
25 "updateUserName": "数往知来管理员",
26 "guid": "4e0e76c48fa043d5b35d09f3ccc7c265",
27 "approvalGuid": null,
28 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
29 "fieldStandardCode": "COL202406070021",
30 "dataVersion": 1,
31 "chName": "地址",
32 "enName": "address",
33 "dataTypeValue": "字符型",
34 "dataTypeCode": "varchar",
35 "dataDicGuid": "",
36 "dataDicName": null,
37 "isDataDic": "N",
38 "fieldLength": 600,
39 "fieldPrecision": null,
40 "dataState": 0,
41 "approveState": "N",
42 "dataCategory": "合伙人",
43 "dataEncryptionLevel": "界面加密",
44 "businessDefDesc": "地址",
45 "flowFlag": null,
46 "flowCode": null,
47 "functionCode": null,
48 "createStaffGuid": null,
49 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
50 "displayVersion": "V1",
51 "standardSetName": null,
52 "ruleType": null
53 },
54 {
55 "updateTime": "2024-01-27 10:19:45",
56 "updateUserName": "数往知来管理员",
57 "guid": "bc630207357c466dbff7613ea38985cc",
58 "approvalGuid": null,
59 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
60 "fieldStandardCode": "COL202401260124",
61 "dataVersion": 1,
62 "chName": "包含最小销售包装单元数量",
63 "enName": "inboxQuantity",
64 "dataTypeValue": "整型",
65 "dataTypeCode": "int",
66 "dataDicGuid": null,
67 "dataDicName": null,
68 "isDataDic": null,
69 "fieldLength": null,
70 "fieldPrecision": null,
71 "dataState": 1,
72 "approveState": "A",
73 "dataCategory": null,
74 "dataEncryptionLevel": "明文显示",
75 "businessDefDesc": "当前药品追溯码中包含的最小销售包装单元药品追溯码的数量,发货类型为03时可选",
76 "flowFlag": null,
77 "flowCode": null,
78 "functionCode": null,
79 "createStaffGuid": null,
80 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
81 "displayVersion": "V1",
82 "standardSetName": null,
83 "ruleType": null
84 },
85 {
86 "updateTime": "2024-01-27 11:03:59",
87 "updateUserName": "审批人4",
88 "guid": "420f2a68bd4441bf92010eadf698b685",
89 "approvalGuid": null,
90 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
91 "fieldStandardCode": "COL202401260122",
92 "dataVersion": 1,
93 "chName": "包装层级",
94 "enName": "packageLevel",
95 "dataTypeValue": "字符型",
96 "dataTypeCode": "varchar",
97 "dataDicGuid": null,
98 "dataDicName": null,
99 "isDataDic": null,
100 "fieldLength": 200,
101 "fieldPrecision": null,
102 "dataState": 1,
103 "approveState": "A",
104 "dataCategory": null,
105 "dataEncryptionLevel": "明文显示",
106 "businessDefDesc": "当前药品追溯码所处包装层级描述,发货类型为03时可选",
107 "flowFlag": null,
108 "flowCode": null,
109 "functionCode": null,
110 "createStaffGuid": null,
111 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
112 "displayVersion": "V1",
113 "standardSetName": null,
114 "ruleType": null
115 },
116 {
117 "updateTime": "2024-06-06 10:01:06",
118 "updateUserName": "审批人1",
119 "guid": "f841e1848ab94b1e81a0217a09a7a3d3",
120 "approvalGuid": "b674bffe8d2f4132918016b6baaf75aa",
121 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
122 "fieldStandardCode": "COL202401260120",
123 "dataVersion": 1,
124 "chName": "上一级包装药品追溯码",
125 "enName": "parentDTC",
126 "dataTypeValue": "字符型",
127 "dataTypeCode": "varchar",
128 "dataDicGuid": "",
129 "dataDicName": null,
130 "isDataDic": "N",
131 "fieldLength": 200,
132 "fieldPrecision": null,
133 "dataState": 1,
134 "approveState": "Y",
135 "dataCategory": "",
136 "dataEncryptionLevel": "明文显示",
137 "businessDefDesc": "当前药品追溯码大一级包装上的药品追溯码,发货类型为03时可选;当存在上一级包装时必选",
138 "flowFlag": null,
139 "flowCode": null,
140 "functionCode": null,
141 "createStaffGuid": null,
142 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
143 "displayVersion": "V1",
144 "standardSetName": null,
145 "ruleType": null
146 },
147 {
148 "updateTime": "2024-01-26 00:10:47",
149 "updateUserName": "数往知来管理员",
150 "guid": "d4d42dea2a5844b4a7f9238806ea507b",
151 "approvalGuid": null,
152 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
153 "fieldStandardCode": "COL202401260118",
154 "dataVersion": 1,
155 "chName": "药品追溯码",
156 "enName": "DTC",
157 "dataTypeValue": "字符型",
158 "dataTypeCode": "varchar",
159 "dataDicGuid": null,
160 "dataDicName": null,
161 "isDataDic": null,
162 "fieldLength": 200,
163 "fieldPrecision": null,
164 "dataState": 0,
165 "approveState": "N",
166 "dataCategory": null,
167 "dataEncryptionLevel": "明文显示",
168 "businessDefDesc": "用于唯一标识药品各级销售包装单元的代码,发货类型为03时可选",
169 "flowFlag": null,
170 "flowCode": null,
171 "functionCode": null,
172 "createStaffGuid": null,
173 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
174 "displayVersion": "V1",
175 "standardSetName": null,
176 "ruleType": null
177 },
178 {
179 "updateTime": "2024-01-26 00:10:47",
180 "updateUserName": "数往知来管理员",
181 "guid": "ff9d0e4f6fbb444c8dcf6f67bffcb659",
182 "approvalGuid": null,
183 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
184 "fieldStandardCode": "COL202401260116",
185 "dataVersion": 1,
186 "chName": "发货数量",
187 "enName": "deliveryQuantity",
188 "dataTypeValue": "整型",
189 "dataTypeCode": "int",
190 "dataDicGuid": null,
191 "dataDicName": null,
192 "isDataDic": null,
193 "fieldLength": null,
194 "fieldPrecision": null,
195 "dataState": 0,
196 "approveState": "N",
197 "dataCategory": null,
198 "dataEncryptionLevel": "明文显示",
199 "businessDefDesc": "发货的最小销售包装单元数量",
200 "flowFlag": null,
201 "flowCode": null,
202 "functionCode": null,
203 "createStaffGuid": null,
204 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
205 "displayVersion": "V1",
206 "standardSetName": null,
207 "ruleType": null
208 },
209 {
210 "updateTime": "2024-01-26 00:10:46",
211 "updateUserName": "数往知来管理员",
212 "guid": "fe88ac9e8d9c4f148833dbb3976fca77",
213 "approvalGuid": null,
214 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
215 "fieldStandardCode": "COL202401260114",
216 "dataVersion": 1,
217 "chName": "药品生产批号",
218 "enName": "batch",
219 "dataTypeValue": "字符型",
220 "dataTypeCode": "varchar",
221 "dataDicGuid": null,
222 "dataDicName": null,
223 "isDataDic": null,
224 "fieldLength": 20,
225 "fieldPrecision": null,
226 "dataState": 0,
227 "approveState": "N",
228 "dataCategory": null,
229 "dataEncryptionLevel": "明文显示",
230 "businessDefDesc": "药品包装上标示的生产批号",
231 "flowFlag": null,
232 "flowCode": null,
233 "functionCode": null,
234 "createStaffGuid": null,
235 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
236 "displayVersion": "V1",
237 "standardSetName": null,
238 "ruleType": null
239 },
240 {
241 "updateTime": "2024-01-26 00:10:45",
242 "updateUserName": "数往知来管理员",
243 "guid": "9759837e0d72472ab7441c1873c9159a",
244 "approvalGuid": null,
245 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
246 "fieldStandardCode": "COL202401260112",
247 "dataVersion": 1,
248 "chName": "药品有效期截止日期",
249 "enName": "expirationDate",
250 "dataTypeValue": "日期型",
251 "dataTypeCode": "date",
252 "dataDicGuid": null,
253 "dataDicName": null,
254 "isDataDic": null,
255 "fieldLength": null,
256 "fieldPrecision": null,
257 "dataState": 0,
258 "approveState": "N",
259 "dataCategory": null,
260 "dataEncryptionLevel": "明文显示",
261 "businessDefDesc": "药品有效期的截止日期",
262 "flowFlag": null,
263 "flowCode": null,
264 "functionCode": null,
265 "createStaffGuid": null,
266 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
267 "displayVersion": "V1",
268 "standardSetName": null,
269 "ruleType": null
270 },
271 {
272 "updateTime": "2024-01-26 00:10:45",
273 "updateUserName": "数往知来管理员",
274 "guid": "a39ed6123c6a420d9d1265315e714f86",
275 "approvalGuid": null,
276 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
277 "fieldStandardCode": "COL202401260110",
278 "dataVersion": 1,
279 "chName": "药品生产日期",
280 "enName": "productionDate",
281 "dataTypeValue": "日期型",
282 "dataTypeCode": "date",
283 "dataDicGuid": null,
284 "dataDicName": null,
285 "isDataDic": null,
286 "fieldLength": null,
287 "fieldPrecision": null,
288 "dataState": 0,
289 "approveState": "N",
290 "dataCategory": null,
291 "dataEncryptionLevel": "明文显示",
292 "businessDefDesc": "药品包装上标示的生产日期",
293 "flowFlag": null,
294 "flowCode": null,
295 "functionCode": null,
296 "createStaffGuid": null,
297 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
298 "displayVersion": "V1",
299 "standardSetName": null,
300 "ruleType": null
301 },
302 {
303 "updateTime": "2024-01-26 00:10:45",
304 "updateUserName": "数往知来管理员",
305 "guid": "ea597c1b8bb24a5ab053a80b084de98c",
306 "approvalGuid": null,
307 "standardSetGuid": "58d1178a04904d599284fc1e61594c43",
308 "fieldStandardCode": "COL202401260108",
309 "dataVersion": 1,
310 "chName": "统一社会信用代码(进口药品代理企业)",
311 "enName": "drugImporterUSCID",
312 "dataTypeValue": "字符型",
313 "dataTypeCode": "varchar",
314 "dataDicGuid": null,
315 "dataDicName": null,
316 "isDataDic": null,
317 "fieldLength": 18,
318 "fieldPrecision": null,
319 "dataState": 0,
320 "approveState": "N",
321 "dataCategory": null,
322 "dataEncryptionLevel": "明文显示",
323 "businessDefDesc": "进口药品代理企业的统一社会信用代码,进口药品必选;没有统一社会信用代码时使用组织机构代码",
324 "flowFlag": null,
325 "flowCode": null,
326 "functionCode": null,
327 "createStaffGuid": null,
328 "createUserId": "98df01b8d86c46f786dd10b4d0eb11dd",
329 "displayVersion": "V1",
330 "standardSetName": null,
331 "ruleType": null
332 }
333 ]
334
335 const page = ref({
336 limit: 50,
337 curr: 1,
338 sizes: [
339 { label: "10", value: 10 },
340 { label: "50", value: 50 },
341 { label: "100", value: 100 },
342 { label: "150", value: 150 },
343 { label: "200", value: 200 },
344 ],
345 });
346 const searchItemValue: any = ref({});
347 const currTableData: any = ref({});
348 const tableInfo = ref({
349 id: "mapping-table",
350 fields: [
351 { label: "序号", type: "index", width: 56, align: "center", fixed: "left" },
352 { label: "任务名称", field: "chName", width: 96 },
353 {
354 label: "目录名称", field: "dataTypeValue", width: 120, type: "text_btn", columClass: 'text_btn', click: (scope) => {
355 router.push({
356 name: "templateConfig",
357 query: { guid: scope.row.damGuid },
358 });
359 }
360 },
361 { label: "分类分级模板", field: "dataTypeValue", width: 200 },
362 { label: "元数据", field: "fieldStandardCode", width: 200 },
363 // {
364 // label: "是否公共数据", field: "isPublicData", width: 120, getName: (scope) => {
365 // return scope.row.isPublicData == 'Y' ? '是' : '否';
366 // }
367 // },
368 {
369 label: "执行状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => {
370 return filterVal(scope.row.approveState, 'approveState');
371 }
372 },
373 { label: "任务修改人", field: "dataCategory", width: 120 },
374 { label: "修改时间", field: "updateTime", width: TableColumnWidth.DATETIME },
375 { label: "确认次数", field: "fieldLength", width: 96, align: 'right' },
376 { label: "结果确认人", field: "updateUserName", width: 120 },
377 { label: "确认时间", field: "updateTime", width: TableColumnWidth.DATETIME },
378 {
379 label: "结果状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => {
380 return filterVal(scope.row.approveState, 'approveState');
381 }
382 },
383 ],
384 loading: false,
385 data: datas || [],
386 page: {
387 type: "normal",
388 rows: 0,
389 ...page.value,
390 },
391 actionInfo: {
392 label: "操作",
393 type: "btn",
394 width: 280,
395 btns: (scope) => {
396 let row = scope.row, btnArr: any = [
397 { label: "结果确认", value: "confirm" },
398 { label: "结果修改", value: "modify" },
399 { label: "编辑", value: "edit" },
400 { label: "日志", value: "log" },
401 { label: "删除", value: "delete" }
402 ];
403 // if (row.approveState == 'Y') {
404 // if (row.listingStatus == 'Y') {
405 // btnArr.splice(0, 0, { label: "详情", value: "detail" });
406 // } else {
407 // btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
408 // }
409 // } else {
410 // if (row.approveState == 'A') {
411 // btnArr.splice(0, 0, { label: "详情", value: "detail" });
412 // } else {
413 // btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
414 // }
415 // }
416 return btnArr;
417 },
418 },
419 });
420
421 const getTableData = () => {
422 tableInfo.value.loading = true;
423 getListingList(
424 Object.assign({}, searchItemValue.value, {
425 pageIndex: page.value.curr,
426 pageSize: page.value.limit,
427 })
428 ).then((res: any) => {
429 tableInfo.value.loading = false;
430 tableInfo.value.data = res.data.records || [];
431 tableInfo.value.page.curr = res.data.pageIndex;
432 tableInfo.value.page.limit = res.data.pageSize;
433 tableInfo.value.page.rows = res.data.totalRows;
434 })
435 .catch((res) => {
436 tableInfo.value.loading = false;
437 });
438 };
439
440 const tableBtnClick = (scope, btn) => {
441 const type = btn.value;
442 const row = scope.row;
443 currTableData.value = row;
444 if (type == "detail" || type === "edit") {
445 toPath(type);
446 } else if (type === "delete") {
447 open("此操作将永久删除,是否继续?", "warning");
448 }
449 };
450
451 const toPath = (type) => {
452 if (type == 'add') {
453 router.push({
454 name: "taskEdit",
455 query: {
456 type
457 },
458 });
459 } else {
460 router.push({
461 name: "taskEdit",
462 query: {
463 guid: currTableData.value.guid,
464 name: currTableData.value.damName,
465 type
466 },
467 });
468 }
469 }
470
471 const tablePageChange = (info) => {
472 page.value.curr = Number(info.curr);
473 page.value.limit = Number(info.limit);
474 tableInfo.value.page.limit = page.value.limit;
475 tableInfo.value.page.curr = page.value.curr;
476 getTableData();
477 };
478
479 const open = (msg, type, isBatch = false) => {
480 ElMessageBox.confirm(msg, "提示", {
481 confirmButtonText: "确定",
482 cancelButtonText: "取消",
483 type: type,
484 }).then(() => {
485 const guids = [currTableData.value.guid];
486 listingDelete(guids).then((res: any) => {
487 if (res.code == proxy.$passCode) {
488 getFirstPageData();
489 ElMessage({
490 type: "success",
491 message: "删除成功",
492 });
493 } else {
494 ElMessage({
495 type: "error",
496 message: res.msg,
497 });
498 }
499 }).catch((res) => {
500 tableInfo.value.loading = false;
501 });
502 });
503 };
504
505 const getFirstPageData = () => {
506 page.value.curr = 1
507 tableInfo.value.page.curr = 1;
508 getTableData();
509 }
510
511 onActivated(() => {
512 if (assetStore.isRefresh) {//如果是首次加载,则不需要调用
513 getFirstPageData();
514 assetStore.set(false);
515 }
516 })
517
518 onBeforeMount(() => {
519
520 })
521
522 </script>
523
524 <template>
525 <div class="container_wrap" v-if="tableInfo.data.length">
526 <div class="table_tool_wrap">
527 <div class="table_title">分类分级任务</div>
528 </div>
529 <div class="table_panel_wrap">
530 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" />
531 </div>
532 </div>
533 <div class="container_wrap" v-else>
534 <div class="card-noData">
535 <img src="@/assets/images/no-data.png" :style="{ width: '96px', height: '96px' }" />
536 <p>暂无分类分级任务,<span class="text_btn" @click="toPath('add')">去新建</span></p>
537 </div>
538 </div>
539 </template>
540
541 <style scoped lang="scss">
542 .table_tool_wrap {
543 width: 100%;
544 height: 40px !important;
545 padding: 0 8px;
546
547 .table_title {
548 height: 40px;
549 line-height: 40px;
550 font-weight: 600;
551 font-size: 16px;
552 color: #212121;
553 }
554 }
555
556 .table_panel_wrap {
557 width: 100%;
558 height: calc(100% - 40px);
559 padding: 0px 8px 0;
560 }
561
562 .card-noData {
563 position: absolute;
564 top: 50%;
565 left: 50%;
566 transform: translate(-50%, -50%);
567 display: flex;
568 flex-direction: column;
569 align-items: center;
570 }
571 </style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!