分级分类任务更新
Showing
5 changed files
with
1958 additions
and
88 deletions
| ... | @@ -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 | ... | ... |
src/views/data_inventory/taskDetail.vue
0 → 100644
| 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 }, | ... | ... |
src/views/data_inventory/taskLog.vue
0 → 100644
| 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> |
-
Please register or sign in to post a comment