1 Commits

Author SHA1 Message Date
pan
a07f109631 原型调整 2024-08-20 15:24:26 +08:00
21 changed files with 1649 additions and 2289 deletions

View File

@@ -13,7 +13,7 @@ VUE_APP_BASE_API = 'https://www.rzdata.net/tool-tech-admin'
VUE_APP_WS_URL = 'wss://www.rzdata.net/tool-tech-admin/websocket'
# 文档在线预览服务
VUE_APP_TOOL_TECH_FILE_VIEW_API = 'http://192.168.1.2:8012/tool-tech-file-view'
VUE_APP_TOOL_TECH_FILE_VIEW_API = '/tool-tech-file-view'
# 流程管理服务地址
VUE_APP_WORKFLOW_MANAGE_URL = 'http://192.168.1.2:8080/ebpm-process-manage'
VUE_APP_WORKFLOW_MANAGE_URL = '/ebpm-process-manage'

3
.idea/misc.xml generated
View File

@@ -3,4 +3,7 @@
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="WebPackConfiguration">
<option name="mode" value="DISABLED" />
</component>
</project>

286
.idea/workspace.xml generated
View File

@@ -2,16 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="880b2c9e-bb63-49b5-a9b3-35bf50aa9da8" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/views/document/editDocument.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/views/document/uploadProgress.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/views/tool/toolDetail.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.env.development" beforeDir="false" afterPath="$PROJECT_DIR$/.env.development" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.env.staging" beforeDir="false" afterPath="$PROJECT_DIR$/.env.staging" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/views/document/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/document/index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/views/tool/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/tool/index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/views/workstuff/apply/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/workstuff/apply/index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/views/workstuff/dispose/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/workstuff/dispose/index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/views/workstuff/message/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/workstuff/message/index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/default.conf" beforeDir="false" afterPath="$PROJECT_DIR$/default.conf" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" />
@@ -24,56 +17,10 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/document/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="69" column="40" selection-start-line="69" selection-start-column="22" selection-end-line="69" selection-end-column="40" />
<folding>
<element signature="n#pagination#0;n#div#1;n#el-card#1;n#div#0;n#template#0;n#!!top" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/workstuff/apply/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="190">
<caret line="34" column="38" selection-start-line="34" selection-start-column="26" selection-end-line="34" selection-end-column="38" />
<folding>
<element signature="n#style#0;n#el-table#0;n#el-card#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#img#0;n#el-drawer#1;n#div#0;n#template#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="6" column="18" selection-start-line="6" selection-start-column="12" selection-end-line="6" selection-end-column="18" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/workstuff/dispose/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="118">
<caret line="321" column="10" lean-forward="true" selection-start-line="298" selection-start-column="8" selection-end-line="321" selection-end-column="10" />
<folding>
<element signature="n#style#0;n#img#0;n#el-drawer#1;n#div#0;n#template#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/workstuff/message/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="151">
<state relative-caret-position="722">
<caret line="38" column="4" selection-start-line="38" selection-start-column="4" selection-end-line="45" selection-end-column="40" />
</state>
</provider>
@@ -82,7 +29,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/tool/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192">
<state relative-caret-position="2356">
<caret line="177" column="132" selection-start-line="177" selection-start-column="96" selection-end-line="177" selection-end-column="132" />
<folding>
<element signature="n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" />
@@ -91,7 +38,6 @@
<element signature="n#style#0;n#el-input#0;n#div#0;n#el-card#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-select#0;n#el-form-item#0;n#el-col#0;n#el-row#3;n#el-form#0;n#div#0;n#el-drawer#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#el-drawer#2;n#div#0;n#template#0;n#!!top" />
<element signature="n#style#0;n#div#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
@@ -109,26 +55,60 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/plugins/modal.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="241">
<state relative-caret-position="266">
<caret line="14" column="2" selection-start-line="14" selection-start-column="2" selection-end-line="14" selection-end-column="2" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/document/editDocument.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="232">
<caret line="149" column="30" lean-forward="true" selection-start-line="149" selection-start-column="30" selection-end-line="149" selection-end-column="30" />
<state relative-caret-position="2603">
<caret line="139" column="12" lean-forward="true" selection-start-line="139" selection-start-column="12" selection-end-line="139" selection-end-column="12" />
<folding>
<element signature="n#style#0;n#el-table#0;n#div#0;n#el-dialog#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="e#3190#3196#1" expanded="true" />
<element signature="e#2350#2420#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/.env.staging">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="18" column="31" selection-start-line="18" selection-start-column="31" selection-end-line="18" selection-end-column="31" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/default.conf">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="475">
<caret line="25" column="36" lean-forward="true" selection-start-line="25" selection-start-column="36" selection-end-line="25" selection-end-column="36" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.env.development">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="12" selection-start-line="12" selection-end-line="16" selection-end-column="75" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.env.production">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="19">
<caret line="1" column="27" selection-start-line="1" selection-start-column="27" selection-end-line="1" selection-end-column="27" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/views/workflow/config/index.vue">
<provider selected="true" editor-type-id="text-editor">
@@ -211,7 +191,6 @@
<option value="$PROJECT_DIR$/src/components/userSelector/userSelect.vue" />
<option value="$PROJECT_DIR$/src/components/user-selector/src/user-selector.vue" />
<option value="$PROJECT_DIR$/vue.config.js" />
<option value="$PROJECT_DIR$/default.conf" />
<option value="$PROJECT_DIR$/Dockerfile" />
<option value="$PROJECT_DIR$/public/css/index.css" />
<option value="$PROJECT_DIR$/src/main.js" />
@@ -222,7 +201,6 @@
<option value="$PROJECT_DIR$/src/store/modules/user.js" />
<option value="$PROJECT_DIR$/public/css/tool.css" />
<option value="$PROJECT_DIR$/.env.production" />
<option value="$PROJECT_DIR$/.env.staging" />
<option value="$PROJECT_DIR$/src/layout/components/Navbar.vue" />
<option value="$PROJECT_DIR$/src/components/Breadcrumb/index.vue" />
<option value="$PROJECT_DIR$/src/router/index.js" />
@@ -243,7 +221,6 @@
<option value="$PROJECT_DIR$/src/views/system/role/authUser.vue" />
<option value="$PROJECT_DIR$/src/views/document/addDocument.vue" />
<option value="$PROJECT_DIR$/src/views/tool/toolDetail.vue" />
<option value="$PROJECT_DIR$/.env.development" />
<option value="$PROJECT_DIR$/src/views/document/uploadProgress.vue" />
<option value="$PROJECT_DIR$/src/views/document/index.vue" />
<option value="$PROJECT_DIR$/src/views/tool/index.vue" />
@@ -251,6 +228,9 @@
<option value="$PROJECT_DIR$/src/views/workstuff/dispose/index.vue" />
<option value="$PROJECT_DIR$/src/views/workstuff/message/index.vue" />
<option value="$PROJECT_DIR$/src/views/document/editDocument.vue" />
<option value="$PROJECT_DIR$/.env.development" />
<option value="$PROJECT_DIR$/default.conf" />
<option value="$PROJECT_DIR$/.env.staging" />
</list>
</option>
</component>
@@ -265,7 +245,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
@@ -359,6 +338,7 @@
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@@ -437,6 +417,8 @@
<workItem from="1721611088644" duration="28182000" />
<workItem from="1721717492928" duration="8889000" />
<workItem from="1721783250517" duration="9602000" />
<workItem from="1721886425310" duration="2104000" />
<workItem from="1721896582395" duration="232000" />
</task>
<task id="LOCAL-00001" summary="update">
<created>1721110878122</created>
@@ -473,11 +455,25 @@
<option name="project" value="LOCAL" />
<updated>1721632270841</updated>
</task>
<option name="localTasksCounter" value="6" />
<task id="LOCAL-00006" summary="update">
<created>1721886526500</created>
<option name="number" value="00006" />
<option name="presentableId" value="LOCAL-00006" />
<option name="project" value="LOCAL" />
<updated>1721886526500</updated>
</task>
<task id="LOCAL-00007" summary="update">
<created>1721888702083</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1721888702083</updated>
</task>
<option name="localTasksCounter" value="8" />
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="105618000" />
<option name="totallyTimeSpent" value="107954000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@@ -521,16 +517,6 @@
<option name="LAST_COMMIT_MESSAGE" value="update" />
</component>
<component name="editorHistoryManager">
<entry file="file://D:/日常工作文件库/泛联睿展联合项目/工具管理及技术交流平台/昆明军工/原型静态页面/工具管理及技术交流平台/工具管理.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="369" column="30" lean-forward="true" selection-start-line="12" selection-start-column="4" selection-end-line="369" selection-end-column="30" />
<folding>
<element signature="n#div#0;n#div#0;n#body#0;n#html#0;n#!!top" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/tool/index2.vue" />
<entry file="file://D:/日常工作文件库/泛联睿展联合项目/工具管理及技术交流平台/昆明军工/原型静态页面/工具管理及技术交流平台/我的申请.html">
<provider selected="true" editor-type-id="text-editor">
@@ -621,20 +607,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env.production">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="19">
<caret line="1" column="27" selection-start-line="1" selection-start-column="27" selection-end-line="1" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env.staging">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="19">
<caret line="1" column="27" selection-start-line="1" selection-start-column="27" selection-end-line="1" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/layout/components/Navbar.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
@@ -878,24 +850,24 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env.development">
<entry file="file://$PROJECT_DIR$/src/views/document/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="190">
<caret line="10" column="35" selection-start-line="10" selection-start-column="35" selection-end-line="10" selection-end-column="35" />
<state relative-caret-position="1311">
<caret line="69" column="40" selection-start-line="69" selection-start-column="22" selection-end-line="69" selection-end-column="40" />
<folding>
<element signature="n#pagination#0;n#div#1;n#el-card#1;n#div#0;n#template#0;n#!!top" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/workflow/config/index.vue">
<entry file="file://$PROJECT_DIR$/src/views/workstuff/apply/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="247">
<caret line="13" column="103" selection-start-line="13" selection-start-column="72" selection-end-line="13" selection-end-column="103" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/plugins/modal.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="241">
<caret line="14" column="2" selection-start-line="14" selection-start-column="2" selection-end-line="14" selection-end-column="2" />
<state relative-caret-position="646">
<caret line="34" column="38" selection-start-line="34" selection-start-column="26" selection-end-line="34" selection-end-column="38" />
<folding>
<element signature="n#style#0;n#el-table#0;n#el-card#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#img#0;n#el-drawer#1;n#div#0;n#template#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
@@ -906,30 +878,34 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/workstuff/message/index.vue">
<entry file="file://$PROJECT_DIR$/src/views/workstuff/dispose/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="151">
<caret line="38" column="4" selection-start-line="38" selection-start-column="4" selection-end-line="45" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/workstuff/apply/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="190">
<caret line="34" column="38" selection-start-line="34" selection-start-column="26" selection-end-line="34" selection-end-column="38" />
<state relative-caret-position="6099">
<caret line="321" column="10" selection-start-line="298" selection-start-column="8" selection-end-line="321" selection-end-column="10" />
<folding>
<element signature="n#style#0;n#el-table#0;n#el-card#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#img#0;n#el-drawer#1;n#div#0;n#template#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/workstuff/dispose/index.vue">
<entry file="file://$PROJECT_DIR$/src/views/workstuff/message/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="118">
<caret line="321" column="10" lean-forward="true" selection-start-line="298" selection-start-column="8" selection-end-line="321" selection-end-column="10" />
<state relative-caret-position="722">
<caret line="38" column="4" selection-start-line="38" selection-start-column="4" selection-end-line="45" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/tool/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2356">
<caret line="177" column="132" selection-start-line="177" selection-start-column="96" selection-end-line="177" selection-end-column="132" />
<folding>
<element signature="n#style#0;n#img#0;n#el-drawer#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" />
<element signature="n#style#0;n#el-select#0;n#el-form-item#2;n#div#0;n#div#0;n#div#0;n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-date-picker#0;n#el-form-item#3;n#div#0;n#div#0;n#div#0;n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-input#0;n#div#0;n#el-card#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-select#0;n#el-form-item#0;n#el-col#0;n#el-row#3;n#el-form#0;n#div#0;n#el-drawer#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#el-drawer#2;n#div#0;n#template#0;n#!!top" />
</folding>
</state>
</provider>
@@ -941,43 +917,57 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/tool/index.vue">
<entry file="file://$PROJECT_DIR$/src/plugins/modal.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192">
<caret line="177" column="132" selection-start-line="177" selection-start-column="96" selection-end-line="177" selection-end-column="132" />
<folding>
<element signature="n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" />
<element signature="n#style#0;n#el-select#0;n#el-form-item#2;n#div#0;n#div#0;n#div#0;n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-date-picker#0;n#el-form-item#3;n#div#0;n#div#0;n#div#0;n#el-form#0;n#el-card#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-input#0;n#div#0;n#el-card#1;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#el-select#0;n#el-form-item#0;n#el-col#0;n#el-row#3;n#el-form#0;n#div#0;n#el-drawer#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="n#el-drawer#2;n#div#0;n#template#0;n#!!top" />
<element signature="n#style#0;n#div#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/document/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="69" column="40" selection-start-line="69" selection-start-column="22" selection-end-line="69" selection-end-column="40" />
<folding>
<element signature="n#pagination#0;n#div#1;n#el-card#1;n#div#0;n#template#0;n#!!top" />
</folding>
<state relative-caret-position="266">
<caret line="14" column="2" selection-start-line="14" selection-start-column="2" selection-end-line="14" selection-end-column="2" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/document/editDocument.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="232">
<caret line="149" column="30" lean-forward="true" selection-start-line="149" selection-start-column="30" selection-end-line="149" selection-end-column="30" />
<state relative-caret-position="2603">
<caret line="139" column="12" lean-forward="true" selection-start-line="139" selection-start-column="12" selection-end-line="139" selection-end-column="12" />
<folding>
<element signature="n#style#0;n#el-table#0;n#div#0;n#el-dialog#0;n#div#0;n#template#0;n#!!top" expanded="true" />
<element signature="e#3190#3196#1" expanded="true" />
<element signature="e#2350#2420#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env.development">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="12" selection-start-line="12" selection-end-line="16" selection-end-column="75" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env.production">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="19">
<caret line="1" column="27" selection-start-line="1" selection-start-column="27" selection-end-line="1" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/views/workflow/config/index.vue">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="247">
<caret line="13" column="103" selection-start-line="13" selection-start-column="72" selection-end-line="13" selection-end-column="103" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/default.conf">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="475">
<caret line="25" column="36" lean-forward="true" selection-start-line="25" selection-start-column="36" selection-end-line="25" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env.staging">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="18" column="31" selection-start-line="18" selection-start-column="31" selection-end-line="18" selection-end-column="31" />
</state>
</provider>
</entry>
</component>
</project>

View File

@@ -15,6 +15,22 @@ server {
}
}
location /ebpm-process-manage/ {
proxy_pass http://192.168.1.2:8080/ebpm-process-manage/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /tool-tech-file-view/ {
proxy_pass http://192.168.1.2:8012/tool-tech-file-view/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;

File diff suppressed because it is too large Load Diff

View File

@@ -8,11 +8,11 @@ export function getMessageList(params) {
return Promise.resolve({
total: 5,
rows: [
{ id: 1, msgContent: '测试1111', msgRecTime: '2024-08-05 12:31:59', msgStatus: 'unread' },
{ id: 2, msgContent: '测试2222', msgRecTime: '2024-08-05 13:32:01', msgStatus: 'readed' },
{ id: 3, msgContent: '测试333', msgRecTime: '2024-08-05 14:09:07', msgStatus: 'unread' },
{ id: 4, msgContent: '测试4444', msgRecTime: '2024-08-05 15:37:10', msgStatus: 'readed' },
{ id: 5, msgContent: '测试5555', msgRecTime: '2024-08-05 17:29:39', msgStatus: 'unread' }
{ id: 1, msgContent: '工具名称为00071已发布成功', msgRecTime: '2024-08-05 12:31:59', msgStatus: 'unread' },
{ id: 2, msgContent: '工具名称为00071申请使用已审核通过', msgRecTime: '2024-08-05 13:32:01', msgStatus: 'readed' },
{ id: 3, msgContent: '工具名称为00073已发布成功', msgRecTime: '2024-08-05 14:09:07', msgStatus: 'unread' },
// { id: 4, msgContent: '测试4444', msgRecTime: '2024-08-05 15:37:10', msgStatus: 'readed' },
// { id: 5, msgContent: '测试5555', msgRecTime: '2024-08-05 17:29:39', msgStatus: 'unread' }
],
code: 200,
msg: '操作成功'

View File

@@ -1,376 +0,0 @@
<template>
<div>
<el-upload class="upload-demo" ref="upload" action="#"
:before-upload="beforeUpload"
:on-change="onChange"
:on-remove="handleRemove"
:multiple="isMultiple"
:on-exceed="handleExceed"
:accept="acceptType"
:limit="limit"
:file-list="fileList"
:auto-upload="true"
:http-request="uploadFile"
show-file-list>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<div slot="tip" class="el-upload__tip">只能上传{{acceptType}}文件</div>
</el-upload>
<div v-show="progressFlag" class="head-img">
<el-progress :text-inside="true" :stroke-width="14" :percentage="progressPercent" status="success"></el-progress>
</div>
</div>
</template>
<script>
import axios from 'axios'
import {
getToken
} from "@/utils/auth";
export default {
props: {
uploadUrl: {
type: String,
required: true
},
headers: {
type: Object,
default: () => ({})
},
extraData: {
type: Object,
default: () => ({})
},
onSuccess: {
type: Function,
default: () => {}
},
onError: {
type: Function,
default: () => {}
},
// 是否多选
isMultiple: {
type: Boolean,
default() {
return false
}
},
// 文件类型
type: {
type: Array,
default() {
return []
}
},
//上传类型
acceptType: {
type: String,
required: true
},
// 上传数量
limit: {
type: Number,
default() {
return 1
}
},
},
data() {
return {
fileList: [],
progress: 0,
isUploading: false,
progressFlag: false, //进度条初始值隐藏
progressPercent: 0, //进度条初始值
partSize: 5 * 1024 * 1024,
};
},
methods: {
// 上传前
beforeUpload(file) {
/* const fileType = file.type.toLowerCase()
console.info("fileType=======", fileType)
const typeFlag = this.type.some(item => {
return fileType.indexOf(item) != -1
})
if (!typeFlag) {
this.$message.error('上传类型有误,请重新上传')
return false
}*/
},
/* //上传函数
submitUpload(file) {
//重新命名 方便setTimeout函数 --因为setTimeout函数在vue内部中无效
var that = this;
// that.$refs.upload.submit();
//判断上传文件数量
if (this.fileList.length == 0) {
that.$message({
message: '请选择导入的文件',
type: 'warning',
duration: '2000'
});
return;
}
//创建FormData();主要用于发送表单数据
let paramFormData = new FormData();
//遍历 fileList
that.fileList.forEach(file => {
paramFormData.append("file", file.raw);
});
//修改progressFlag值
that.progressFlag = true;
//axios 发出请求
axios({
url: that.uploadUrl,
method: 'post',
data: paramFormData,
headers: {
'Authorization': 'Bearer ' + getToken(),
'Content-Type': 'multipart/form-data'
},
onUploadProgress: progressEvent => {
// progressEvent.loaded:已上传文件大小
// progressEvent.total:被上传文件的总大小
//进度条
that.progressPercent = ((progressEvent.loaded / progressEvent.total) * 100) | 0;
}
}).then(res => {
console.info("res===========", res)
if (res.data.code == 200 && that.progressPercent === 100) {
setTimeout(function () {
that.$message({
message: '上传成功!',
type: 'success',
duration: '2000'
});
that.progressFlag = false;
that.progressPercent = 0
}, 500);
}
}).catch(error => {
that.progressFlag = false;
that.progressPercent = 0
that.$refs.upload.clearFiles();
that.$message({
message: '上传失败!',
type: 'error',
duration: '2000'
});
})
},*/
//文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
onChange(file, fileList) {
this.fileList = fileList;
},
handleRemove(file, fileList) {
this.fileList = fileList;
},
handleExceed(files, fileList) {
this.$message.warning(
"最多之能上传"+ this.limit +"个附件"
);
},
async uploadFile({ data, file }) {
let self = this
//初始化参数
this.progress++
if (file.size < this.partSize) {
let formData = new FormData()
formData.append("file", file)
self.progressFlag = true;
axios({
url: self.uploadUrl,
method: 'post',
data: formData,
headers: {
'Authorization': 'Bearer ' + getToken(),
'Content-Type': 'multipart/form-data'
},
onUploadProgress: progressEvent => {
// progressEvent.loaded:已上传文件大小
// progressEvent.total:被上传文件的总大小
//进度条
self.progressPercent = ((progressEvent.loaded / progressEvent.total) * 100) | 0;
}
}).then(res => {
setTimeout(() => {
if (res.data.code == 200 && self.progressPercent === 100) {
setTimeout(function () {
self.$message({
message: '上传成功!',
type: 'success',
duration: '2000'
});
self.progressFlag = false;
self.progressPercent = 0
}, 500);
} else {
self.$message({
message: '上传失败!',
type: 'error',
duration: '2000'
});
}
}, 1000);
}).catch(error => {
console.error(error)
self.progressFlag = false;
self.progressPercent = 0
self.$refs.upload.clearFiles();
self.$message({
message: '上传失败!',
type: 'error',
duration: '2000'
});
})
} else {
console.info("111111111111")
file._shardCount = Math.ceil(file.size / this.partSize) //总片数
file.uploaded = 0
let formData = new FormData()
formData.append('fileName', file.name)
let self = this
//大文件上传初始化,返回uploadId initUpload(formData)
axios({
url: process.env.VUE_APP_BASE_API + "/common/initUpload",
method: 'post',
data: formData,
headers: {
'Authorization': 'Bearer ' + getToken(),
'Content-Type': 'multipart/form-data'
},
}).then(function (res) {
console.info("res=====initUpload=======", res)
if (res.status == 200) {
//从第0块开始上传
file.uploadId = res.data.uploadId
file.objectKey = res.data
file.chunkId = 0
self.uploadByChunk(file)
} else {
this.progress--
self.$message.error(res.msg)
}
}).catch(error => {
self.progressPercent = 0
self.progressFlag = false;
console.error(error)
})
}
},
//分片上传大文件
uploadByChunk(file) {
this._start = file.chunkId * this.partSize
this._end = Math.min(file.size, this._start + this.partSize)//结束时总大小,和 开始的大小+之前的大小比较
let self = this
let fileData = file.slice(this._start, this._end)
//获取文件块MD5
let reader = new FileReader()
reader.readAsBinaryString(fileData)
// 读取成功后的回调
// reader.onloadend = function(e) {
// 用hex_md5生成md5值与OSS的算法对应并转换为大写不是直接md5-js的算法
// self.md5Str[index] = (CryptoJS(this.result)).toLocaleUpperCase()
// self.md5Str[index] = CryptoJS.MD5(e.target.result)
// }
let form1 = new FormData()//new一个form的实例可以进行键值对的添加
form1.append('chunkFile', fileData) //slice方法用于切出文件的一部分
form1.append('uploadId', file.uploadId)
form1.append('chunkId', (file.chunkId + 1).toString())
form1.append('shardCount', file._shardCount.toString()) //是否最后一片
self.progressFlag = true;
//上传大文件的Chunk 返回chunk的MD5 uploadChunk(form1)
axios({
url: process.env.VUE_APP_BASE_API + "/common/uploadChunk",
method: 'post',
data: form1,
headers: {
'Authorization': 'Bearer ' + getToken(),
'Content-Type': 'multipart/form-data'
},
onUploadProgress: progressEvent => {
// progressEvent.loaded:已上传文件大小
// progressEvent.total:被上传文件的总大小
//进度条
self.progressPercent = ((progressEvent.loaded / progressEvent.total) * 100) | 0;
}
}).then(response => {
console.info("response=======uploadChunk=====", response)
if (response.status == 200) {
//判断返回的MD5值是否一致一致继续传下一块否则重传本块这里目前前后端MD5一直不一致暂时先注释掉有时间了我再研究一下
// self.md5Str[index] === response.msg ||
if (true) {
// this.$message.success('第' + (index + 1).toString() + '块文件上传成功')
file.uploaded++
self.percentageSend(file)
//如果没上传完成,继续上传一下块
file.chunkId++
if (file.chunkId < file._shardCount) {
this.uploadByChunk(file)
}
} else {
//不一致,重新传本块
this.$message.success('第' + (file.chunkId + 1).toString() + '块文件上传不成功,重新上传')
this.uploadByChunk(file.chunkId)
}
} else {
//出错,跳出循环显示错误
this.progress--
this.$message.error(response.msg)
}
})
},
//接收上传的百分值回调
percentageSend(file) {
let self = this
let perNum = Math.floor((file.uploaded / file._shardCount) * 100)
this.progressPercent = perNum
//如果上传完成,合并文件
if (perNum === 100) {
let form2 = new FormData()//new一个form的实例可以进行键值对的添加
form2.append('uploadId', file.uploadId)
form2.append('fileName', file.name)
// 大文件上传完成后合并
// 返回文件访问的URL
axios({
url: process.env.VUE_APP_BASE_API + "/common/mergeFile",
method: 'post',
data: form2,
headers: {
'Authorization': 'Bearer ' + getToken(),
'Content-Type': 'multipart/form-data'
},
}).then(response => {
console.info("response====mergeFile========", response)
if (response.status == 200) {
setTimeout(function () {
self.$message({
message: '上传成功!',
type: 'success',
duration: '2000'
});
self.progressFlag = false;
self.progressPercent = 0
}, 500);
} else {
self.$message({
message: '上传失败!',
type: 'error',
duration: '2000'
});
}
console.info("file===============", file)
})
}
},
resetData() {
this.progress = 0;
},
}
};
</script>

View File

@@ -3,32 +3,21 @@
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-col :span="24">
<el-form-item label="文件分类" prop="docCode">
<treeselect v-model="form.categoryId" :options="docCategory" :show-count="true" placeholder="请选择文件分类"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="文档编号" prop="docCode">
<el-input v-model="form.docCode" placeholder="请输入文档编号" maxlength="50" show-word-limit/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="文档名称" prop="docName">
<el-input v-model="form.docName" placeholder="请输入文档名称" maxlength="200" show-word-limit/>
</el-form-item>
</el-col>
<el-col :span="24">
<!--<el-form-item label="文档类别" required>
<el-select placeholder="请选择">
<el-option label="管理手册" value=""></el-option>
<el-option label="操作手册" value=""></el-option>
<el-option label="程序文件" value=""></el-option>
<el-option label="需求文档" value=""></el-option>
</el-select>
</el-form-item>-->
<el-form-item label="文档类别" prop="docType">
<el-input v-model="form.docType" placeholder="请输入文档类别" maxlength="50" show-word-limit/>
<el-input v-model="form.docType" placeholder="请输入文档类别" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="文档来源" prop="docSource">
<el-input v-model="form.docSource" placeholder="请输入文档来源" maxlength="50" show-word-limit/>
<el-input v-model="form.docSource" placeholder="请输入文档来源" />
</el-form-item>
</el-col>
<el-col :span="24">
@@ -38,26 +27,16 @@
</el-col>
<el-col :span="24">
<el-form-item label="负责人" prop="docPrincipals">
<el-input v-model="form.docPrincipals" placeholder="请输入负责人" maxlength="50" show-word-limit/>
<el-input v-model="form.docPrincipals" placeholder="请输入负责人" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="归属单位" prop="docRespDept">
<treeselect v-model="form.docRespDept" :options="deptOptions" :show-count="true" placeholder="请输入归属单位" />
<el-form-item label="归属部门" prop="docRespDept">
<el-input v-model="form.docRespDept" placeholder="请输入归属部门" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="文件" required>
<uploadVue
:uploadUrl="uploadFileUrl"
:type="['.txt','.doc','.docx','.pdf','.mp4','.zip','.rar','.7z','.png','.jpg','.jpeg']"
:acceptType="acceptType"
:limit="1"
:onSuccess="handleUploadSuccess"
:onError="handleUploadError"
/>
<!-- <uploadVue-->
<!-- <upload-progress/>
<el-upload
class="upload-component"
ref="upload"
@@ -71,7 +50,7 @@
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件且不超过500kb</div>
<div slot="tip" class="el-upload__tip"><el-progress :percentage="progress"></el-progress></div>
</el-upload>-->
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
@@ -92,7 +71,7 @@
</el-table-column>-->
<el-table-column align="center" width="55">
<template slot-scope="scope">
<el-radio v-model="templateSelection" :label="scope.row.prop1"></el-radio>
<el-radio v-model="templateSelection" :label="scope.row.prop1">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column prop="prop1" label="工具编号"></el-table-column>
@@ -114,15 +93,8 @@
import { addDocument, updateDocument } from "@/api/document/document";
import axios from 'axios';
import { getToken } from '@/utils/auth'
import { deptTreeSelect } from "@/api/system/user";
import { documentTree } from "@/api/documentCategory/documentCategory.js";
import Treeselect from "@riophae/vue-treeselect";
import uploadProgress from "./uploadProgress";
import uploadVue from '@/components/FileUpload/optimizeUpload.vue'
export default {
name: 'editDocument',
components: { Treeselect, uploadProgress, uploadVue},
props: {
tooId: {
type: String,
@@ -152,12 +124,10 @@
],
// 表单参数
form: {
categoryId: undefined,
docCode: '',
docName: '',
docType: '',
docPrincipals: '',
docRespDept: undefined,
docRespDept: '',
docSource: '',
toolId: ''
},
@@ -165,29 +135,16 @@
progress: 0,
// 表单校验
rules: {
docCode: [
{ required: true, message: "文档编号不能为空", trigger: "blur" }
],
docName: [
{ required: true, message: "文档名称不能为空", trigger: "blur" }
],
docType: [
{ required: true, message: "类别不能为空", trigger: "blur" }
],
docSource: [
{ required: true, message: "文档来源不能为空", trigger: "blur" }
]
},
docCategory:[],
deptOptions:[],
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传文件服务器地址
fileData: null,
acceptType: ".txt,.doc,.docx,.pdf,.mp4,.zip,.rar,.7z,.png,.jpg,.jpeg"
}
}
},
created(){
this.getDeptTree();
this.getDocumentTree();
},
mounted(){
/* this.$nextTick(() => {
@@ -196,8 +153,7 @@
},
methods:{
chooseToolConfirm(){
this.$set(this.form, "toolId", this.templateSelection)
this.drawer1 = false;
this.form.toolId = this.templateSelection
},
singleElection(row) {
this.templateSelection = row.prop1
@@ -226,7 +182,7 @@
},
// 取消按钮
cancel() {
this.drawer1 = false;
this.open = false;
this.reset();
},
onChange(file, fileList) {
@@ -329,46 +285,6 @@
console.error('Failed to upload file:', error);
});
},
/** 查询部门下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;
});
},
/** 查询树形下拉树结构 */
getDocumentTree() {
documentTree().then(response => {
this.docCategory = response.data;
});
},
/** 转换部门数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.deptId,
label: node.deptName,
children: node.children
};
},
// flag 为true表示新增
getData(data, flag, index) {
console.info("data============", data)
console.info("flag============", flag)
console.info("index============", index)
},
getError(message) {
this.$message.error(message);
},
handleUploadSuccess(response) {
alert('File uploaded successfully');
// 处理上传成功后的逻辑
},
handleUploadError(error) {
alert('Failed to upload file');
// 处理上传失败后的逻辑
}
}
}
</script>

View File

@@ -23,21 +23,26 @@
</el-card>
<el-card class="lrtt">
<div class="lt">
<el-input placeholder="请输入..." prefix-icon="el-icon-search"></el-input>
<el-input
v-model="deptName"
placeholder="请输入部门名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
<div class="divide"></div><!--divide 分隔-->
<el-tree :data="docCategory" :props="docCategoryProps" @node-click="handleNodeClick">
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
<el-dropdown>
<span class="el-dropdown-link"><i class="el-icon-more"></i></span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="handleDocCategoryAdd(data)"><i class="el-icon-plus"></i>添加</el-dropdown-item>
<el-dropdown-item v-if="data.types != 'system'" @@click.native="handleDocCategoryUpdate(data)"><i class="el-icon-edit"></i>编辑</el-dropdown-item>
<el-dropdown-item v-if="data.types != 'system'" @@click.native="handleDocCategoryDelete(data)"><i class="el-icon-delete"></i>删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</el-tree>
<el-tree
:data="deptOptions"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
node-key="id"
default-expand-all
highlight-current
@node-click="handleNodeClick"
/>
</div><!--lt -->
<div class="rt">
<div class="operate">
@@ -101,28 +106,6 @@
</div>
</el-card>
<el-dialog :title="docCategoryTitle" :visible.sync="docCategoryOpen" width="50%" append-to-body>
<el-form ref="docCategoryForm" :model="docCategoryForm" :rules="docCategoryRules" label-width="80px">
<el-form-item label="父分类" prop="parentId">
<treeselect v-model="docCategoryForm.parentId" :options="docCategory" :show-count="true" placeholder="如果不选择,默认为顶级节点" />
</el-form-item>
<el-form-item label="分类名称" prop="categoryName">
<el-input v-model="docCategoryForm.categoryName" placeholder="请输入分类名称" maxlength="50" show-word-limit/>
</el-form-item>
<el-form-item label="分类描述" prop="categoryDescription">
<el-input v-model="docCategoryForm.categoryDescription"
type="textarea" :rows="3" maxlength="500" show-word-limit
placeholder="请输入分类描述" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="docCategorySubmitForm"> </el-button>
<el-button @click="docCategoryCancel"> </el-button>
</span>
</el-dialog>
<el-dialog :title="viewDialogTitle" :visible.sync="viewDialogOpen" fullscreen width="500px" append-to-body>
<i-frame :src="previewUrl" />
</el-dialog>
@@ -145,18 +128,15 @@
<script>
import { listDocument, getDocument, delDocument, addDocument, updateDocument } from "@/api/document/document";
import { deptTreeSelect } from "@/api/system/user";
import { documentTree,addCategory,updateCategory,delCategory,getCategory } from "@/api/documentCategory/documentCategory.js";
import { Base64 } from 'js-base64';
import iFrame from "@/components/iFrame/index"
import editDocument from "./editDocument";
import uploadProgress from "./uploadProgress";
import { w3cwebsocket as WebSocket } from 'websocket';
import Treeselect from "@riophae/vue-treeselect";
export default {
name: "Document",
components: { iFrame, editDocument, uploadProgress, Treeselect},
components: { iFrame, editDocument, uploadProgress },
data() {
return {
// 遮罩层
@@ -177,12 +157,6 @@ export default {
children: "children",
label: "label"
},
// 文档树
docCategory: undefined,
docCategoryProps: {
children: "children",
label: "label"
},
// 总条数
total: 0,
// 表格数据
@@ -220,35 +194,12 @@ export default {
docSource: [
{ required: true, message: "文档来源不能为空", trigger: "blur" }
]
},
docCategoryRules: {
categoryName: [
{ required: true, message: "分类名称不能为空", trigger: "blur" }
],
createBy: [
{ required: true, message: "创建人名称不能为空", trigger: "blur" }
],
createById: [
{ required: true, message: "创建人id不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
},
docCategoryTitle: "",
docCategoryOpen: false,
// 文档资源参数
docCategoryForm: {
categoryName: null,
categoryDescription: null,
parentId: null
},
}
};
},
created() {
this.getList();
this.getDeptTree();
this.getDocumentTree();
},
methods: {
/** 查询部门下拉树结构 */
@@ -257,12 +208,6 @@ export default {
this.deptOptions = response.data;
});
},
/** 查询树形下拉树结构 */
getDocumentTree() {
documentTree().then(response => {
this.docCategory = response.data;
});
},
// 筛选节点
filterNode(value, data) {
if (!value) return true;
@@ -323,70 +268,7 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 新增按钮操作 */
handleDocCategoryAdd(data) {
console.info("data================", data)
this.docCategoryOpen = true;
// this.docCategoryForm.parentId = data.id;
this.$nextTick(() => {
this.resetDocCategoryForm();
this.docCategoryForm.parentId = data.id;
})
this.docCategoryTitle = "添加文档资源分类";
},
/** 删除按钮操作 */
handleDocCategoryDelete(row) {
this.$modal.confirm('是否删除该项数据?').then(function() {
return delCategory(row.id);
}).then(() => {
this.getDocumentTree();
this.$modal.msgSuccess("删除成功");
}).catch((err) => {
console.info("err============", err)
});
},
/** 修改按钮操作 */
handleDocCategoryUpdate(row) {
this.resetDocCategoryForm();
const id = row.id;
getCategory(id).then(response => {
this.docCategoryForm = response.data;
this.docCategoryOpen = true;
this.docCategoryTitle = "修改文档资源分类";
});
},
/** 提交按钮 */
docCategorySubmitForm() {
this.$refs["docCategoryForm"].validate(valid => {
if (valid) {
if (this.docCategoryForm.id != null) {
updateCategory(this.docCategoryForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.docCategoryOpen = false;
this.getDocumentTree();
});
} else {
this.$set(this.docCategoryForm, "type", "user")
addCategory(this.docCategoryForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.docCategoryOpen = false;
this.getDocumentTree();
});
}
}
});
},
// 取消按钮
docCategoryCancel() {
this.docCategoryOpen = false;
this.resetDocCategoryForm();
},
/** 重置 **/
resetDocCategoryForm(){
this.$refs.docCategoryForm.resetFields();
}
}
};
</script>

View File

@@ -21,7 +21,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<!-- <el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="状态"
@@ -29,13 +29,13 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
v-for="dict in dict.type.flow_business_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-form-item>-->
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
@@ -49,7 +49,7 @@
</el-form-item>
</div>
<div class="sr">
<el-button type="primary" icon="el-icon-search">搜索</el-button>
<el-button type="primary" icon="el-icon-search" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh-left">重置</el-button>
</div>
</div><!--search 默认查询-->
@@ -95,8 +95,9 @@
<el-table-column label="负责人" align="center" key="toolPrincipalsName" prop="toolPrincipalsName" v-if="columns[4].visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status == '0'">正常</el-tag>
<el-tag type="info" v-if="scope.row.status == '1'">禁用</el-tag>
<el-tag type="info" v-if="scope.row.status == '0'">已保存</el-tag>
<el-tag type="info" v-if="scope.row.status == '1'">审核中</el-tag>
<el-tag type="success" v-if="scope.row.status == '2'">已发布</el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
@@ -160,7 +161,7 @@ import toolDetail from "./toolDetail";
export default {
name: "User",
dicts: ['sys_normal_disable', 'tool_type'],
dicts: ['sys_normal_disable', 'tool_type','flow_business_status'],
components: { Treeselect, blUserSelector, toolDetail },
data() {
return {
@@ -288,6 +289,7 @@ export default {
/** 查询用户列表 */
getList() {
this.loading = true;
this.queryParams.status = '2'
listTool(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.toolList = response.rows;
this.total = response.total;

View File

@@ -7,14 +7,15 @@
<div class="el-form-border">
<el-form ref="form" label-width="150px">
<el-row>
<el-col :span="12"> <el-form-item label="工具编号">0001</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具名称">工具名称2</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具类别">网络工具</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具来源">单位自建</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="负责人">赵宁宇</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="归属单位">人力资源部/员工关系组</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="状态"><span class="green">启用中</span></el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="归属单位">人力资源部</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="状态"><span class="green">在用</span></el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具用途">主要用于单位网络使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="测情况">运行良好可正常使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="测情况">运行良好可正常使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="功能描述">单位网络使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="适用条件">网络正常</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="操作说明">正常开启即可用</el-form-item> </el-col>

View File

@@ -124,7 +124,7 @@ export default {
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
<style rel="stylesheet/scss" lang="scss">
.login {
display: flex;
justify-content: center;

View File

@@ -15,36 +15,14 @@
</el-form-item>
</div>
<div class="sr">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">5</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</div>
</div>
</el-form>
</el-card>
<el-card class="lrtt">
<div class="lt">
<el-input
v-model="deptName"
placeholder="请输入部门名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
<div class="divide"></div><!--divide 分隔-->
<el-tree
:data="deptOptions"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
node-key="id"
default-expand-all
highlight-current
@node-click="handleNodeClick"
/>
</div><!--lt -->
<div class="rt">
<el-card >
<div >
<div class="operate">
<el-button type="primary" @click="markRead(null)">全部标记已读</el-button>
</div><!--operate 操作按钮-->
@@ -146,6 +124,7 @@ export default {
getList() {
this.loading = true
getMessageList(this.queryParams).then(response => {
console.info("response============", response)
this.total = response?.total
this.tableList = response?.rows || []
this.loading = false

View File

@@ -146,7 +146,7 @@ export default {
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
<style rel="stylesheet/scss" lang="scss">
.register {
display: flex;
justify-content: center;

View File

@@ -63,7 +63,7 @@
@click="handleAdd"
v-hasPermi="['system:role:add']"
>新增</el-button>
<el-button
<!-- <el-button
plain
icon="el-icon-edit"
size="mini"
@@ -85,7 +85,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:role:export']"
>导出</el-button>
>导出</el-button>-->
</div>
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">

View File

@@ -85,7 +85,7 @@
@click="handleAdd"
v-hasPermi="['system:user:add']"
>新增</el-button>
<el-button
<!-- <el-button
plain
icon="el-icon-edit"
size="mini"
@@ -103,7 +103,7 @@
>删除</el-button>
<el-button
plain
icon="el-icon-upload2"
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:user:import']"
@@ -114,7 +114,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:user:export']"
>导出</el-button>
>导出</el-button>-->
</div>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />

View File

@@ -29,7 +29,7 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
v-for="dict in dict.type.flow_business_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -91,7 +91,7 @@
>工具发布</el-button>
<!-- <el-button type="primary" icon="el-icon-position">发布</el-button> -->
<!-- <el-button icon="el-icon-thumb" @click="applyUse()">申请使用</el-button> -->
<el-button icon="el-icon-delete">批量删除</el-button>
<!-- <el-button icon="el-icon-delete">批量删除</el-button>-->
<el-button icon="el-icon-download" @click="exoportDrawerOpen = true">导出</el-button>
</div><!--operate 操作按钮-->
<el-table v-loading="loading" :data="toolList" @selection-change="handleSelectionChange">
@@ -109,8 +109,9 @@
<el-table-column label="负责人" align="center" key="toolPrincipalsName" prop="toolPrincipalsName" v-if="columns[4].visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status == '0'">正常</el-tag>
<el-tag type="info" v-if="scope.row.status == '1'">禁用</el-tag>
<el-tag type="info" v-if="scope.row.status == '0'">已保存</el-tag>
<el-tag type="info" v-if="scope.row.status == '1'">审核中</el-tag>
<el-tag type="success" v-if="scope.row.status == '2'">已发布</el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
@@ -125,11 +126,11 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button type="text" icon="el-icon-info" @click="applyUse(scope.row)">申请使用</el-button>
<el-button type="text" icon="el-icon-info" @click="applyUse(scope.row)" v-if="scope.row.status == '2'">申请使用</el-button>
<el-button type="text" icon="el-icon-info" @click="handleDetail(scope.row)">详情</el-button>
<el-button type="text" icon="el-icon-download">下载</el-button>
<!-- <el-button type="text" icon="el-icon-download" v-if="scope.row.status == '2'">下载</el-button>-->
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['tool:edit', 'tool:remove']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-button size="mini" type="text" icon="el-icon-d-arrow-right" v-if="scope.row.status == '0'">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleUpdate" icon="el-icon-edit"
v-hasPermi="['tool:edit']">编辑</el-dropdown-item>
@@ -153,8 +154,9 @@
<!-- 添加或修改工具信息对话框 -->
<el-drawer :visible.sync="addDrawerOpen" size="75%" @open="openEvent">
<template #title>
<span>新增工具</span>
<span>{{title}}</span>
<div class="drawer-head-btn">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div><!--drawer-head-btn 抽屉顶部按钮区域-->
@@ -184,8 +186,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门" prop="toolRespDept">
<treeselect v-model="form.toolRespDept" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
<el-form-item label="归属单位" prop="toolRespDept">
<treeselect v-model="form.toolRespDept" :options="deptOptions" :show-count="true" placeholder="请选择归属单位" />
</el-form-item>
</el-col>
@@ -205,7 +207,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="工具类别">
<el-select v-model="form.toolType" placeholder="请选择工具类别" style="width: 100%">
<el-select v-model="form.toolSource" placeholder="请选择工具类别">
<el-option
v-for="dict in dict.type.tool_type"
:key="dict.value"
@@ -219,7 +221,7 @@
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
v-for="dict in dict.type.tool_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
@@ -269,14 +271,14 @@
</div>
<div class="operate">
<el-button type="primary" icon="el-icon-upload2" @click="handleDocAdd">上传</el-button>
<el-button icon="el-icon-delete">删除</el-button>
<!-- <el-button icon="el-icon-delete">批量删除</el-button>-->
</div><!--operate 操作按钮-->
<el-table :data="docList" style="width: 100%">
<el-table-column type="selection" width="50" align="center"> </el-table-column>
<el-table-column label="文档名称" prop="docName" :show-overflow-tooltip="true" />
<el-table-column label="类别" prop="docType" :show-overflow-tooltip="true" width="80" />
<el-table-column label="负责人" prop="docPrincipals" :show-overflow-tooltip="true" width="80" />
<el-table-column label="归属部门" prop="docRespDept" :show-overflow-tooltip="true" width="150" />
<el-table-column label="归属单位" prop="docRespDept" :show-overflow-tooltip="true" width="150" />
<el-table-column label="来源" prop="docSource" width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
@@ -285,12 +287,12 @@
</el-table-column>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
<!-- <el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handlePriew(scope.row)"
>预览</el-button>
>预览</el-button>-->
<el-button
size="mini"
type="text"
@@ -346,9 +348,9 @@
<el-table-column prop="prop5" label="工具类别" ></el-table-column>
<el-table-column prop="prop3" label="归属单位" width="180"> </el-table-column>
<el-table-column prop="prop4" label="负责人" width="100" ></el-table-column>
<el-table-column label="操作" width="100">
<!-- <el-table-column label="操作" width="100">
<el-button type="text">删除</el-button>
</el-table-column>
</el-table-column>-->
</el-table><!--el-table-->
</el-drawer><!--el-drawer 申请使用-->
@@ -358,7 +360,7 @@
<span class="title">导出</span>
<div class="drawer-head-btn">
<el-button type="primary">提交</el-button>
<el-button>取消</el-button>
<el-button @click="exoportDrawerOpen = false">取消</el-button>
</div><!--drawer-head-btn 抽屉顶部按钮区域-->
</template>
<div class="el-form-border">
@@ -367,18 +369,17 @@
<el-col :span="24">
<el-form-item label="选择需要导出的字段信息">
<el-checkbox-group v-model="checkList1">
<el-checkbox label="A">工具编号</el-checkbox>
<el-checkbox label="A">工具名称</el-checkbox>
<el-checkbox label="B">工具类别</el-checkbox>
<el-checkbox label="C">工具来源</el-checkbox>
<el-checkbox label="D">负责人</el-checkbox>
<el-checkbox label="E">归属单位</el-checkbox>
<el-checkbox label="F">状态</el-checkbox>
<el-checkbox label="G">工具名称</el-checkbox>
<el-checkbox label="H">工具类别</el-checkbox>
<el-checkbox label="I">工具来源</el-checkbox>
<el-checkbox label="J">负责人</el-checkbox>
<el-checkbox label="K">归属单位</el-checkbox>
<el-checkbox label="L">状态</el-checkbox>
<el-checkbox label="G">测试情况</el-checkbox>
<el-checkbox label="H">功能描述</el-checkbox>
<el-checkbox label="I">使用条件</el-checkbox>
<el-checkbox label="J">操作说明</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
@@ -413,7 +414,7 @@ import AddDoc from './AddDoc'
export default {
name: "User",
dicts: ['sys_normal_disable', 'tool_type'],
dicts: ['flow_business_status', 'tool_type', 'sys_normal_disable' ,'tool_status'],
components: { Treeselect, blUserSelector, toolDetail, AddDoc },
data() {
return {
@@ -437,7 +438,15 @@ export default {
// 部门树选项
deptOptions: undefined,
toolPrincipalsData: [],
tableData2: [],
tableData2: [
{
prop1: '0001',
prop2: '工具名称',
prop3: '归属单位',
prop4: '赵宁宇',
prop5: '工具类别'
}
],
checkList1: [],
toolDetail: {},
// 是否显示弹出层
@@ -686,7 +695,7 @@ export default {
this.postOptions = response.posts;
this.roleOptions = response.roles;
this.addDrawerOpen = true;
this.title = "添加工具";
this.title = "申请工具发布";
this.form.password = this.initPassword;
});
},

View File

@@ -1,68 +1,58 @@
<template>
<div class="fbox1">
<div class="fl">
<el-tabs v-model="detailActiveName">
<el-tab-pane label="基本信息" name="first">
<div class="app-container">
<!-- <div class="fl">-->
<!-- <el-tabs v-model="detailActiveName">-->
<div class="el-form-border">
<el-form ref="form" label-width="150px">
<div class="box-title">
基本信息
</div>
<el-row>
<el-col :span="12"> <el-form-item label="工具编号">工具编号</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具名称">工具名称2</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具类别">网络工具</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具来源">单位自建</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="负责人">赵宁宇</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="归属单位">人力资源部/员工关系组</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="状态"><span class="green">启用中</span></el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="归属单位">人力资源部</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="状态"><span class="green">在用</span></el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="工具用途">主要用于单位网络使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="测情况">运行良好可正常使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="测情况">运行良好可正常使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="功能描述">单位网络使用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="适用条件">网络正常</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="操作说明">正常开启即可用</el-form-item> </el-col>
<el-col :span="12"> <el-form-item label="备注">工具使用完成后请做好保养工作</el-form-item> </el-col>
</el-row>
</el-form><!--el-form-->
<div>
<div class="box-title">
关联附件
</div>
<el-table :data="docList" style="width: 100%">
<!-- <el-table-column type="selection" width="50" align="center"> </el-table-column>-->
<el-table-column label="文档名称" prop="docName" :show-overflow-tooltip="true" />
<el-table-column label="类别" prop="docType" :show-overflow-tooltip="true" width="80" />
<el-table-column label="负责人" prop="docPrincipals" :show-overflow-tooltip="true" width="80" />
<el-table-column label="归属部门" prop="docRespDept" :show-overflow-tooltip="true" width="150" />
<el-table-column label="来源" prop="docSource" width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button type="text" icon="el-icon-download">下载</el-button>
</template>
</el-table-column>
</el-table><!--el-table-->
</div>
</div><!--el-form-border 表单-->
</el-tab-pane><!--el-tab-pane-->
<el-tab-pane label="关联文件" name="second">
<div class="operate">
<el-button type="primary" icon="el-icon-upload2" @click="handleAdd">上传</el-button>
<el-button icon="el-icon-delete">删除</el-button>
</div><!--operate 操作按钮-->
<el-table :data="docList" style="width: 100%">
<el-table-column type="selection" width="50" align="center"> </el-table-column>
<el-table-column label="文档名称" prop="docName" :show-overflow-tooltip="true" />
<el-table-column label="类别" prop="docType" :show-overflow-tooltip="true" width="80" />
<el-table-column label="负责人" prop="docPrincipals" :show-overflow-tooltip="true" width="80" />
<el-table-column label="归属部门" prop="docRespDept" :show-overflow-tooltip="true" width="150" />
<el-table-column label="来源" prop="docSource" width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handlePriew(scope.row)"
>预览</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
<el-button type="text" icon="el-icon-download">下载</el-button>
</template>
</el-table-column>
</el-table><!--el-table-->
</el-tab-pane><!--el-tab-pane-->
</el-tabs><!--el-tabs-->
<AddDoc :show.sync="open" :toolId="toolDetail.toolId" @callback="getDocList"/>
</div><!--fl 左侧页签-->
<!-- 上传 -->
<AddDoc :show.sync="open" :toolId="toolDetail.toolId" @callback="getDocList"/>
</div><!--fbox1 左右分栏-->
</template>
<script>

View File

@@ -1,6 +1,7 @@
<template>
<div class="app-container">
<i-frame :src="workflowProcDefMgrUrl" />
<!-- <i-frame :src="workflowProcDefMgrUrl" />-->
<img class="limg" src="@/assets/images/flow_list.png"/>
</div>
</template>

View File

@@ -207,7 +207,7 @@
prop4: '赵宇',
prop5: '网络工具',
},
{
/* {
prop1: '0022',
prop2: '工具名称2',
prop3: '人力资源部/招聘组',
@@ -220,7 +220,7 @@
prop3: '人力资源部/薪资组',
prop4: '孙瑶',
prop5: '网络工具',
}
}*/
],
tableData3: [
{

View File

@@ -24,7 +24,8 @@
<el-table-column prop="prop5" label="上一环节处理人"></el-table-column>
<el-table-column prop="prop6" label="发起人"></el-table-column>
<el-table-column prop="prop7" label="接收时间"></el-table-column>
<el-table-column label="操作" width="100" >
<el-table-column label="操作" width="120" >
<el-button type="text" icon="el-icon-info" @click="drawer1 = true">审批</el-button>
<el-button type="text" icon="el-icon-info" @click="drawer1 = true">详情</el-button>
</el-table-column>
</el-table><!--el-table-->
@@ -258,7 +259,7 @@
prop4: '赵宇',
prop5: '网络工具',
},
{
/*{
prop1: '0022',
prop2: '工具名称2',
prop3: '人力资源部/招聘组',
@@ -271,7 +272,7 @@
prop3: '人力资源部/薪资组',
prop4: '孙瑶',
prop5: '网络工具',
}
}*/
],
tableData3: [
{