提交
This commit is contained in:
1 parent
276299ff27
commit
c6c3a37fa7
241 files changed
+17841
-15059
No files matched your search
@@ -1341,6 +1341,19 @@ export function fetchBatchCreateSlots(data: { facilityNodeId: string; rows: numb
|
||||
return request.post({ url: '/web/admin/storage-facility-slots/batch', params: data })
|
||||
}
|
||||
|
||||
export function fetchClearStorageSlots(data: { facilityNodeId: string }) {
|
||||
return request.post({ url: '/web/admin/storage-facility-slots/clear', params: data })
|
||||
}
|
||||
|
||||
export function fetchInsertStorageSlotRow(data: {
|
||||
facilityNodeId: string
|
||||
afterRowNum: number
|
||||
cols: number
|
||||
codePrefix?: string
|
||||
}) {
|
||||
return request.post({ url: '/web/admin/storage-facility-slots/insert-row', params: data })
|
||||
}
|
||||
|
||||
export function fetchUpdateStorageSlot(id: string, data: Record<string, any>) {
|
||||
return request.put({ url: `/web/admin/storage-facility-slots/${id}`, params: data })
|
||||
}
|
||||
|
||||
@@ -27,8 +27,15 @@
|
||||
|
||||
<!-- sections -->
|
||||
<div v-for="section in sections" :key="section.title" class="view-section">
|
||||
<h3>{{ section.title }}</h3>
|
||||
<dl class="view-kv-grid" :class="`view-kv-grid--cols-${gridColumns}`">
|
||||
<h3 v-if="section.title && section.titleStyle !== 'field'">{{ section.title }}</h3>
|
||||
<div v-else-if="section.title && section.titleStyle === 'field'" class="view-field-label">
|
||||
{{ section.title }}
|
||||
</div>
|
||||
<dl
|
||||
v-if="section.fields.length"
|
||||
class="view-kv-grid"
|
||||
:class="`view-kv-grid--cols-${gridColumns}`"
|
||||
>
|
||||
<div
|
||||
v-for="field in section.fields"
|
||||
:key="field.label"
|
||||
@@ -38,11 +45,23 @@
|
||||
<dt>{{ field.label }}</dt>
|
||||
<dd>
|
||||
<el-tag v-if="field.tagType" :type="field.tagType" size="small">{{ field.value ?? '—' }}</el-tag>
|
||||
<ul v-else-if="field.items?.length" class="view-plain-list">
|
||||
<li v-for="(item, idx) in field.items" :key="idx">{{ item }}</li>
|
||||
</ul>
|
||||
<template v-else>{{ field.value ?? '—' }}</template>
|
||||
</dd>
|
||||
</div>
|
||||
</dl>
|
||||
<slot v-if="section.slot" :name="section.slot" />
|
||||
<div
|
||||
v-if="section.slotTitle && section.slotTitleStyle === 'field'"
|
||||
class="view-field-label"
|
||||
>
|
||||
{{ section.slotTitle }}
|
||||
</div>
|
||||
<h3 v-else-if="section.slotTitle">{{ section.slotTitle }}</h3>
|
||||
<div v-if="section.slot" class="view-section-slot">
|
||||
<slot :name="section.slot" />
|
||||
</div>
|
||||
</div>
|
||||
<slot name="append" />
|
||||
</div>
|
||||
@@ -63,7 +82,9 @@
|
||||
|
||||
export interface ViewField {
|
||||
label: string
|
||||
value: string | number | boolean | null | undefined
|
||||
value?: string | number | boolean | null | undefined
|
||||
/** 无编号列表(ul),与 value / tagType 二选一 */
|
||||
items?: string[]
|
||||
span?: boolean
|
||||
/** 传入后以 el-tag 渲染,值为 el-tag 的 type 属性 */
|
||||
tagType?: TagType
|
||||
@@ -72,6 +93,11 @@
|
||||
export interface ViewSection {
|
||||
title: string
|
||||
fields: ViewField[]
|
||||
/** section=区块绿条标题;field=与 KV 字段 label(dt)一致 */
|
||||
titleStyle?: 'section' | 'field'
|
||||
/** 插槽上方标题(可与 fields 同区块,避免额外分割线) */
|
||||
slotTitle?: string
|
||||
slotTitleStyle?: 'section' | 'field'
|
||||
/** 区块内追加内容(如附件列表),对应具名插槽名 */
|
||||
slot?: string
|
||||
}
|
||||
@@ -219,6 +245,41 @@
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.view-plain-list {
|
||||
margin: 0;
|
||||
padding-left: 1.15em;
|
||||
list-style: disc;
|
||||
|
||||
li + li {
|
||||
margin-top: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.view-field-label {
|
||||
margin: 0 0 8px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: #64748b;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.view-section-slot {
|
||||
margin-top: 4px;
|
||||
|
||||
&:not(:first-child) {
|
||||
margin-top: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.view-field-label + .view-section-slot,
|
||||
.view-kv-grid + .view-field-label {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.view-kv-grid + .view-field-label {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.view-kv-grid--cols-3 {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
@@ -283,6 +344,11 @@
|
||||
font-size: 12px;
|
||||
grid-template-columns: 84px 1fr;
|
||||
}
|
||||
|
||||
.view-field-label {
|
||||
margin-bottom: 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_material_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L1"}, {"id": "material_index_getcategorylabel", "label": "getCategoryLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L432"}, {"id": "material_index_getcategorytagtype", "label": "getCategoryTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L438"}, {"id": "material_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L444"}, {"id": "material_index_loaddictoptions", "label": "loadDictOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L483"}, {"id": "material_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L492"}, {"id": "material_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L509"}, {"id": "material_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L514"}, {"id": "material_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L522"}, {"id": "material_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L533"}, {"id": "material_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L541"}, {"id": "material_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L556"}, {"id": "material_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L584"}, {"id": "material_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L589"}, {"id": "material_index_handlestockin", "label": "handleStockIn()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L596"}, {"id": "material_index_handlestockinsubmit", "label": "handleStockInSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L604"}, {"id": "material_index_handlestockout", "label": "handleStockOut()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L622"}, {"id": "material_index_handlestockoutsubmit", "label": "handleStockOutSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L633"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_material_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L356", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_material_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material/index.vue", "source_location": "L357", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_material_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/vLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_site_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L1"}, {"id": "site_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L287"}, {"id": "site_index_formatcontactuserlabel", "label": "formatContactUserLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L332"}, {"id": "site_index_remotesearchcontactusers", "label": "remoteSearchContactUsers()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L342"}, {"id": "site_index_oncontactuserchange", "label": "onContactUserChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L370"}, {"id": "site_index_resolvecontactuserforedit", "label": "resolveContactUserForEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L388"}, {"id": "site_index_loaddictoptions", "label": "loadDictOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L427"}, {"id": "site_index_getsitetypelabel", "label": "getSiteTypeLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L442"}, {"id": "site_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L448"}, {"id": "site_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L452"}, {"id": "site_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L467"}, {"id": "site_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L472"}, {"id": "site_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L478"}, {"id": "site_index_handledialogclose", "label": "handleDialogClose()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L495"}, {"id": "site_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L500"}, {"id": "site_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L508"}, {"id": "site_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L529"}, {"id": "site_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L560"}, {"id": "site_index_handlebatchdelete", "label": "handleBatchDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L567"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_site_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L231", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_site_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L232", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_site_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fullscreen_loading", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/site/index.vue", "source_location": "L233", "weight": 1.0}, {Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_output_type_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/output-type/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_express_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/express/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_workflow_task_pending_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/workflow/task-pending/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L1"}, {"id": "menu_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L358"}, {"id": "menu_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L363"}, {"id": "menu_index_applytreeexpand", "label": "applyTreeExpand()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L368"}, {"id": "menu_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L391"}, {"id": "menu_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L407"}, {"id": "menu_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L411"}, {"id": "menu_index_toggleexpand", "label": "toggleExpand()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L416"}, {"id": "menu_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L423"}, {"id": "menu_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L438"}, {"id": "menu_index_handleaddchild", "label": "handleAddChild()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L447"}, {"id": "menu_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L456"}, {"id": "menu_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L475"}, {"id": "menu_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L507"}, {"id": "menu_index_handledialogclose", "label": "handleDialogClose()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L523"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L273", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L274", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L275", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "target": "menu_index_handleview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/menu/index.vue", "source_location": "L358", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_menu_index_vue", "target": "menu_index_handleselectionchange", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin_ts", "label": "admin.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L1"}, {"id": "api_admin_fetchgetmenulist", "label": "fetchGetMenuList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L10"}, {"id": "api_admin_fetchgetrolelist", "label": "fetchGetRoleList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L19"}, {"id": "api_admin_fetchuseroptions", "label": "fetchUserOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L26"}, {"id": "api_admin_fetchroleoptions", "label": "fetchRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L33"}, {"id": "api_admin_fetchtenantlist", "label": "fetchTenantList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L43"}, {"id": "api_admin_fetchcreatetenant", "label": "fetchCreateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L56"}, {"id": "api_admin_fetchupdatetenant", "label": "fetchUpdateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L71"}, {"id": "api_admin_fetchdeletetenant", "label": "fetchDeleteTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L89"}, {"id": "api_admin_fetchuserlist", "label": "fetchUserList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L100"}, {"id": "api_admin_fetchuserdetail", "label": "fetchUserDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L119"}, {"id": "api_admin_fetchcreateuser", "label": "fetchCreateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L125"}, {"id": "api_admin_fetchupdateuser", "label": "fetchUpdateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L147"}, {"id": "api_admin_fetchdeleteuser", "label": "fetchDeleteUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L170"}, {"id": "api_admin_fetchresetpassword", "label": "fetchResetPassword()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L177"}, {"id": "api_admin_fetchuploaduseravatar", "label": "fetchUploadUserAvatar()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L185"}, {"id": "api_admin_fetchregionlist", "label": "fetchRegionList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L196"}, {"id": "api_admin_fetchactiveregions", "label": "fetchActiveRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L214"}, {"id": "api_admin_fetchnotdeletedregions", "label": "fetchNotDeletedRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L231"}, {"id": "api_admin_fetchcategorylist", "label": "fetchCategoryList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L259"}, {"id": "api_admin_fetchcreatecategory", "label": "fetchCreateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L277"}, {"id": "api_admin_fetchupdatecategory", "label": "fetchUpdateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L290"}, {"id": "api_admin_fetchdeletecategory", "label": "fetchDeleteCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L307"}, {"id": "api_admin_fetchuploadcategoryimage", "label": "fetchUploadCategoryImage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L313"}, {"id": "api_admin_fetchunitlist", "label": "fetchUnitList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L324"}, {"id": "api_admin_fetchcreateunit", "label": "fetchCrLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_role_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/role/index.vue", "source_location": "L1"}, {"id": "role_index_walk", "label": "walk()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/role/index.vue", "source_location": "L516"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_role_index_vue", "target": "role_index_walk", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/role/index.vue", "source_location": "L516", "weight": 1.0}], "raw_calls": [{"caller_nid": "role_index_walk", "callee": "push", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/role/index.vue", "source_location": "L518"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_task_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-task/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_product_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1"}, {"id": "product_index_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1179"}, {"id": "product_index_revokelocalpreview", "label": "revokeLocalPreview()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L2277"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_product_index_vue", "target": "product_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1179", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_product_index_vue", "target": "product_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1190", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_product_index_vue", "target": "product_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1231", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_product_index_vue", "target": "product_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_product_index_vue", "target": "product_index_revokelocalpreview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L2277", "weight": 1.0}], "raw_calls": [{"caller_nid": "product_index_if", "callee": "revokeObjectURL", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1181"}, {"caller_nid": "product_index_if", "callee": "revokeObjectURL", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1192"}, {"caller_nid": "product_index_if", "callee": "applyCategoryPriceCoefficientIfNeeded", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1232"}, {"caller_nid": "product_index_if", "callee": "loadCategoryParameters", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1233"}, {"caller_nid": "product_index_if", "callee": "error", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1574"}, {"caller_nid": "product_index_if", "callee": "error", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L1575"}, {"caller_nid": "product_index_revokelocalpreview", "callee": "withFullscreenLoading", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L2280"}, {"caller_nid": "product_index_revokelocalpreview", "callee": "error", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/product/index.vue", "source_location": "L2284"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L1"}, {"id": "user_index_loadroleoptions", "label": "loadRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L234"}, {"id": "user_index_formatuserdeptdisplay", "label": "formatUserDeptDisplay()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L257"}, {"id": "user_index_formatuserroledisplay", "label": "formatUserRoleDisplay()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L263"}, {"id": "user_index_filterdeptnode", "label": "filterDeptNode()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L305"}, {"id": "user_index_handledeptnodeclick", "label": "handleDeptNodeClick()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L314"}, {"id": "user_index_loaddepttree", "label": "loadDeptTree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L320"}, {"id": "user_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L329"}, {"id": "user_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L346"}, {"id": "user_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L351"}, {"id": "user_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L360"}, {"id": "user_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L376"}, {"id": "user_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L387"}, {"id": "user_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L413"}, {"id": "user_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L453"}, {"id": "user_index_handleresetpwd", "label": "handleResetPwd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L459"}, {"id": "user_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L493"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L217", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L218", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L219", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L220", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "users_wuLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_consumable_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/consumable/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/system-view-dialog/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_insurance_company_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/insurance-company/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin_ts", "label": "admin.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L1"}, {"id": "api_admin_fetchgetmenulist", "label": "fetchGetMenuList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L10"}, {"id": "api_admin_fetchgetrolelist", "label": "fetchGetRoleList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L19"}, {"id": "api_admin_fetchuseroptions", "label": "fetchUserOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L26"}, {"id": "api_admin_fetchroleoptions", "label": "fetchRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L33"}, {"id": "api_admin_fetchtenantlist", "label": "fetchTenantList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L43"}, {"id": "api_admin_fetchcreatetenant", "label": "fetchCreateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L56"}, {"id": "api_admin_fetchupdatetenant", "label": "fetchUpdateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L71"}, {"id": "api_admin_fetchdeletetenant", "label": "fetchDeleteTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L89"}, {"id": "api_admin_fetchuserlist", "label": "fetchUserList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L100"}, {"id": "api_admin_fetchuserdetail", "label": "fetchUserDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L119"}, {"id": "api_admin_fetchcreateuser", "label": "fetchCreateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L125"}, {"id": "api_admin_fetchupdateuser", "label": "fetchUpdateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L147"}, {"id": "api_admin_fetchdeleteuser", "label": "fetchDeleteUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L170"}, {"id": "api_admin_fetchresetpassword", "label": "fetchResetPassword()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L177"}, {"id": "api_admin_fetchuploaduseravatar", "label": "fetchUploadUserAvatar()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L185"}, {"id": "api_admin_fetchregionlist", "label": "fetchRegionList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L196"}, {"id": "api_admin_fetchactiveregions", "label": "fetchActiveRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L214"}, {"id": "api_admin_fetchnotdeletedregions", "label": "fetchNotDeletedRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L231"}, {"id": "api_admin_fetchcategorylist", "label": "fetchCategoryList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L259"}, {"id": "api_admin_fetchcreatecategory", "label": "fetchCreateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L277"}, {"id": "api_admin_fetchupdatecategory", "label": "fetchUpdateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L290"}, {"id": "api_admin_fetchdeletecategory", "label": "fetchDeleteCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L307"}, {"id": "api_admin_fetchuploadcategoryimage", "label": "fetchUploadCategoryImage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L313"}, {"id": "api_admin_fetchunitlist", "label": "fetchUnitList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L324"}, {"id": "api_admin_fetchcreateunit", "label": "fetchCrLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_fullmoon_todo_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L1"}, {"id": "fullmoon_todo_index_for", "label": "for()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L741"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_fullmoon_todo_index_vue", "target": "fullmoon_todo_index_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L741", "weight": 1.0}], "raw_calls": [{"caller_nid": "fullmoon_todo_index_for", "callee": "getCell", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L742"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L1"}, {"id": "category_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L489"}, {"id": "category_index_handlecategorytableselectionchange", "label": "handleCategoryTableSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L494"}, {"id": "category_index_collectids", "label": "collectIds()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L585"}, {"id": "category_index_catch", "label": "catch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L969"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L441", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fullscreen_loading", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L442", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L443", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "vue_draggable_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L445", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fetch_paged_list", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L457", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "category_index_handleview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L489", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "category_index_handlecategorytableselectionchange", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L494", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "category_index_collectids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/category/index.vue", "source_location": "L585", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_category_index_vue", "target": "category_index_catLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_workflow_process_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/workflow/process/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_consumable_pack_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/consumable-pack/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_material_stock_log_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/material-stock-log/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_route_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L1"}, {"id": "process_route_index_get", "label": "get()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L879"}, {"id": "process_route_index_set", "label": "set()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L889"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_route_index_vue", "target": "vue_draggable_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L628", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_route_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_production", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L629", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_route_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L650", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_route_index_vue", "target": "process_route_index_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L879", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_route_index_vue", "target": "process_route_index_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L889", "weight": 1.0}], "raw_calls": [{"caller_nid": "process_route_index_get", "callee": "isArray", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L883"}, {"caller_nid": "process_route_index_get", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L883"}, {"caller_nid": "process_route_index_get", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L884"}, {"caller_nid": "process_route_index_get", "callee": "map", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L884"}, {"caller_nid": "process_route_index_get", "callee": "split", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L884"}, {"caller_nid": "process_route_index_get", "callee": "String", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L884"}, {"caller_nid": "process_route_index_set", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-route/index.vue", "source_location": "L891"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1031", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1032", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_channelviewdialog_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1033", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fullscreen_loading", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1034", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_business", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1035", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_download_attachment", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1036", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1037", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel/index.vue", "source_location": "L1050", "weight": 1.0}], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_exhibition_appointment_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/exhibition-appointment/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_reagent_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/reagent/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_sop_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L1"}, {"id": "sop_index_fullfileurl", "label": "fullFileUrl()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L360"}, {"id": "sop_index_getfilename", "label": "getFileName()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L367"}, {"id": "sop_index_attachmentsfromurls", "label": "attachmentsFromUrls()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L373"}, {"id": "sop_index_attachmentsfromapifiles", "label": "attachmentsFromApiFiles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L386"}, {"id": "sop_index_resolveattachments", "label": "resolveAttachments()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L396"}, {"id": "sop_index_syncsopattachmentsfromlist", "label": "syncSopAttachmentsFromList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L403"}, {"id": "sop_index_isimagefile", "label": "isImageFile()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L410"}, {"id": "sop_index_isvideofile", "label": "isVideoFile()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L420"}, {"id": "sop_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L430"}, {"id": "sop_index_handleattachmentchange", "label": "handleAttachmentChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L457"}, {"id": "sop_index_removeattachment", "label": "removeAttachment()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L505"}, {"id": "sop_index_handlepreviewattachment", "label": "handlePreviewAttachment()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L510"}, {"id": "sop_index_handledownloadattachment", "label": "handleDownloadAttachment()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L517"}, {"id": "sop_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L521"}, {"id": "sop_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L536"}, {"id": "sop_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L541"}, {"id": "sop_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L547"}, {"id": "sop_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L557"}, {"id": "sop_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L565"}, {"id": "sop_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L579"}, {"id": "sop_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L606"}, {"id": "sop_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/sop/index.vue", "source_location": "L611"}, {"id": "sop_index_handlebatchdelete", "label": "handleBatchDelete()", "file_type": "code", "sourLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L1"}, {"id": "qc_task_index_canfillresult", "label": "canFillResult()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L339"}, {"id": "qc_task_index_onmaterialselect", "label": "onMaterialSelect()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L361"}, {"id": "qc_task_index_handlereceptionattachmentdownload", "label": "handleReceptionAttachmentDownload()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L422"}, {"id": "qc_task_index_normalizeresultparams", "label": "normalizeResultParams()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L426"}, {"id": "qc_task_index_toresultnumber", "label": "toResultNumber()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L434"}, {"id": "qc_task_index_setresultnumber", "label": "setResultNumber()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L440"}, {"id": "qc_task_index_hasresultvalue", "label": "hasResultValue()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L444"}, {"id": "qc_task_index_formatmetric", "label": "formatMetric()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L448"}, {"id": "qc_task_index_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L454"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L289", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L290", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_protocol_finance_confirm_fields_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L291", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_protocol_protocolattachmentreadonly_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L292", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L293", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-task/index.vue", "source_location": "L294", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_task_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_protocol_finance_confirm_fields_finance_attachments", "relation": "imports_from", "confidence": "EXTRACTED", "Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_cell_product_type_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/cell-product-type/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L1"}, {"id": "post_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L349"}, {"id": "post_index_findpostbinddeptnodebyid", "label": "findPostBindDeptNodeById()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L383"}, {"id": "post_index_collectpostbinddeptsubtreeids", "label": "collectPostBindDeptSubtreeIds()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L394"}, {"id": "post_index_collectallpostbinddeptids", "label": "collectAllPostBindDeptIds()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L400"}, {"id": "post_index_expandpostbinddepttree", "label": "expandPostBindDeptTree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L412"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L274", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L275", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L276", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fetch_paged_list", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fullscreen_loading", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L278", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L279", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "post_index_handleview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L349", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "post_index_findpostbinddeptnodebyid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L383", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "post_index_collectpostbinddeptsubtreeids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L394", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "post_index_collectallpostbinddeptids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/post/index.vue", "source_location": "L400", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_post_index_vue", "target": "post_index_expandpostbinddepttree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_router_modules_sqxp_ts", "label": "sqxp.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_router_modules_sqxp_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_types_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_refund_confirm_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/refund-confirm/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L1"}, {"id": "storage_facility_index_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L550"}, {"id": "storage_facility_index_push", "label": "push()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L553"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "target": "storage_facility_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L550", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "target": "storage_facility_index_push", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L553", "weight": 1.0}], "raw_calls": [{"caller_nid": "storage_facility_index_if", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L551"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_material_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-material/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L1"}, {"id": "user_index_loadroleoptions", "label": "loadRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L234"}, {"id": "user_index_formatuserdeptdisplay", "label": "formatUserDeptDisplay()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L257"}, {"id": "user_index_formatuserroledisplay", "label": "formatUserRoleDisplay()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L263"}, {"id": "user_index_filterdeptnode", "label": "filterDeptNode()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L305"}, {"id": "user_index_handledeptnodeclick", "label": "handleDeptNodeClick()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L314"}, {"id": "user_index_loaddepttree", "label": "loadDeptTree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L320"}, {"id": "user_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L329"}, {"id": "user_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L346"}, {"id": "user_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L351"}, {"id": "user_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L360"}, {"id": "user_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L376"}, {"id": "user_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L387"}, {"id": "user_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L413"}, {"id": "user_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L453"}, {"id": "user_index_handleresetpwd", "label": "handleResetPwd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L459"}, {"id": "user_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L493"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L217", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L218", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L219", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/user/index.vue", "source_location": "L220", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_user_index_vue", "target": "users_wuLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_router_modules_sqxp_ts", "label": "sqxp.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_router_modules_sqxp_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_types_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_lab_test_item_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/lab-test-item/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_fullmoon_todo_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_sample_reception_check_item_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/sample-reception-check-item/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_third_party_company_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/third-party-company/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_cell_product_price_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/cell-product-price/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_checkup_institution_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/checkup-institution/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_storage_cert_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/storage-cert/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_cell_product_spec_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/cell-product-spec/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_unit_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/unit/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_quality_inspection_qc_work_order_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/quality-inspection/qc-work-order/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_clean_room_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L1"}, {"id": "clean_room_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L430"}, {"id": "clean_room_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L454"}, {"id": "clean_room_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L469"}, {"id": "clean_room_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L474"}, {"id": "clean_room_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L481"}, {"id": "clean_room_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L491"}, {"id": "clean_room_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L499"}, {"id": "clean_room_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L513"}, {"id": "clean_room_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L540"}, {"id": "clean_room_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L545"}, {"id": "clean_room_index_handlebatchdelete", "label": "handleBatchDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L552"}, {"id": "clean_room_index_formatuserlabel", "label": "formatUserLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L601"}, {"id": "clean_room_index_remotesearchusers", "label": "remoteSearchUsers()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L611"}, {"id": "clean_room_index_onpersonselectchange", "label": "onPersonSelectChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L630"}, {"id": "clean_room_index_loaddeptdata", "label": "loadDeptData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L644"}, {"id": "clean_room_index_resolvepersonforedit", "label": "resolvePersonForEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L661"}, {"id": "clean_room_index_handleaccesslog", "label": "handleAccessLog()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L683"}, {"id": "clean_room_index_loadaccesslogdata", "label": "loadAccessLogData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L690"}, {"id": "clean_room_index_resetlogform", "label": "resetLogForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L706"}, {"id": "clean_room_index_handleaddlog", "label": "handleAddLog()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L718"}, {"id": "clean_room_index_handleeditlog", "label": "handleEditLog()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/clean-room/index.vue", "source_location": "L726"}, {"id": "clean_room_index_handlelogsubmit", "label": "handleLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_project_price_system_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L1"}, {"id": "project_price_system_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L351"}, {"id": "project_price_system_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L389"}, {"id": "project_price_system_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L404"}, {"id": "project_price_system_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L409"}, {"id": "project_price_system_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L416"}, {"id": "project_price_system_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L426"}, {"id": "project_price_system_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L435"}, {"id": "project_price_system_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L455"}, {"id": "project_price_system_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L514"}, {"id": "project_price_system_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L526"}, {"id": "project_price_system_index_handlebatchdelete", "label": "handleBatchDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L540"}, {"id": "project_price_system_index_handleopenpriceselector", "label": "handleOpenPriceSelector()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L555"}, {"id": "project_price_system_index_handlepriceselectorchange", "label": "handlePriceSelectorChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L578"}, {"id": "project_price_system_index_handleconfirmpriceselector", "label": "handleConfirmPriceSelector()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L582"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_project_price_system_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L278", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_project_price_system_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L279", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_project_price_system_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/project-price-system/index.vue", "source_location": "L280", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_project_priceLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L1"}, {"id": "storage_facility_index_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L545"}, {"id": "storage_facility_index_push", "label": "push()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L548"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "target": "storage_facility_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L545", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "target": "storage_facility_index_push", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L548", "weight": 1.0}], "raw_calls": [{"caller_nid": "storage_facility_index_if", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L546"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_payment_confirm_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/payment-confirm/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_checkup_institution_checkuppackagepanel_vue", "label": "CheckupPackagePanel.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/checkup-institution/CheckupPackagePanel.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_workflow_my_applications_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/workflow/my-applications/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_process_category_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/process-category/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_system_workflow_task_completed_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/system/workflow/task-completed/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L1"}, {"id": "storage_facility_index_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L544"}, {"id": "storage_facility_index_push", "label": "push()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L547"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "target": "storage_facility_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L544", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_storage_facility_index_vue", "target": "storage_facility_index_push", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L547", "weight": 1.0}], "raw_calls": [{"caller_nid": "storage_facility_index_if", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/storage-facility/index.vue", "source_location": "L545"}]}
|
||||
@@ -97,7 +97,8 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '60000000000000000000000000000001',
|
||||
// 注意:原先使用 6000... 与「科研捐赠管理」sys_menu.id 冲突,改为独立 id 段
|
||||
id: '61000000000000000000000000000001',
|
||||
name: 'Operations',
|
||||
path: '/operations',
|
||||
component: '/index/index',
|
||||
@@ -109,30 +110,42 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
},
|
||||
children: [
|
||||
{
|
||||
id: '60000000000000000000000000000002',
|
||||
id: '61000000000000000000000000000002',
|
||||
name: 'CleanRoom',
|
||||
path: 'clean-room',
|
||||
component: '/operations/clean-room/index',
|
||||
meta: { title: '洁净室管理', keepAlive: true }
|
||||
meta: {
|
||||
title: '洁净室管理',
|
||||
keepAlive: true,
|
||||
menuCode: 'operations:clean-room:list'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '60000000000000000000000000000003',
|
||||
id: '61000000000000000000000000000003',
|
||||
name: 'StorageFacility',
|
||||
path: 'storage-facility',
|
||||
component: '/operations/storage-facility/index',
|
||||
meta: { title: '库位管理', keepAlive: true }
|
||||
meta: {
|
||||
title: '库位管理',
|
||||
keepAlive: true,
|
||||
menuCode: 'operations:storage-facility:list'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '60000000000000000000000000000004',
|
||||
id: '61000000000000000000000000000004',
|
||||
name: 'ExhibitionAppointment',
|
||||
path: 'exhibition-appointment',
|
||||
component: '/operations/exhibition-appointment/index',
|
||||
meta: { title: '展馆预约', keepAlive: true }
|
||||
meta: {
|
||||
title: '展馆预约',
|
||||
keepAlive: true,
|
||||
menuCode: 'operations:exhibition-appointment:list'
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '40000000000000000000000000000001',
|
||||
id: '120',
|
||||
name: 'BasicInfo',
|
||||
path: '/basic-info',
|
||||
component: '/index/index',
|
||||
@@ -144,46 +157,50 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
},
|
||||
children: [
|
||||
{
|
||||
id: '40000000000000000000000000000002',
|
||||
id: '121',
|
||||
name: 'BizCustomer',
|
||||
path: 'customer',
|
||||
component: '/basic-info/customer/index',
|
||||
meta: { title: '客户管理', keepAlive: true }
|
||||
meta: { title: '客户管理', keepAlive: true, menuCode: 'biz:customer:list' }
|
||||
},
|
||||
{
|
||||
id: '40000000000000000000000000000003',
|
||||
id: '122',
|
||||
name: 'BizCellSampleType',
|
||||
path: 'cell-sample-type',
|
||||
component: '/basic-info/cell-sample-type/index',
|
||||
meta: { title: '细胞样本类型管理', keepAlive: true }
|
||||
meta: { title: '细胞样本类型管理', keepAlive: true, menuCode: 'biz:cellSampleType:list' }
|
||||
},
|
||||
{
|
||||
id: '40000000000000000000000000000004',
|
||||
id: '123',
|
||||
name: 'BizCollectionRegion',
|
||||
path: 'collection-region',
|
||||
component: '/basic-info/collection-region/index',
|
||||
meta: { title: '采集地区及医院管理', keepAlive: true }
|
||||
meta: { title: '采集地区及医院管理', keepAlive: true, menuCode: 'biz:collectionRegion:list' }
|
||||
},
|
||||
{
|
||||
id: '40000000000000000000000000000005',
|
||||
id: '124',
|
||||
name: 'BizCollectionProtocolNo',
|
||||
path: 'collection-protocol-no',
|
||||
component: '/basic-info/collection-protocol-no/index',
|
||||
meta: { title: '采集协议号管理', keepAlive: true }
|
||||
meta: { title: '采集协议号管理', keepAlive: true, menuCode: 'biz:collectionProtocolNo:list' }
|
||||
},
|
||||
{
|
||||
id: '40000000000000000000000000000006',
|
||||
id: '125',
|
||||
name: 'BizSampleCode',
|
||||
path: 'sample-code',
|
||||
component: '/basic-info/sample-code/index',
|
||||
meta: { title: '样本编码管理', keepAlive: true }
|
||||
meta: { title: '样本编码管理', keepAlive: true, menuCode: 'biz:sampleCode:list' }
|
||||
},
|
||||
{
|
||||
id: '40000000000000000000000000000007',
|
||||
name: 'BasicInfoInsuranceCompany',
|
||||
path: 'insurance-company',
|
||||
component: '/basic-info/insurance-company/index',
|
||||
meta: { title: '保险公司及险种价格', keepAlive: true }
|
||||
meta: {
|
||||
title: '保险公司及险种价格',
|
||||
keepAlive: true,
|
||||
menuCode: 'basic-info:insurance-company:list'
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -204,63 +221,63 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CellStorageProtocol',
|
||||
path: 'protocol',
|
||||
component: '/cell-storage/protocol/index',
|
||||
meta: { title: '采集协议单录入', keepAlive: true }
|
||||
meta: { title: '采集协议单录入', keepAlive: true, menuCode: 'biz:cellStorageProtocol:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000003',
|
||||
name: 'CellStorageProtocolAudit',
|
||||
path: 'protocol-audit',
|
||||
component: '/cell-storage/protocol-audit/index',
|
||||
meta: { title: '采集协议单管理', keepAlive: true }
|
||||
meta: { title: '采集协议单管理', keepAlive: true, menuCode: 'biz:cellStorageProtocolAudit:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000007',
|
||||
id: '904b5173519411f1944300163e3bdd96',
|
||||
name: 'CellStoragePaymentInfo',
|
||||
path: 'payment-info',
|
||||
component: '/cell-storage/payment-info/index',
|
||||
meta: { title: '缴费信息', keepAlive: true }
|
||||
meta: { title: '缴费信息', keepAlive: true, menuCode: 'cellStorage:paymentInfo:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000004',
|
||||
name: 'CellStoragePaymentConfirm',
|
||||
path: 'payment-confirm',
|
||||
component: '/cell-storage/payment-confirm/index',
|
||||
meta: { title: '缴费确认(财务)', keepAlive: true }
|
||||
meta: { title: '缴费确认(财务)', keepAlive: true, menuCode: 'biz:cellStoragePaymentConfirm:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000005',
|
||||
name: 'CellStorageRefundConfirm',
|
||||
path: 'refund-confirm',
|
||||
component: '/cell-storage/refund-confirm/index',
|
||||
meta: { title: '退费确认(财务)', keepAlive: true }
|
||||
meta: { title: '退费确认(财务)', keepAlive: true, menuCode: 'biz:cellStorageRefundConfirm:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000006',
|
||||
name: 'CellStorageStorageCert',
|
||||
path: 'storage-cert',
|
||||
component: '/cell-storage/storage-cert/index',
|
||||
meta: { title: '储存证管理', keepAlive: true }
|
||||
meta: { title: '储存证管理', keepAlive: true, menuCode: 'cell-storage:storage-cert:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000008',
|
||||
name: 'CellStorageFullmoonTodo',
|
||||
path: 'fullmoon-todo',
|
||||
component: '/cell-storage/fullmoon-todo/index',
|
||||
meta: { title: '满月待办管理', keepAlive: true }
|
||||
meta: { title: '满月待办管理', keepAlive: true, menuCode: 'cell-storage:fullmoon-todo:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000009',
|
||||
name: 'CellStorageMaterial',
|
||||
path: 'material',
|
||||
component: '/cell-storage/material/index',
|
||||
meta: { title: '物料库', keepAlive: true }
|
||||
meta: { title: '物料库', keepAlive: true, menuCode: 'biz:material:list' }
|
||||
},
|
||||
{
|
||||
id: '50000000000000000000000000000010',
|
||||
name: 'CellStorageMaterialStockLog',
|
||||
path: 'material-stock-log',
|
||||
component: '/cell-storage/material-stock-log/index',
|
||||
meta: { title: '物料变动记录', keepAlive: true }
|
||||
meta: { title: '物料变动记录', keepAlive: true, menuCode: 'biz:materialStockLog:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -281,14 +298,14 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'ResearchDonationList',
|
||||
path: 'list',
|
||||
component: '/research-donation/list/index',
|
||||
meta: { title: '捐赠协议单录入', keepAlive: true }
|
||||
meta: { title: '捐赠协议单录入', keepAlive: true, menuCode: 'biz:researchDonation:list' }
|
||||
},
|
||||
{
|
||||
id: '60000000000000000000000000000003',
|
||||
name: 'ResearchDonationAudit',
|
||||
path: 'audit',
|
||||
component: '/research-donation/audit/index',
|
||||
meta: { title: '捐赠协议单管理', keepAlive: true }
|
||||
meta: { title: '捐赠协议单管理', keepAlive: true, menuCode: 'biz:researchDonationAudit:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -399,35 +416,35 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'WorkflowProcess',
|
||||
path: 'process',
|
||||
component: '/system/workflow/process/index',
|
||||
meta: { title: '流程配置', keepAlive: true, icon: 'workflow' }
|
||||
meta: { title: '流程配置', keepAlive: true, icon: 'workflow', menuCode: 'workflow:process' }
|
||||
},
|
||||
{
|
||||
id: '10000000000000000000000000000wf02',
|
||||
name: 'WorkflowPending',
|
||||
path: 'pending',
|
||||
component: '/system/workflow/task-pending/index',
|
||||
meta: { title: '待办中心', keepAlive: true }
|
||||
meta: { title: '待办中心', keepAlive: true, menuCode: 'workflow:pending' }
|
||||
},
|
||||
{
|
||||
id: '10000000000000000000000000000wf03',
|
||||
name: 'WorkflowCompleted',
|
||||
path: 'completed',
|
||||
component: '/system/workflow/task-completed/index',
|
||||
meta: { title: '已办中心', keepAlive: true }
|
||||
meta: { title: '已办中心', keepAlive: true, menuCode: 'workflow:completed' }
|
||||
},
|
||||
{
|
||||
id: '10000000000000000000000000000wf05',
|
||||
name: 'WorkflowMyApplications',
|
||||
path: 'my-applications',
|
||||
component: '/system/workflow/my-applications/index',
|
||||
meta: { title: '我的申请', keepAlive: true }
|
||||
meta: { title: '我的申请', keepAlive: true, menuCode: 'workflow:myApplications' }
|
||||
},
|
||||
{
|
||||
id: '10000000000000000000000000000wf04',
|
||||
name: 'LeaveRequest',
|
||||
path: 'leave',
|
||||
component: '/system/leave/index',
|
||||
meta: { title: '请假申请', keepAlive: true }
|
||||
meta: { title: '请假申请', keepAlive: true, menuCode: 'workflow:leave' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -490,7 +507,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'ProductionSop',
|
||||
path: 'sop',
|
||||
component: '/production/sop/index',
|
||||
meta: { title: 'SOP文档', keepAlive: true, menuCode: 'production:sop:list' }
|
||||
meta: { title: 'SOP文档', keepAlive: true, menuCode: 'production:sop-document:list' }
|
||||
},
|
||||
{
|
||||
id: '90000000000000000000000000000010',
|
||||
@@ -539,42 +556,42 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CellProductType',
|
||||
path: 'cell-product-type',
|
||||
component: '/pilot-service/cell-product-type/index',
|
||||
meta: { title: '细胞产品类型管理', keepAlive: true }
|
||||
meta: { title: '细胞产品类型管理', keepAlive: true, menuCode: 'pilot-service:cell-product-type:list' }
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000003',
|
||||
name: 'CellProductSpec',
|
||||
path: 'cell-product-spec',
|
||||
component: '/pilot-service/cell-product-spec/index',
|
||||
meta: { title: '细胞产品规格管理', keepAlive: true }
|
||||
meta: { title: '细胞产品规格管理', keepAlive: true, menuCode: 'pilot-service:cell-product-spec:list' }
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000004',
|
||||
name: 'CellProductPrice',
|
||||
path: 'cell-product-price',
|
||||
component: '/pilot-service/cell-product-price/index',
|
||||
meta: { title: '细胞产品价格体系管理', keepAlive: true }
|
||||
meta: { title: '细胞产品价格体系管理', keepAlive: true, menuCode: 'pilot-service:cell-product-price:list' }
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000005',
|
||||
name: 'ProjectPriceSystem',
|
||||
path: 'project-price-system',
|
||||
component: '/pilot-service/project-price-system/index',
|
||||
meta: { title: '细胞产品项目价格管理', keepAlive: true }
|
||||
meta: { title: '细胞产品项目价格管理', keepAlive: true, menuCode: 'pilot-service:project-price-system:list' }
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000006',
|
||||
name: 'Channel',
|
||||
path: 'channel',
|
||||
component: '/pilot-service/channel/index',
|
||||
meta: { title: '渠道信息管理', keepAlive: true }
|
||||
meta: { title: '渠道信息管理', keepAlive: true, menuCode: 'pilot-service:channel:list' }
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000007',
|
||||
name: 'CheckupInstitution',
|
||||
path: 'checkup-institution',
|
||||
component: '/pilot-service/checkup-institution/index',
|
||||
meta: { title: '体检机构及项目价格', keepAlive: true }
|
||||
meta: { title: '体检机构及项目价格', keepAlive: true, menuCode: 'pilot-service:checkup-institution:list' }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<el-tag :type="row.status == '1' ? 'success' : 'info'" size="small">{{ row.status == '1' ? '正常' : '停用' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="openItemDialog(row)"><el-icon><Setting /></el-icon>险种价格配置</el-button>
|
||||
@@ -208,7 +208,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="140" align="center" header-align="center" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEditItem(row)"><el-icon><Edit /></el-icon>编辑</el-button>
|
||||
<el-button class="btn-op-item" @click="handleDeleteItem(row)"><el-icon><Delete /></el-icon>删除</el-button>
|
||||
|
||||
@@ -26,7 +26,12 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="待办状态">
|
||||
<el-select v-model="searchForm.todoStatus" placeholder="全部" clearable style="width: 100%">
|
||||
<el-select
|
||||
v-model="searchForm.todoStatus"
|
||||
placeholder="全部"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option label="全部" value="" />
|
||||
<el-option label="未办保险" value="0" />
|
||||
<el-option label="已办保险" value="1" />
|
||||
@@ -58,6 +63,15 @@
|
||||
>
|
||||
<el-icon><EditPen /></el-icon>批量办理保险
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:loading="exportInsuranceLoading"
|
||||
:disabled="selectedRows.length === 0"
|
||||
@click="handleExportInsuranceSheet"
|
||||
>
|
||||
<el-icon><Download /></el-icon>
|
||||
生成投保单
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -82,27 +96,81 @@
|
||||
header-align="center"
|
||||
:index="(i) => (pagination.page - 1) * pagination.pageSize + i + 1"
|
||||
/>
|
||||
<el-table-column prop="protocolNo" label="采集协议号" min-width="160" align="center" header-align="center" />
|
||||
<el-table-column prop="motherName" label="母亲姓名" min-width="100" align="center" header-align="center" />
|
||||
<el-table-column prop="newbornDeliveryTime" label="新生儿分娩时间" min-width="160" align="center" header-align="center" />
|
||||
<el-table-column prop="fullmoonDate" label="满月日期" min-width="120" align="center" header-align="center" />
|
||||
<el-table-column prop="todoStatus" label="待办状态" min-width="100" align="center" header-align="center">
|
||||
<el-table-column
|
||||
prop="protocolNo"
|
||||
label="采集协议号"
|
||||
min-width="160"
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="motherName"
|
||||
label="母亲姓名"
|
||||
min-width="100"
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="newbornDeliveryTime"
|
||||
label="新生儿分娩时间"
|
||||
min-width="160"
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="fullmoonDate"
|
||||
label="满月日期"
|
||||
min-width="120"
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="todoStatus"
|
||||
label="待办状态"
|
||||
min-width="100"
|
||||
align="center"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.todoStatus == 1 ? 'success' : 'warning'" size="small">
|
||||
{{ row.todoStatus == 1 ? '已办保险' : '未办保险' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="insuranceSubscribed" label="是否已订购保险" min-width="130" align="center" header-align="center">
|
||||
<el-table-column
|
||||
prop="insuranceSubscribed"
|
||||
label="是否已订购保险"
|
||||
min-width="130"
|
||||
align="center"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.insuranceSubscribed == 1 ? 'success' : 'info'" size="small">
|
||||
{{ row.insuranceSubscribed == 1 ? '是' : '否' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="insuranceCompanyName" label="保险公司" min-width="140" align="center" header-align="center" />
|
||||
<el-table-column prop="insuranceType" label="保险险种" min-width="120" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column
|
||||
prop="insuranceCompanyName"
|
||||
label="保险公司"
|
||||
min-width="140"
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="insuranceType"
|
||||
label="保险险种"
|
||||
min-width="120"
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
width="260"
|
||||
fixed="right"
|
||||
align="center"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
@@ -148,8 +216,12 @@
|
||||
@closed="handleInsuranceDialogClosed"
|
||||
>
|
||||
<div v-if="isBatchMode" class="batch-insurance-tip">
|
||||
将为已选 <strong>{{ batchEditingRows.length }}</strong> 条记录统一填写保险信息(适用于团体险等场景)。
|
||||
<div v-if="batchProtocolSummary" class="batch-protocol-nos">{{ batchProtocolSummary }}</div>
|
||||
将为已选
|
||||
<strong>{{ batchEditingRows.length }}</strong>
|
||||
条记录统一填写保险信息(适用于团体险等场景)。
|
||||
<div v-if="batchProtocolSummary" class="batch-protocol-nos">{{
|
||||
batchProtocolSummary
|
||||
}}</div>
|
||||
</div>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
@@ -323,7 +395,12 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="办理备注" class="form-col-span-2">
|
||||
<el-input v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入办理备注" />
|
||||
<el-input
|
||||
v-model="formData.remark"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入办理备注"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
@@ -353,6 +430,8 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import ExcelJS from 'exceljs'
|
||||
import FileSaver from 'file-saver'
|
||||
import { ref, reactive, computed, nextTick, onMounted } from 'vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import {
|
||||
@@ -370,7 +449,10 @@
|
||||
Delete
|
||||
} from '@element-plus/icons-vue'
|
||||
import ProtocolViewDialog from '../protocol/ProtocolViewDialog.vue'
|
||||
import type { CollectionProtocolRow } from '@/api/collection-protocol'
|
||||
import {
|
||||
fetchCollectionProtocolDetail,
|
||||
type CollectionProtocolRow
|
||||
} from '@/api/collection-protocol'
|
||||
import { fetchUploadAttachment } from '@/api/business'
|
||||
import { downloadAttachmentFile } from '@/utils/download-attachment'
|
||||
import {
|
||||
@@ -391,6 +473,7 @@
|
||||
const selectedRows = ref<any[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
const exportInsuranceLoading = ref(false)
|
||||
|
||||
function handleSelectionChange(rows: any[]) {
|
||||
selectedRows.value = rows
|
||||
@@ -536,6 +619,152 @@
|
||||
loadData()
|
||||
}
|
||||
|
||||
function formatYmdFromAny(val: unknown) {
|
||||
const text = String(val ?? '').trim()
|
||||
if (!text) return ''
|
||||
const digits = text.replace(/\D/g, '')
|
||||
if (digits.length >= 8) return digits.slice(0, 8)
|
||||
return ''
|
||||
}
|
||||
|
||||
function normalizeNewbornSex(val: unknown) {
|
||||
const text = String(val ?? '').trim()
|
||||
if (!text) return ''
|
||||
if (text === '男' || text === 'M' || text === 'm' || text === '1') return '男'
|
||||
if (text === '女' || text === 'F' || text === 'f' || text === '2') return '女'
|
||||
return text
|
||||
}
|
||||
|
||||
async function handleExportInsuranceSheet() {
|
||||
if (!selectedRows.value.length) {
|
||||
ElMessage.warning('请先选择待办记录')
|
||||
return
|
||||
}
|
||||
exportInsuranceLoading.value = true
|
||||
try {
|
||||
const workbook = new ExcelJS.Workbook()
|
||||
const worksheet = workbook.addWorksheet('新契约+批改')
|
||||
const rows: Array<Array<string | number>> = [
|
||||
[
|
||||
'投保单位:安徽中科兴皖医学研究有限公司',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'保单号:',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
''
|
||||
],
|
||||
['表格中打*号是必填项', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
|
||||
[
|
||||
'序号',
|
||||
'类型',
|
||||
'姓名*',
|
||||
'证件类型*',
|
||||
'证件号码*',
|
||||
'出生日期',
|
||||
'性别',
|
||||
'计划名称*',
|
||||
'生效日期*',
|
||||
'职业(职业代码)*',
|
||||
'职业类别',
|
||||
'特别约定*',
|
||||
'手机号码',
|
||||
'监护人姓名',
|
||||
'监护人证件类型',
|
||||
'监护人证件号码'
|
||||
]
|
||||
]
|
||||
|
||||
let index = 1
|
||||
for (const row of selectedRows.value) {
|
||||
const protocolId = String(row?.protocolId || row?.id || '').trim()
|
||||
if (!protocolId) continue
|
||||
const detail = await fetchCollectionProtocolDetail(protocolId)
|
||||
const partyCustomer = (detail?.partyCustomer || {}) as Record<string, unknown>
|
||||
const newbornName = String(partyCustomer.newbornName || '').trim()
|
||||
if (!newbornName) continue
|
||||
const newbornIdCard = String(partyCustomer.newbornIdCard || '').trim()
|
||||
const newbornBirth = formatYmdFromAny(partyCustomer.newbornDeliveryTime)
|
||||
const newbornSex = normalizeNewbornSex(partyCustomer.newbornSex)
|
||||
const motherPhone = String(partyCustomer.motherPhone || '').trim()
|
||||
const motherName = String(partyCustomer.motherName || '').trim()
|
||||
const motherIdCard = String(partyCustomer.motherIdCard || '').trim()
|
||||
|
||||
rows.push([
|
||||
index,
|
||||
'新契约',
|
||||
newbornName,
|
||||
'身份证',
|
||||
newbornIdCard,
|
||||
newbornBirth,
|
||||
newbornSex,
|
||||
'',
|
||||
'',
|
||||
'1201002',
|
||||
'1类',
|
||||
'新保',
|
||||
motherPhone,
|
||||
motherName,
|
||||
'身份证',
|
||||
motherIdCard
|
||||
])
|
||||
index += 1
|
||||
}
|
||||
|
||||
if (index === 1) {
|
||||
ElMessage.warning('未找到可导出的新生儿数据')
|
||||
return
|
||||
}
|
||||
|
||||
rows.forEach((r) => worksheet.addRow(r))
|
||||
worksheet.mergeCells('A1:E1')
|
||||
worksheet.columns = [30, 10, 12, 12, 22, 12, 8, 14, 12, 16, 10, 10, 14, 12, 14, 22].map(
|
||||
(wch) => ({ width: wch })
|
||||
)
|
||||
|
||||
const borderStyle: Partial<ExcelJS.Borders> = {
|
||||
top: { style: 'thin' },
|
||||
bottom: { style: 'thin' },
|
||||
left: { style: 'thin' },
|
||||
right: { style: 'thin' }
|
||||
}
|
||||
for (let rowNum = 3; rowNum <= rows.length; rowNum += 1) {
|
||||
for (let colNum = 1; colNum <= 16; colNum += 1) {
|
||||
worksheet.getCell(rowNum, colNum).border = borderStyle
|
||||
}
|
||||
}
|
||||
for (let colNum = 1; colNum <= 16; colNum += 1) {
|
||||
worksheet.getCell(3, colNum).fill = {
|
||||
type: 'pattern',
|
||||
pattern: 'solid',
|
||||
fgColor: { argb: 'FFFFFF00' }
|
||||
}
|
||||
}
|
||||
|
||||
const fileName = `${new Date().toISOString().slice(0, 10).replace(/-/g, '')}投保单.xlsx`
|
||||
const excelBuffer = await workbook.xlsx.writeBuffer()
|
||||
const blob = new Blob([excelBuffer], {
|
||||
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
})
|
||||
FileSaver.saveAs(blob, fileName)
|
||||
ElMessage.success(`已生成投保单,共 ${index - 1} 条`)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
ElMessage.error('生成投保单失败,请重试')
|
||||
} finally {
|
||||
exportInsuranceLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 办理保险弹窗
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -663,8 +892,7 @@
|
||||
formData.insuranceCompanyName = row.insuranceCompanyName || ''
|
||||
formData.insuranceType = row.insuranceType || ''
|
||||
formData.insurancePolicyNo = row.insurancePolicyNo || ''
|
||||
formData.policyEffectiveDate =
|
||||
row.insuranceEffectiveDate || row.policyEffectiveDate || ''
|
||||
formData.policyEffectiveDate = row.insuranceEffectiveDate || row.policyEffectiveDate || ''
|
||||
formData.policyExpiryDate = row.insuranceExpiryDate || row.policyExpiryDate || ''
|
||||
formData.insuranceSubscribed = Number(row.insuranceSubscribed ?? 0)
|
||||
formData.insuranceFee = row.insuranceFee ?? 0
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="160" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="160" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)">
|
||||
<el-icon><View /></el-icon>查看
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleStockIn(row)"><el-icon><Upload /></el-icon>入库</el-button>
|
||||
<el-button class="btn-op-item" @click="handleStockOut(row)"><el-icon><Download /></el-icon>出库</el-button>
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="140" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="140" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
v-if="activeTab === 'pending'"
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="140" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="140" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
v-if="activeTab === 'pending'"
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="makeDate" label="制作日期" width="120" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleUpload(row)">
|
||||
<el-icon><Upload /></el-icon>上传储存证
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<el-table-column prop="roomName" label="名称" min-width="160" align="center" header-align="center" />
|
||||
<el-table-column label="等级" width="100" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="gradeTagType(row.roomGrade)" effect="plain">
|
||||
<el-tag class="clean-room-grade-tag" :class="gradeTagClass(row.roomGrade)" effect="light">
|
||||
{{ gradeLabel(row.roomGrade) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
@@ -85,7 +85,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="areaSqm" label="面积(m²)" width="120" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
@@ -153,7 +153,7 @@
|
||||
<el-option label="异常" value="yc" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="面积" prop="areaSqm">
|
||||
<el-form-item label="面积(m²)" prop="areaSqm">
|
||||
<el-input
|
||||
type="number"
|
||||
step="any"
|
||||
@@ -231,7 +231,8 @@
|
||||
<el-table-column prop="bodyTemp" label="体温(℃)" width="90" align="center" header-align="center">
|
||||
<template #default="{ row }">{{ row.bodyTemp != null ? row.bodyTemp + '℃' : '-' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column prop="remark" label="备注" min-width="160" align="center" header-align="center" show-overflow-tooltip />
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleViewLog(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
@@ -374,7 +375,7 @@
|
||||
import { Plus, Close, Check, View, Edit, Delete, User, OfficeBuilding, RefreshLeft, Search } from '@element-plus/icons-vue'
|
||||
import { withFullscreenLoading, fullscreenLoadingText } from '@/utils/fullscreen-loading'
|
||||
import { buildTreePathLabelFromFlat } from '@/utils/tree-path'
|
||||
import { cleanRoomGradeLabel, cleanRoomGradeTagType } from '@/utils/status-tag-registry'
|
||||
import { cleanRoomGradeLabel } from '@/utils/status-tag-registry'
|
||||
import {
|
||||
fetchCleanRoomList,
|
||||
fetchCreateCleanRoom,
|
||||
@@ -420,8 +421,11 @@
|
||||
}
|
||||
|
||||
// ── 等级映射(使用 registry 函数) ──────────────────
|
||||
const gradeTagType = cleanRoomGradeTagType
|
||||
const gradeLabel = cleanRoomGradeLabel
|
||||
const gradeTagClass = (grade?: string) => {
|
||||
const code = (grade || '').toUpperCase()
|
||||
return code ? `clean-room-grade-tag--${code}` : ''
|
||||
}
|
||||
|
||||
// ── 选择 ──────────────────────────────────────────
|
||||
const handleSelectionChange = (rows: any[]) => {
|
||||
@@ -805,6 +809,35 @@
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.clean-room-grade-tag {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.clean-room-grade-tag--A {
|
||||
color: #065f46;
|
||||
background-color: #d1fae5;
|
||||
border-color: #10b981;
|
||||
}
|
||||
|
||||
.clean-room-grade-tag--B {
|
||||
color: #047857;
|
||||
background-color: #ecfdf5;
|
||||
border-color: #6ee7b7;
|
||||
}
|
||||
|
||||
.clean-room-grade-tag--C {
|
||||
color: #059669;
|
||||
background-color: #f0fdf4;
|
||||
border-color: #a7f3d0;
|
||||
}
|
||||
|
||||
.clean-room-grade-tag--D {
|
||||
color: #10b981;
|
||||
background-color: #f6fef9;
|
||||
border-color: #d1fae5;
|
||||
}
|
||||
|
||||
.clean-room-dialog-form {
|
||||
:deep(.el-form-item) {
|
||||
margin-bottom: 0;
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<el-table-column prop="visitDate" label="到访日期" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column prop="visitorCount" label="人数" min-width="80" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
<section class="panel">
|
||||
<div class="flex gap-4">
|
||||
<!-- 左侧:库位树 -->
|
||||
<!-- 左侧:库位 -->
|
||||
<div class="w-[280px] shrink-0 border-r border-[var(--mint-border)] pr-4">
|
||||
<div class="panel-top storage-aside__head">
|
||||
<h2>库位树</h2>
|
||||
<h2>库位</h2>
|
||||
<el-button type="primary" size="small" @click="handleAddRoot">
|
||||
<el-icon><Plus /></el-icon>
|
||||
新增
|
||||
@@ -92,7 +92,11 @@
|
||||
</div>
|
||||
|
||||
<div class="storage-toolbar">
|
||||
<el-button type="primary" @click="batchDialogVisible = true">
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="slotList.length > 0"
|
||||
@click="batchDialogVisible = true"
|
||||
>
|
||||
批量生成格子
|
||||
</el-button>
|
||||
<el-button
|
||||
@@ -123,14 +127,14 @@
|
||||
<span class="add-icon">+</span>
|
||||
</div>
|
||||
<div
|
||||
v-for="cell in row.cells"
|
||||
v-for="(cell, cellIndex) in row.cells"
|
||||
:key="cell.id"
|
||||
class="shelf-cell"
|
||||
:class="{ occupied: cell.slotStatus === '占用' }"
|
||||
@click="handleEditSlot(cell)"
|
||||
>
|
||||
<button class="cell-delete-btn" @click.stop="handleDeleteSlot(cell)" title="删除">×</button>
|
||||
<span class="cell-code">{{ cell.slotCode }}</span>
|
||||
<span class="cell-code">{{ cellIndex + 1 }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -193,6 +197,9 @@
|
||||
<el-form-item label="是否存储格">
|
||||
<el-switch v-model="nodeFormData.isLeaf" :active-value="1" :inactive-value="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序">
|
||||
<el-input-number v-model="nodeFormData.orderNum" :min="0" :step="1" controls-position="right" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" class="form-col-span-2">
|
||||
<el-input v-model="nodeFormData.remark" placeholder="可选" />
|
||||
</el-form-item>
|
||||
@@ -332,7 +339,7 @@
|
||||
>
|
||||
<el-form :model="addRowForm" label-position="top" class="storage-dialog-form">
|
||||
<el-form-item label="列数">
|
||||
<el-input type="number" step="any" v-model="addRowForm.cols" :min="1" :max="20" style="width: 100%" />
|
||||
<el-input type="number" step="any" v-model="addRowForm.cols" :min="1" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<div class="storage-batch-preview">
|
||||
将在当前行下方新增 <strong>{{ addRowForm.cols }}</strong> 个格子
|
||||
@@ -368,6 +375,8 @@
|
||||
fetchDeleteStorageFacility,
|
||||
fetchStorageSlotList,
|
||||
fetchBatchCreateSlots,
|
||||
fetchClearStorageSlots,
|
||||
fetchInsertStorageSlotRow,
|
||||
fetchCreateStorageSlot,
|
||||
fetchUpdateStorageSlot,
|
||||
fetchDeleteStorageSlot
|
||||
@@ -385,6 +394,12 @@
|
||||
const treeRef = ref()
|
||||
const treeKeyword = ref('')
|
||||
|
||||
const getNodeOrderNum = (item: any): number => {
|
||||
const raw = item?.orderNum ?? item?.order_num ?? item?.sortOrder ?? item?.sort_order ?? 0
|
||||
const parsed = Number(raw)
|
||||
return Number.isFinite(parsed) ? parsed : 0
|
||||
}
|
||||
|
||||
const buildTree = (list: any[]) => {
|
||||
const map = new Map<string, any>()
|
||||
const roots: any[] = []
|
||||
@@ -399,6 +414,18 @@
|
||||
roots.push(node)
|
||||
}
|
||||
})
|
||||
const sortNodes = (nodes: any[]) => {
|
||||
nodes.sort((a, b) => {
|
||||
const orderDiff = getNodeOrderNum(a) - getNodeOrderNum(b)
|
||||
if (orderDiff !== 0) return orderDiff
|
||||
return String(a.nodeName || '').localeCompare(String(b.nodeName || ''), 'zh-Hans-CN')
|
||||
})
|
||||
nodes.forEach((node) => {
|
||||
if (node.children?.length) sortNodes(node.children)
|
||||
})
|
||||
}
|
||||
|
||||
sortNodes(roots)
|
||||
return roots
|
||||
}
|
||||
|
||||
@@ -573,6 +600,7 @@
|
||||
nodeName: '',
|
||||
nodeType: 'facility',
|
||||
isLeaf: 0 as 0 | 1,
|
||||
orderNum: 0,
|
||||
remark: ''
|
||||
})
|
||||
|
||||
@@ -589,6 +617,7 @@
|
||||
nodeName: '',
|
||||
nodeType: 'facility',
|
||||
isLeaf: 0,
|
||||
orderNum: 0,
|
||||
remark: ''
|
||||
})
|
||||
nodeDialogVisible.value = true
|
||||
@@ -604,6 +633,7 @@
|
||||
nodeName: '',
|
||||
nodeType: 'layer',
|
||||
isLeaf: 0,
|
||||
orderNum: 0,
|
||||
remark: ''
|
||||
})
|
||||
nodeDialogVisible.value = true
|
||||
@@ -615,10 +645,11 @@
|
||||
nodeDialogTitle.value = '编辑节点'
|
||||
Object.assign(nodeFormData, {
|
||||
id: data.id,
|
||||
parentId: data.parentId || '',
|
||||
parentId: data.parentId && data.parentId !== '0' ? data.parentId : '',
|
||||
nodeName: data.nodeName || '',
|
||||
nodeType: data.nodeType || 'facility',
|
||||
isLeaf: data.isLeaf ?? 0,
|
||||
orderNum: getNodeOrderNum(data),
|
||||
remark: data.remark || ''
|
||||
})
|
||||
nodeDialogVisible.value = true
|
||||
@@ -634,6 +665,7 @@
|
||||
nodeName: nodeFormData.nodeName.trim(),
|
||||
nodeType: nodeFormData.nodeType,
|
||||
isLeaf: nodeFormData.isLeaf,
|
||||
orderNum: Number(nodeFormData.orderNum) || 0,
|
||||
remark: nodeFormData.remark?.trim() || undefined
|
||||
}
|
||||
if (isNodeEdit.value && nodeFormData.id) {
|
||||
@@ -658,6 +690,7 @@
|
||||
nodeName: '',
|
||||
nodeType: 'facility',
|
||||
isLeaf: 0,
|
||||
orderNum: 0,
|
||||
remark: ''
|
||||
})
|
||||
nodeFormRef.value?.clearValidate?.()
|
||||
@@ -796,11 +829,10 @@
|
||||
{ type: 'warning' }
|
||||
)
|
||||
clearSlotsLoading.value = true
|
||||
for (const slot of slotList.value) {
|
||||
await fetchDeleteStorageSlot(slot.id)
|
||||
}
|
||||
ElMessage.success('已清空所有格子')
|
||||
slotList.value = []
|
||||
const res: any = await fetchClearStorageSlots({ facilityNodeId: selectedNode.value.id })
|
||||
const clearedCount = Number(res?.clearedCount ?? 0)
|
||||
ElMessage.success(clearedCount > 0 ? `已清空 ${clearedCount} 个格子` : '已清空所有格子')
|
||||
await loadSlots(selectedNode.value.id)
|
||||
} catch (error: any) {
|
||||
if (error !== 'cancel') console.error('清空失败:', error)
|
||||
} finally {
|
||||
@@ -863,35 +895,25 @@
|
||||
if (rowIndex < 0 || rowIndex >= shelfRows.value.length) return
|
||||
|
||||
const currentRow = shelfRows.value[rowIndex]
|
||||
const insertRowNum = currentRow.rowNum + 1
|
||||
const prefix = currentRow.prefix
|
||||
const numCols = addRowForm.cols
|
||||
const numCols = Number(addRowForm.cols)
|
||||
if (!Number.isFinite(numCols)) {
|
||||
ElMessage.warning('列数必须是数字')
|
||||
return
|
||||
}
|
||||
const normalizedCols = Math.floor(numCols)
|
||||
if (normalizedCols < 1) {
|
||||
ElMessage.warning('列数必须大于 0')
|
||||
return
|
||||
}
|
||||
|
||||
addSlotLoading.value = true
|
||||
try {
|
||||
// 1. 将当前行之后的所有行号 +1(从大到小排,避免行号冲突)
|
||||
const rowsToShift = shelfRows.value
|
||||
.filter((r) => r.rowNum > currentRow.rowNum)
|
||||
.sort((a, b) => b.rowNum - a.rowNum)
|
||||
|
||||
for (const row of rowsToShift) {
|
||||
for (const cell of row.cells) {
|
||||
const parsed = parseSlotCode(cell.slotCode || '')
|
||||
if (parsed) {
|
||||
const newCode = `${parsed.prefix}${parsed.row + 1}-${parsed.col}`
|
||||
await fetchUpdateStorageSlot(cell.id, { slotCode: newCode })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 2. 在插入位置创建新行的格子
|
||||
for (let c = 1; c <= numCols; c++) {
|
||||
await fetchCreateStorageSlot({
|
||||
facilityNodeId: selectedNode.value.id,
|
||||
slotCode: `${prefix}${insertRowNum}-${c}`,
|
||||
slotStatus: '空'
|
||||
})
|
||||
}
|
||||
await fetchInsertStorageSlotRow({
|
||||
facilityNodeId: selectedNode.value.id,
|
||||
afterRowNum: currentRow.rowNum,
|
||||
cols: normalizedCols,
|
||||
codePrefix: currentRow.prefix || ''
|
||||
})
|
||||
|
||||
ElMessage.success('新增行成功')
|
||||
addRowDialogVisible.value = false
|
||||
@@ -1174,7 +1196,7 @@
|
||||
.shelf-label {
|
||||
width: 28px;
|
||||
flex-shrink: 0;
|
||||
background: #059669;
|
||||
background: #ea580c;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -1193,7 +1215,7 @@
|
||||
.shelf-cell {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border: 1px solid #d1fae5;
|
||||
border: 1px solid #fed7aa;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@@ -1205,16 +1227,16 @@
|
||||
flex-shrink: 0;
|
||||
|
||||
&:hover {
|
||||
background: #ecfdf5;
|
||||
background: #fff7ed;
|
||||
}
|
||||
|
||||
/* 占用状态 — 深绿背景 */
|
||||
/* 占用状态 — 深橙背景 */
|
||||
&.occupied {
|
||||
background: #059669;
|
||||
border-color: #047857;
|
||||
background: #ea580c;
|
||||
border-color: #c2410c;
|
||||
|
||||
&:hover {
|
||||
background: #047857;
|
||||
background: #c2410c;
|
||||
}
|
||||
|
||||
.cell-code {
|
||||
@@ -1224,22 +1246,22 @@
|
||||
|
||||
/* 新增格子按钮 */
|
||||
&--add {
|
||||
border: 1px dashed #a7f3d0;
|
||||
border: 1px dashed #fdba74;
|
||||
background: transparent;
|
||||
|
||||
&:hover {
|
||||
background: #ecfdf5;
|
||||
border-color: #10b981;
|
||||
background: #fff7ed;
|
||||
border-color: #f97316;
|
||||
}
|
||||
|
||||
.add-icon {
|
||||
font-size: 20px;
|
||||
color: #6ee7b7;
|
||||
color: #fb923c;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
&:hover .add-icon {
|
||||
color: #10b981;
|
||||
color: #f97316;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<el-table-column prop="specName" label="规格名称" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="remark" label="备注" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<el-table-column prop="productTypeName" label="类型名称" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="remark" label="备注" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)">
|
||||
<el-icon><View /></el-icon>查看
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEdit(row)"
|
||||
><el-icon><Edit /></el-icon>编辑</el-button
|
||||
@@ -130,7 +130,7 @@
|
||||
<el-input v-model="row.remark" placeholder="可选" clearable />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ $index }">
|
||||
<el-button class="btn-op-item" @click="detailItems.splice($index, 1)">
|
||||
<el-icon><Delete /></el-icon>删除
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<el-tag :type="row.status == '1' ? 'success' : 'info'" size="small">{{ row.status == '1' ? '正常' : '停用' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="openItemDialog(row)"><el-icon><Setting /></el-icon>项目价格配置</el-button>
|
||||
@@ -209,7 +209,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="140" align="center" header-align="center" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEditItem(row)"><el-icon><Edit /></el-icon>编辑</el-button>
|
||||
<el-button class="btn-op-item" @click="handleDeleteItem(row)"><el-icon><Delete /></el-icon>删除</el-button>
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
@@ -190,7 +190,7 @@
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ $index }">
|
||||
<el-button class="btn-op-item" type="danger" link size="small" @click="detailItems.splice($index, 1)">
|
||||
<el-icon><Delete /></el-icon>删除
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)">
|
||||
<el-icon><View /></el-icon>查看
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<el-table-column prop="typeCode" label="类型编码" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="typeName" label="类型名称" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<el-table-column prop="categoryCode" label="分类编码" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="categoryName" label="分类名称" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="120" align="center" header-align="center" show-overflow-tooltip />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="340" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="340" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleOpenConfig(row)">
|
||||
<el-icon><Rank /></el-icon>路线图配置
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
align="center"
|
||||
header-align="center"
|
||||
/>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button class="btn-op-item" @click="handleDelete(row)">删除</el-button>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<el-table-column prop="completedTime" label="完成时间" min-width="170" align="center">
|
||||
<template #default="{ row }">{{ row.completedTime || '—' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEnterExecution(row)"><el-icon><VideoPlay /></el-icon>进入执行</el-button>
|
||||
<el-button class="btn-op-item" @click="handleViewDetail(row)"><el-icon><View /></el-icon>查看详情</el-button>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center" />
|
||||
<el-table-column label="操作" width="280" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="280" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看详情</el-button>
|
||||
<el-button
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<el-tag :type="row.status === '1' ? 'success' : 'info'" size="small">{{ row.status === '1' ? '启用' : '停用' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="handleEdit(row)"><el-icon><Edit /></el-icon>编辑</el-button>
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="140" align="center" header-align="center" show-overflow-tooltip />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)">
|
||||
<el-icon><View /></el-icon>查看
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
<el-table-column prop="remark" label="备注" min-width="140" align="center" show-overflow-tooltip>
|
||||
<template #default="{ row }">{{ row.remark || '—' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<template v-if="row.taskType === 'sysz' && row.taskStatus === 'dzx'">
|
||||
<el-button class="btn-op-item primary" @click="handleStart(row)"><el-icon><VideoPlay /></el-icon>开始</el-button>
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center" />
|
||||
<el-table-column label="操作" width="280" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="280" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button class="btn-op-item" @click="handleDelete(row)">删除</el-button>
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
<el-tag :type="row.status === '1' ? 'success' : 'info'" size="small">{{ row.status === '1' ? '启用' : '停用' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="openItemDialog(row)"><el-icon><Setting /></el-icon>检测项目配置</el-button>
|
||||
@@ -209,7 +209,7 @@
|
||||
<el-tag :type="row.status === '1' ? 'success' : 'info'" size="small">{{ row.status === '1' ? '启用' : '停用' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260" fixed="right" align="center">
|
||||
<el-table-column label="操作" min-width="260" fixed="right" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleEditItem(row)"><el-icon><Edit /></el-icon>编辑</el-button>
|
||||
<el-button class="btn-op-item" @click="handleDeleteItem(row)"><el-icon><Delete /></el-icon>删除</el-button>
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间" width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="handleAddChild(row)" v-if="!row.parentId">
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<el-table-column prop="expressCode" label="快递编码" min-width="120" align="center" header-align="center" />
|
||||
<el-table-column prop="expressName" label="快递名称" min-width="140" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<el-form-item v-if="formData.menuType === 'C'" label="组件路径">
|
||||
<el-input v-model="formData.component" placeholder="请输入组件路径" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="formData.menuType === 'F'" label="权限标识">
|
||||
<el-form-item v-if="formData.menuType !== 'M'" label="权限标识">
|
||||
<el-input v-model="formData.perms" placeholder="如 system:menu:list" />
|
||||
</el-form-item>
|
||||
<el-form-item label="显示状态">
|
||||
@@ -482,7 +482,7 @@
|
||||
menuType: formData.menuType,
|
||||
path: formData.path?.trim() || undefined,
|
||||
component: formData.menuType === 'C' ? formData.component?.trim() || undefined : undefined,
|
||||
perms: formData.menuType === 'F' ? formData.perms?.trim() || undefined : undefined,
|
||||
perms: formData.menuType !== 'M' ? formData.perms?.trim() || undefined : undefined,
|
||||
isFrame: formData.isFrame,
|
||||
visible: formData.visible,
|
||||
status: formData.status,
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="480" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="480" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="handlePostBindUsers(row)">
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleView(row)">查看</el-button>
|
||||
<el-button class="btn-op-item" @click="handleEdit(row)">编辑</el-button>
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
v-model="dataScopeUserKeyword"
|
||||
class="data-scope-user-filter"
|
||||
clearable
|
||||
placeholder="按姓名、账号过滤"
|
||||
placeholder="按姓名、工号、联系方式过滤"
|
||||
/>
|
||||
<div class="data-scope-user-list-wrap">
|
||||
<el-checkbox-group
|
||||
@@ -358,9 +358,48 @@
|
||||
v-model:visible="viewVisible"
|
||||
:title="viewRow?.roleName || '角色详情'"
|
||||
:icon="Stamp"
|
||||
:meta="`数据权限:${dataScopeLabel(viewRow?.dataScope || '')}${viewRow?.createTime ? ' · ' + viewRow.createTime : ''}`"
|
||||
width="860px"
|
||||
:meta="`数据权限:${dataScopeLabel(viewDataScopeCode || viewRow?.dataScope || '')}${viewRow?.createTime ? ' · ' + viewRow.createTime : ''}`"
|
||||
:sections="viewSections"
|
||||
/>
|
||||
>
|
||||
<template #menuTree>
|
||||
<div v-loading="viewDetailLoading" class="role-view-tree-block">
|
||||
<div v-if="viewMenuTreeData.length" class="role-view-tree-scroll">
|
||||
<el-tree
|
||||
:key="'menu-' + viewTreeRenderKey"
|
||||
ref="viewMenuTreeRef"
|
||||
class="role-view-readonly-tree"
|
||||
show-checkbox
|
||||
:data="viewMenuTreeData"
|
||||
node-key="id"
|
||||
:props="{ label: 'menuName', children: 'children' }"
|
||||
:default-checked-keys="viewMenuCheckedKeys"
|
||||
default-expand-all
|
||||
/>
|
||||
</div>
|
||||
<el-empty v-else-if="!viewDetailLoading" description="暂无菜单数据" :image-size="40" />
|
||||
</div>
|
||||
</template>
|
||||
<template #customDeptTree>
|
||||
<div v-loading="viewDetailLoading" class="role-view-tree-block">
|
||||
<div v-if="viewDeptTreeData.length" class="role-view-tree-scroll">
|
||||
<el-tree
|
||||
:key="'dept-' + viewTreeRenderKey"
|
||||
ref="viewDeptTreeRef"
|
||||
class="role-view-readonly-tree"
|
||||
show-checkbox
|
||||
check-strictly
|
||||
:data="viewDeptTreeData"
|
||||
node-key="id"
|
||||
:props="{ label: 'deptName', children: 'children' }"
|
||||
:default-checked-keys="viewDeptCheckedKeys"
|
||||
default-expand-all
|
||||
/>
|
||||
</div>
|
||||
<el-empty v-else-if="!viewDetailLoading" description="暂无部门数据" :image-size="40" />
|
||||
</div>
|
||||
</template>
|
||||
</SystemViewDialog>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
@@ -369,7 +408,9 @@
|
||||
import { ref, reactive, computed, onMounted, nextTick, watch } from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { Plus, Close, Check, DataAnalysis, View, Stamp, RefreshLeft, Search } from '@element-plus/icons-vue'
|
||||
import SystemViewDialog from '@/components/business/system-view-dialog/index.vue'
|
||||
import SystemViewDialog, {
|
||||
type ViewSection
|
||||
} from '@/components/business/system-view-dialog/index.vue'
|
||||
import { MAX_ADMIN_LIST_PAGE_SIZE } from '@/utils/fetch-paged-list'
|
||||
import { withFullscreenLoading, fullscreenLoadingText } from '@/utils/fullscreen-loading'
|
||||
import { buildPathLabelMapFromTreeRoots } from '@/utils/tree-path'
|
||||
@@ -433,7 +474,15 @@
|
||||
const deptTreeRef = ref()
|
||||
const deptTreeData = ref<Api.Dept.DeptItem[]>([])
|
||||
const allUsers = ref<
|
||||
Array<{ id: string; nickName: string; userNo: string; deptId: string; deptName?: string }>
|
||||
Array<{
|
||||
id: string
|
||||
nickName: string
|
||||
userNo: string
|
||||
deptId: string
|
||||
deptName?: string
|
||||
phoneNo: string
|
||||
status: string
|
||||
}>
|
||||
>([])
|
||||
const scopeDeptCheckedKeys = ref<string[]>([])
|
||||
const scopeUserCheckedKeys = ref<string[]>([])
|
||||
@@ -499,7 +548,8 @@
|
||||
if (!kw) return true
|
||||
const name = (u.nickName || '').toLowerCase()
|
||||
const no = (u.userNo || '').toLowerCase()
|
||||
return name.includes(kw) || no.includes(kw)
|
||||
const phone = (u.phoneNo || '').toLowerCase()
|
||||
return name.includes(kw) || no.includes(kw) || phone.includes(kw)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -547,10 +597,21 @@
|
||||
dataScopeSelectedDeptRows.value.length > 0 || dataScopeSelectedUserSummaries.value.length > 0
|
||||
)
|
||||
|
||||
function userOptionLabel(u: { id: string; nickName: string; userNo: string; deptName?: string }) {
|
||||
const base = u.nickName || u.userNo || u.id
|
||||
if (u.deptName) return `${base}(${u.deptName})`
|
||||
return base
|
||||
function userStatusText(status: string | undefined) {
|
||||
return status === '1' ? '正常' : '停用'
|
||||
}
|
||||
|
||||
function userOptionLabel(u: {
|
||||
id: string
|
||||
nickName: string
|
||||
userNo: string
|
||||
phoneNo?: string
|
||||
status?: string
|
||||
}) {
|
||||
const name = u.nickName || u.userNo || u.id
|
||||
const no = u.userNo || '—'
|
||||
const phone = u.phoneNo || '—'
|
||||
return `${name}(${no}、${phone}、${userStatusText(u.status)})`
|
||||
}
|
||||
|
||||
function handleDataScopeDeptNodeClick(data: Api.Dept.DeptItem) {
|
||||
@@ -634,7 +695,7 @@
|
||||
if (isEdit.value && editingId.value) {
|
||||
await fetchUpdateRole(editingId.value, payload)
|
||||
} else {
|
||||
await fetchCreateRole(payload)
|
||||
await fetchCreateRole({ ...payload, dataScope: '4' })
|
||||
}
|
||||
dialogVisible.value = false
|
||||
await loadData()
|
||||
@@ -706,7 +767,15 @@
|
||||
* 分页拉取租户用户列表供「数据权限」多选;单页 pageSize 超过 100 时接口会 422。
|
||||
*/
|
||||
async function fetchAllUsersForDataScope(): Promise<
|
||||
Array<{ id: string; nickName: string; userNo: string; deptId: string; deptName?: string }>
|
||||
Array<{
|
||||
id: string
|
||||
nickName: string
|
||||
userNo: string
|
||||
deptId: string
|
||||
deptName?: string
|
||||
phoneNo: string
|
||||
status: string
|
||||
}>
|
||||
> {
|
||||
const pageSize = MAX_ADMIN_LIST_PAGE_SIZE
|
||||
const raw: any[] = []
|
||||
@@ -724,7 +793,9 @@
|
||||
deptId: u.deptId || '',
|
||||
nickName: u.nickName || u.realName || '',
|
||||
userNo: u.userNo || '',
|
||||
deptName: u.deptName
|
||||
deptName: u.deptName,
|
||||
phoneNo: u.phoneNo || '',
|
||||
status: u.status || '0'
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -794,27 +865,127 @@
|
||||
// ---- 查看弹窗 ----
|
||||
const viewVisible = ref(false)
|
||||
const viewRow = ref<Api.Role.RoleItem | null>(null)
|
||||
const viewDetailLoading = ref(false)
|
||||
const viewDataScopeCode = ref('')
|
||||
const viewMenuTreeData = ref<Api.Menu.MenuItem[]>([])
|
||||
const viewMenuCheckedKeys = ref<string[]>([])
|
||||
const viewDeptTreeData = ref<Api.Dept.DeptItem[]>([])
|
||||
const viewDeptCheckedKeys = ref<string[]>([])
|
||||
const viewCustomUserLabels = ref<string[]>([])
|
||||
const viewMenuTreeRef = ref()
|
||||
const viewDeptTreeRef = ref()
|
||||
const viewTreeRenderKey = ref(0)
|
||||
|
||||
const viewSections = computed(() => {
|
||||
const viewSections = computed((): ViewSection[] => {
|
||||
const row = viewRow.value
|
||||
if (!row) return []
|
||||
return [
|
||||
const loadingText = '加载中…'
|
||||
const scopeCode = viewDataScopeCode.value || row.dataScope
|
||||
const dataFields: ViewSection['fields'] = [
|
||||
{
|
||||
label: '权限范围',
|
||||
value: viewDetailLoading.value ? loadingText : dataScopeLabel(scopeCode),
|
||||
tagType: viewDetailLoading.value ? undefined : dataScopeTagType(scopeCode)
|
||||
}
|
||||
]
|
||||
if (scopeCode === '5') {
|
||||
dataFields.push({
|
||||
label: '自定义用户',
|
||||
span: true,
|
||||
...(viewDetailLoading.value
|
||||
? { value: loadingText }
|
||||
: viewCustomUserLabels.value.length
|
||||
? { items: viewCustomUserLabels.value }
|
||||
: { value: '—' })
|
||||
})
|
||||
}
|
||||
const sections: ViewSection[] = [
|
||||
{
|
||||
title: '基本信息',
|
||||
fields: [
|
||||
{ label: '角色名称', value: row.roleName },
|
||||
{ label: '数据权限', value: dataScopeLabel(row.dataScope) },
|
||||
{ label: '状态', value: row.status === '1' ? '正常' : '停用', tagType: row.status === '1' ? 'success' : 'info' },
|
||||
{
|
||||
label: '状态',
|
||||
value: row.status === '1' ? '正常' : '停用',
|
||||
tagType: row.status === '1' ? ('success' as const) : ('info' as const)
|
||||
},
|
||||
{ label: '创建时间', value: row.createTime },
|
||||
{ label: '备注', value: row.remark, span: true }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '菜单权限',
|
||||
titleStyle: 'field',
|
||||
fields: [],
|
||||
slot: 'menuTree'
|
||||
},
|
||||
{
|
||||
title: '数据权限',
|
||||
fields: dataFields,
|
||||
...(scopeCode === '5'
|
||||
? {
|
||||
slot: 'customDeptTree',
|
||||
slotTitle: '自定义部门',
|
||||
slotTitleStyle: 'field' as const
|
||||
}
|
||||
: {})
|
||||
}
|
||||
]
|
||||
return sections
|
||||
})
|
||||
|
||||
/** 异步灌入勾选数据后重挂载树并同步勾选态(只读展示) */
|
||||
async function syncViewReadonlyTreeChecks() {
|
||||
viewTreeRenderKey.value += 1
|
||||
await nextTick()
|
||||
viewMenuTreeRef.value?.setCheckedKeys?.(viewMenuCheckedKeys.value, true)
|
||||
viewDeptTreeRef.value?.setCheckedKeys?.(viewDeptCheckedKeys.value)
|
||||
}
|
||||
|
||||
async function loadViewDetail(row: Api.Role.RoleItem) {
|
||||
viewDetailLoading.value = true
|
||||
viewDataScopeCode.value = row.dataScope || ''
|
||||
viewMenuTreeData.value = []
|
||||
viewMenuCheckedKeys.value = []
|
||||
viewDeptTreeData.value = []
|
||||
viewDeptCheckedKeys.value = []
|
||||
viewCustomUserLabels.value = []
|
||||
try {
|
||||
const [menuTree, menuRes, scopeRes] = await Promise.all([
|
||||
fetchMenuTree(),
|
||||
fetchRoleMenuIds(row.id),
|
||||
fetchRoleDataScope(row.id)
|
||||
])
|
||||
viewMenuTreeData.value = menuTree || []
|
||||
viewMenuCheckedKeys.value = [...(menuRes?.menuIds || [])]
|
||||
|
||||
const scope = scopeRes?.dataScope || row.dataScope
|
||||
viewDataScopeCode.value = scope
|
||||
if (scope === '5') {
|
||||
const [deptTree, users] = await Promise.all([fetchDeptTree(), fetchAllUsersForDataScope()])
|
||||
const details = scopeRes?.scopeDetails || []
|
||||
viewDeptTreeData.value = deptTree || []
|
||||
viewDeptCheckedKeys.value = details
|
||||
.filter((d) => d.scopeType === 'dept')
|
||||
.map((d) => d.scopeValue)
|
||||
const userLabels = details
|
||||
.filter((d) => d.scopeType === 'user')
|
||||
.map((d) => {
|
||||
const u = users.find((x) => x.id === d.scopeValue)
|
||||
return u ? userOptionLabel(u) : d.scopeValue
|
||||
})
|
||||
viewCustomUserLabels.value = userLabels
|
||||
}
|
||||
await syncViewReadonlyTreeChecks()
|
||||
} finally {
|
||||
viewDetailLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
function handleView(row: Api.Role.RoleItem) {
|
||||
viewRow.value = row
|
||||
viewVisible.value = true
|
||||
loadViewDetail(row)
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
@@ -897,6 +1068,11 @@
|
||||
|
||||
.data-scope-user-row {
|
||||
padding: 4px 0;
|
||||
|
||||
:deep(.el-checkbox__label) {
|
||||
line-height: 1.45;
|
||||
white-space: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.data-scope-selection-summary {
|
||||
@@ -949,4 +1125,30 @@
|
||||
line-height: 1.5;
|
||||
color: var(--mint-text-muted, var(--el-text-color-secondary));
|
||||
}
|
||||
|
||||
.role-view-tree-block {
|
||||
min-height: 48px;
|
||||
}
|
||||
|
||||
.role-view-tree-scroll {
|
||||
max-height: 320px;
|
||||
overflow-y: auto;
|
||||
padding: 8px;
|
||||
border: 1px solid var(--el-border-color-lighter);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.role-view-readonly-tree {
|
||||
:deep(.el-tree-node__content) {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
:deep(.el-checkbox) {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:deep(.el-tree-node__expand-icon) {
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -86,7 +86,7 @@
|
||||
<el-table-column prop="contactName" label="联系人" min-width="100" align="center" header-align="center" />
|
||||
<el-table-column prop="contactPhone" label="联系电话" min-width="140" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="handleEdit(row)">编辑</el-button>
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<el-table-column prop="unitName" label="单位名称" min-width="150" align="center" header-align="center" />
|
||||
<el-table-column prop="unitCode" label="单位编码" min-width="120" align="center" header-align="center" />
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="320" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="320" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"
|
||||
><el-icon><View /></el-icon>查看</el-button
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="180" align="center" header-align="center" />
|
||||
<el-table-column label="操作" width="400" fixed="right" align="center" header-align="center">
|
||||
<el-table-column label="操作" min-width="400" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item" @click="handleView(row)"><el-icon><View /></el-icon>查看</el-button>
|
||||
<el-button class="btn-op-item primary" @click="handleEdit(row)">编辑</el-button>
|
||||
|
||||
Loaded 100 of 241 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user