Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
W
web
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
INET-TWO
web
Commits
5c208e7d
Commit
5c208e7d
authored
Sep 14, 2024
by
wangdanlei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增dee-archives项目
parent
b7f6794e
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
17451 additions
and
9 deletions
+17451
-9
.eslintignore
applications/dee-archives/.eslintignore
+4
-0
.eslintrc.js
applications/dee-archives/.eslintrc.js
+198
-0
.gitignore
applications/dee-archives/.gitignore
+22
-0
README.md
applications/dee-archives/README.md
+29
-0
babel.config.js
applications/dee-archives/babel.config.js
+5
-0
jest.config.js
applications/dee-archives/jest.config.js
+24
-0
package.json
applications/dee-archives/package.json
+86
-0
App.vue
applications/dee-archives/src/App.vue
+17
-0
componentsRegister.js
applications/dee-archives/src/api/componentsRegister.js
+19
-0
config.js
applications/dee-archives/src/api/config.js
+57
-0
model.js
applications/dee-archives/src/api/model.js
+11
-0
permission.js
applications/dee-archives/src/api/permission.js
+7
-0
portal.js
applications/dee-archives/src/api/portal.js
+13
-0
storage.js
applications/dee-archives/src/api/storage.js
+75
-0
user.js
applications/dee-archives/src/api/user.js
+5
-0
workflow.js
applications/dee-archives/src/api/workflow.js
+13
-0
logo.png
applications/dee-archives/src/assets/logo.png
+0
-0
jsplumb.js
applications/dee-archives/src/assets/utils/jsplumb.js
+15950
-0
index.js
applications/dee-archives/src/asyncCompontents/index.js
+65
-0
base.js
applications/dee-archives/src/base.js
+7
-0
bus.js
applications/dee-archives/src/bus.js
+2
-0
index.js
...ions/dee-archives/src/business-components/tabCom/index.js
+7
-0
file.svg
applications/dee-archives/src/icons/file.svg
+23
-0
filenode.png
applications/dee-archives/src/icons/filenode.png
+0
-0
folder_closed.svg
applications/dee-archives/src/icons/folder_closed.svg
+28
-0
folder_open.svg
applications/dee-archives/src/icons/folder_open.svg
+28
-0
main.js
applications/dee-archives/src/main.js
+36
-0
index.js
applications/dee-archives/src/privateComponents/index.js
+29
-0
signConfig.js
...ications/dee-archives/src/privateComponents/signConfig.js
+20
-0
routes.js
applications/dee-archives/src/routes.js
+23
-0
dxModel.js
applications/dee-archives/src/services/dxModel.js
+55
-0
store.js
applications/dee-archives/src/store.js
+10
-0
index.scss
applications/dee-archives/src/styles/index.scss
+187
-0
config.js
applications/dee-archives/src/utils/config.js
+6
-0
enum.js
applications/dee-archives/src/utils/enum.js
+9
-0
formate.js
applications/dee-archives/src/utils/formate.js
+8
-0
formateOptions.js
applications/dee-archives/src/utils/formateOptions.js
+13
-0
http.js
applications/dee-archives/src/utils/http.js
+26
-0
store.js
applications/dee-archives/src/utils/store.js
+31
-0
tools.js
applications/dee-archives/src/utils/tools.js
+215
-0
util.js
applications/dee-archives/src/utils/util.js
+0
-0
validate.js
applications/dee-archives/src/utils/validate.js
+20
-0
vue.config.js
applications/dee-archives/vue.config.js
+57
-0
apps.js
apps.js
+3
-2
modules.js
modules.js
+2
-1
start.js
start.js
+6
-6
No files found.
applications/dee-archives/.eslintignore
0 → 100644
View file @
5c208e7d
build/*.js
src/assets/*.js
public
dist
applications/dee-archives/.eslintrc.js
0 → 100644
View file @
5c208e7d
module
.
exports
=
{
root
:
true
,
parserOptions
:
{
parser
:
'babel-eslint'
,
sourceType
:
'module'
},
env
:
{
browser
:
true
,
node
:
true
,
es6
:
true
,
},
extends
:
[
'plugin:vue/recommended'
,
'eslint:recommended'
],
// add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue
rules
:
{
"vue/max-attributes-per-line"
:
[
2
,
{
"singleline"
:
10
,
"multiline"
:
{
"max"
:
1
,
"allowFirstLine"
:
false
}
}],
"vue/singleline-html-element-content-newline"
:
"off"
,
"vue/multiline-html-element-content-newline"
:
"off"
,
"vue/name-property-casing"
:
[
"error"
,
"PascalCase"
],
"vue/no-v-html"
:
"off"
,
'accessor-pairs'
:
2
,
'arrow-spacing'
:
[
2
,
{
'before'
:
true
,
'after'
:
true
}],
'block-spacing'
:
[
2
,
'always'
],
'brace-style'
:
[
2
,
'1tbs'
,
{
'allowSingleLine'
:
true
}],
'camelcase'
:
[
0
,
{
'properties'
:
'always'
}],
'comma-dangle'
:
[
2
,
'never'
],
'comma-spacing'
:
[
2
,
{
'before'
:
false
,
'after'
:
true
}],
'comma-style'
:
[
2
,
'last'
],
'constructor-super'
:
2
,
'curly'
:
[
2
,
'multi-line'
],
'dot-location'
:
[
2
,
'property'
],
'eol-last'
:
2
,
'eqeqeq'
:
[
"error"
,
"always"
,
{
"null"
:
"ignore"
}],
'generator-star-spacing'
:
[
2
,
{
'before'
:
true
,
'after'
:
true
}],
'handle-callback-err'
:
[
2
,
'^(err|error)$'
],
'indent'
:
[
2
,
2
,
{
'SwitchCase'
:
1
}],
'jsx-quotes'
:
[
2
,
'prefer-single'
],
'key-spacing'
:
[
2
,
{
'beforeColon'
:
false
,
'afterColon'
:
true
}],
'keyword-spacing'
:
[
2
,
{
'before'
:
true
,
'after'
:
true
}],
'new-cap'
:
[
2
,
{
'newIsCap'
:
true
,
'capIsNew'
:
false
}],
'new-parens'
:
2
,
'no-array-constructor'
:
2
,
'no-caller'
:
2
,
'no-console'
:
'off'
,
'no-class-assign'
:
2
,
'no-cond-assign'
:
2
,
'no-const-assign'
:
2
,
'no-control-regex'
:
0
,
'no-delete-var'
:
2
,
'no-dupe-args'
:
2
,
'no-dupe-class-members'
:
2
,
'no-dupe-keys'
:
2
,
'no-duplicate-case'
:
2
,
'no-empty-character-class'
:
2
,
'no-empty-pattern'
:
2
,
'no-eval'
:
2
,
'no-ex-assign'
:
2
,
'no-extend-native'
:
2
,
'no-extra-bind'
:
2
,
'no-extra-boolean-cast'
:
2
,
'no-extra-parens'
:
[
2
,
'functions'
],
'no-fallthrough'
:
2
,
'no-floating-decimal'
:
2
,
'no-func-assign'
:
2
,
'no-implied-eval'
:
2
,
'no-inner-declarations'
:
[
2
,
'functions'
],
'no-invalid-regexp'
:
2
,
'no-irregular-whitespace'
:
2
,
'no-iterator'
:
2
,
'no-label-var'
:
2
,
'no-labels'
:
[
2
,
{
'allowLoop'
:
false
,
'allowSwitch'
:
false
}],
'no-lone-blocks'
:
2
,
'no-mixed-spaces-and-tabs'
:
2
,
'no-multi-spaces'
:
2
,
'no-multi-str'
:
2
,
'no-multiple-empty-lines'
:
[
2
,
{
'max'
:
1
}],
'no-native-reassign'
:
2
,
'no-negated-in-lhs'
:
2
,
'no-new-object'
:
2
,
'no-new-require'
:
2
,
'no-new-symbol'
:
2
,
'no-new-wrappers'
:
2
,
'no-obj-calls'
:
2
,
'no-octal'
:
2
,
'no-octal-escape'
:
2
,
'no-path-concat'
:
2
,
'no-proto'
:
2
,
'no-redeclare'
:
2
,
'no-regex-spaces'
:
2
,
'no-return-assign'
:
[
2
,
'except-parens'
],
'no-self-assign'
:
2
,
'no-self-compare'
:
2
,
'no-sequences'
:
2
,
'no-shadow-restricted-names'
:
2
,
'no-spaced-func'
:
2
,
'no-sparse-arrays'
:
2
,
'no-this-before-super'
:
2
,
'no-throw-literal'
:
2
,
'no-trailing-spaces'
:
2
,
'no-undef'
:
2
,
'no-undef-init'
:
2
,
'no-unexpected-multiline'
:
2
,
'no-unmodified-loop-condition'
:
2
,
'no-unneeded-ternary'
:
[
2
,
{
'defaultAssignment'
:
false
}],
'no-unreachable'
:
2
,
'no-unsafe-finally'
:
2
,
'no-unused-vars'
:
[
2
,
{
'vars'
:
'all'
,
'args'
:
'none'
}],
'no-useless-call'
:
2
,
'no-useless-computed-key'
:
2
,
'no-useless-constructor'
:
2
,
'no-useless-escape'
:
0
,
'no-whitespace-before-property'
:
2
,
'no-with'
:
2
,
'one-var'
:
[
2
,
{
'initialized'
:
'never'
}],
'operator-linebreak'
:
[
2
,
'after'
,
{
'overrides'
:
{
'?'
:
'before'
,
':'
:
'before'
}
}],
'padded-blocks'
:
[
2
,
'never'
],
'quotes'
:
[
2
,
'single'
,
{
'avoidEscape'
:
true
,
'allowTemplateLiterals'
:
true
}],
'semi'
:
[
2
,
'never'
],
'semi-spacing'
:
[
2
,
{
'before'
:
false
,
'after'
:
true
}],
'space-before-blocks'
:
[
2
,
'always'
],
'space-before-function-paren'
:
[
2
,
'never'
],
'space-in-parens'
:
[
2
,
'never'
],
'space-infix-ops'
:
2
,
'space-unary-ops'
:
[
2
,
{
'words'
:
true
,
'nonwords'
:
false
}],
'spaced-comment'
:
[
2
,
'always'
,
{
'markers'
:
[
'global'
,
'globals'
,
'eslint'
,
'eslint-disable'
,
'*package'
,
'!'
,
','
]
}],
'template-curly-spacing'
:
[
2
,
'never'
],
'use-isnan'
:
2
,
'valid-typeof'
:
2
,
'wrap-iife'
:
[
2
,
'any'
],
'yield-star-spacing'
:
[
2
,
'both'
],
'yoda'
:
[
2
,
'never'
],
'prefer-const'
:
2
,
'no-debugger'
:
process
.
env
.
NODE_ENV
===
'production'
?
2
:
0
,
'object-curly-spacing'
:
[
2
,
'always'
,
{
objectsInObjects
:
false
}],
'array-bracket-spacing'
:
[
2
,
'never'
]
}
}
applications/dee-archives/.gitignore
0 → 100644
View file @
5c208e7d
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw*
applications/dee-archives/README.md
0 → 100644
View file @
5c208e7d
# app-javascript
## Project setup
```
yarn install
```
### Compiles and hot-reloads for development
```
yarn run serve
```
### Compiles and minifies for production
```
yarn run build
```
### Run your tests
```
yarn run test
```
### Lints and fixes files
```
yarn run lint
```
### Customize configuration
See
[
Configuration Reference
](
https://cli.vuejs.org/config/
)
.
applications/dee-archives/babel.config.js
0 → 100644
View file @
5c208e7d
module
.
exports
=
{
presets
:
[
'@vue/app'
]
}
applications/dee-archives/jest.config.js
0 → 100644
View file @
5c208e7d
module
.
exports
=
{
moduleFileExtensions
:
[
'js'
,
'jsx'
,
'json'
,
'vue'
],
transform
:
{
'^.+
\\
.vue$'
:
'vue-jest'
,
'.+
\\
.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$'
:
'jest-transform-stub'
,
'^.+
\\
.jsx?$'
:
'babel-jest'
},
moduleNameMapper
:
{
'^@/(.*)$'
:
'<rootDir>/src/$1'
},
snapshotSerializers
:
[
'jest-serializer-vue'
],
testMatch
:
[
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
],
collectCoverageFrom
:
[
'src/utils/**/*.{js,vue}'
,
'!src/utils/auth.js'
,
'!src/utils/request.js'
,
'src/components/**/*.{js,vue}'
],
coverageDirectory
:
'<rootDir>/tests/unit/coverage'
,
// 'collectCoverage': true,
'coverageReporters'
:
[
'lcov'
,
'text-summary'
],
testURL
:
'http://localhost/'
}
applications/dee-archives/package.json
0 → 100644
View file @
5c208e7d
{
"name"
:
"dee-archives"
,
"devPort"
:
10296
,
"version"
:
"0.1.0"
,
"scripts"
:
{
"serve"
:
"vue-cli-service serve"
,
"lint"
:
"vue-cli-service lint"
,
"build"
:
"vue-cli-service build --report"
},
"dependencies"
:
{
"axios"
:
"^0.19.2"
,
"lodash.foreach"
:
"^4.5.0"
,
"moment"
:
"^2.26.0"
,
"vue"
:
"^2.6.10"
,
"vue-router"
:
"^3.1.3"
,
"vuex"
:
"^3.1.2"
,
"vuedraggable"
:
"2.23.0"
},
"devDependencies"
:
{
"@babel/core"
:
"7.0.0"
,
"@babel/register"
:
"7.0.0"
,
"@vue/cli-plugin-babel"
:
"3.6.0"
,
"@vue/cli-plugin-eslint"
:
"^3.9.1"
,
"@vue/cli-plugin-unit-jest"
:
"3.6.3"
,
"@vue/cli-service"
:
"^4.1.0"
,
"@vue/test-utils"
:
"1.0.0-beta.29"
,
"autoprefixer"
:
"^9.5.1"
,
"babel-core"
:
"7.0.0-bridge.0"
,
"babel-eslint"
:
"^8.0.1"
,
"babel-jest"
:
"23.6.0"
,
"chalk"
:
"2.4.2"
,
"connect"
:
"3.6.6"
,
"css-loader"
:
"^1.0.1"
,
"eslint"
:
"5.15.3"
,
"eslint-plugin-prettier"
:
"^3.1.3"
,
"eslint-plugin-vue"
:
"5.2.2"
,
"html-webpack-plugin"
:
"3.2.0"
,
"lint-staged"
:
"^10.2.9"
,
"mockjs"
:
"1.0.1-beta3"
,
"node-sass"
:
"^4.14.1"
,
"runjs"
:
"^4.3.2"
,
"sass-loader"
:
"^7.3.1"
,
"script-ext-html-webpack-plugin"
:
"2.1.3"
,
"script-loader"
:
"0.7.2"
,
"serve-static"
:
"^1.13.2"
,
"style-loader"
:
"^1.1.3"
,
"svg-sprite-loader"
:
"4.1.3"
,
"svgo"
:
"1.2.2"
,
"vue-template-compiler"
:
"^2.6.10"
,
"webpack"
:
"^4.4.1"
},
"postcss"
:
{
"plugins"
:
{
"autoprefixer"
:
{}
}
},
"eslintConfig"
:
{
"root"
:
true
,
"env"
:
{
"node"
:
true
},
"extends"
:
[
"plugin:vue/essential"
,
"@vue/prettier"
],
"rules"
:
{
"no-console"
:
"off"
,
"no-unused-vars"
:
"off"
},
"parserOptions"
:
{
"parser"
:
"babel-eslint"
}
},
"browserslist"
:
[
"> 1%"
,
"last 2 versions"
,
"not ie <= 8"
],
"lint-staged"
:
{
"*.{js,vue}"
:
[
"vue-cli-service lint"
,
"git add"
]
},
"license"
:
"MIT"
}
applications/dee-archives/src/App.vue
0 → 100644
View file @
5c208e7d
<
template
>
<div
class=
"app"
>
<router-view
/>
</div>
</
template
>
<
script
>
import
'./base'
export
default
{}
</
script
>
<
style
scoped
>
.app
{
height
:
100%
;
}
</
style
>
applications/dee-archives/src/api/componentsRegister.js
0 → 100644
View file @
5c208e7d
import
{
get
,
post
,
put
}
from
'../utils/http'
export
function
addComponents
(
params
)
{
return
post
(
`/SystemComponent`
,
params
)
}
export
function
updateComponents
(
params
)
{
return
put
(
`/SystemComponent`
,
params
)
}
export
function
getComponents
(
typeKey
)
{
return
get
(
`/SystemComponent/query/typekey?typeKey=
${
typeKey
}
`
)
}
export
function
updateLayouts
(
layoutModel
)
{
return
put
(
`/model/systems/layouts`
,
layoutModel
)
}
export
function
componentBindFun
(
layoutModel
)
{
return
put
(
`/SystemComponent/all`
,
layoutModel
)
}
applications/dee-archives/src/api/config.js
0 → 100644
View file @
5c208e7d
import
{
get
,
post
// del
}
from
'../utils/http'
// 根据keyName 查询
export
function
getAppLayoutByKey
(
keyName
)
{
return
get
(
`/AppLayout/find/
${
keyName
}
`
)
}
// 查询模型配置信息
export
function
getLayouts
(
typeKey
,
layoutType
)
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
get
(
'/DxModelComponent/findModelComponent'
,
{
modelDefName
:
typeKey
,
layoutType
}).
then
(
res
=>
{
if
(
res
.
items
&&
res
.
items
.
content
)
{
resolve
({
items
:
res
.
items
.
content
})
}
})
})
}
// 查询所有基本属性
export
function
getappLayout
(
params
)
{
return
get
(
'/AppLayout/'
+
params
)
}
// // 查询所有基本属性
// export function postappLayout(params) {
// return post('/AppLayout/', params)
// }
// // 查询所有基本属性
// export function putappLayout(params) {
// return put('/AppLayout/', params)
// }
// 库房查询接口
export
function
getTreeData
(
params
)
{
return
post
(
'/DxPbWorkCenter/search'
,
params
)
}
// 库房新增编辑接口
export
function
subTreeData
(
params
)
{
return
post
(
'/ DxPbWorkCenter/recursion'
,
params
)
}
// 库区查询接口
export
function
getAreaTreeData
(
params
)
{
return
post
(
'/DxPbArea/search'
,
params
)
}
// 库区新增编辑接口
export
function
subTreeAreaData
(
params
)
{
return
post
(
'/DxPbArea/recursion'
,
params
)
}
// 库位查询接口
export
function
getWorkTreeData
(
params
)
{
return
post
(
'/DxPbWorkUnit/search'
,
params
)
}
// 库位新增编辑接口
export
function
subWorkTreeData
(
params
)
{
return
post
(
'/DxPbWorkUnit/recursion'
,
params
)
}
applications/dee-archives/src/api/model.js
0 → 100644
View file @
5c208e7d
import
{
get
// post,
// put
// del
}
from
'../utils/http'
// 查询模型配置信息
export
function
getModelTree
(
params
)
{
return
get
(
'/ModelDefinition/all/base/tree'
,
params
)
}
applications/dee-archives/src/api/permission.js
0 → 100644
View file @
5c208e7d
import
{
get
// del
}
from
'../utils/http'
export
function
getPermissions
(
appId
,
keyName
,
appName
)
{
return
get
(
'/perm/PageResource/childrenKeyNames'
,
{
appId
,
keyName
,
appName
})
}
applications/dee-archives/src/api/portal.js
0 → 100644
View file @
5c208e7d
import
{
get
}
from
'../utils/http'
// 出入库单据状态状态统计
export
function
getDxStRdBaseAF
()
{
return
get
(
'/DxStRdBaseAF/statistical'
)
}
// 出入库概览
export
function
getDxStRdRecords
()
{
return
get
(
'/DxStRdRecords/statistical'
)
}
// 物料库存状态统计饼图
export
function
getDxStInvAccountStatus
()
{
return
get
(
'/DxStInvAccountStatus/statistical'
)
}
applications/dee-archives/src/api/storage.js
0 → 100644
View file @
5c208e7d
import
{
get
,
post
}
from
'../utils/http'
// 查询入库库房
export
function
getStHouseForInCome
(
dxResClassId
)
{
return
post
(
`/DxPbWorkCenter/getStHouseForInCome?dxResClassId=
${
dxResClassId
}
`
)
}
// 查询库区
export
function
findAreaListWithHouseId
(
houseId
,
dxResClassId
)
{
return
post
(
`DxStOrgArea/findAreaListWithHouseId?houseId=
${
houseId
}
&dxResClassId=
${
dxResClassId
}
`
)
}
// 出入库登账
export
function
saveAllocate
(
afId
,
params
)
{
return
post
(
`/DxStRdBaseAFD/batchSaveAllocate?afId=
${
afId
}
`
,
params
)
}
// 查询库内信息
export
function
getDxStInventoryAccount
(
type
,
locationId
)
{
return
get
(
`DxStInventoryAccount/getStockQuantity?modelName=
${
type
}
&locationId=
${
locationId
}
`
)
}
// 根据资源id查库房-出库登账
export
function
getStHouseForSendOut
(
dxResId
)
{
return
post
(
`/DxPbWorkCenter/getStHouseForSendOut?dxResId=
${
dxResId
}
`
)
}
// 根据资源id和库房id查库区-出库登账
export
function
getStAreaForSendOut
(
dxResId
,
houseId
)
{
return
post
(
`/DxPbArea/getStAreaForSendOut?dxResId=
${
dxResId
}
&houseId=
${
houseId
}
`
)
}
// 根据资源id和库区id查库位-出库登账
export
function
getStLocationForSendOut
(
dxResId
,
areaId
)
{
return
post
(
`/DxPbWorkUnit/getStLocationForSendOut?dxResId=
${
dxResId
}
&areaId=
${
areaId
}
`
)
}
// 查询会计期段树
export
function
getDxStAccountingConfigTree
(
params
)
{
return
post
(
`/DxStAccountingConfig/metrics`
,
params
)
}
// 查询库房下可用的物料分类
export
function
findResClassByHouse
(
houseId
)
{
return
post
(
`/DxStOrgHouse/findResClassByHouse?houseId=
${
houseId
}
`
)
}
// 查询库区下的库位
export
function
getStLocationForInCome
(
areaId
,
dxResClassId
)
{
return
post
(
`/DxStOrgLocation/getStLocationForInCome?areaId=
${
areaId
}
&dxResClassId=
${
dxResClassId
}
`
)
}
// 获取三期时间
export
function
getExpDay
()
{
return
post
(
'/DxStInvExpire/getExpDay'
)
}
// 获取入库登账的分配结果
export
function
getDxStInComeAFRecord
(
params
)
{
return
get
(
'/DxStInComeAF/autoAllocate'
,
params
)
}
// 取消出库单占用
export
function
cancelOccupyDetail
(
params
)
{
return
post
(
`/DxStSendOutAFRD/cancelOccupyDetail?afrdId=
${
params
}
`
)
}
// 出库单占用接口
export
function
occupyDetail
(
params
)
{
return
post
(
`/DxStSendOutAFRD/occupyDetail?afId=
${
params
.
afId
}
&afdId=
${
params
.
afdId
}
`
,
params
.
dList
)
}
// 出库单占用接口
export
function
batchSaveAllocate
(
params
)
{
return
post
(
`/DxStRdBaseAFD/batchSaveAllocate?afId=
${
params
.
afId
}
`
,
params
.
dList
)
}
// 三期物料预警占比
export
function
getExpireWarningRatio
()
{
return
post
(
'/DxStInvAccountDetail/expireWarningRatio'
)
}
// 三期物料所占库房情况
export
function
getExpireWarningInHouseRatio
()
{
return
post
(
'/DxStInvAccountDetail/expireWarningRatio/house'
)
}
applications/dee-archives/src/api/user.js
0 → 100644
View file @
5c208e7d
import
{
get
}
from
'../utils/http'
// 通过用户名或账号模糊匹配查询存在账号的用户
export
function
getUsersByAccount
(
params
)
{
return
get
(
'/DxUserInfo/byAccount'
,
params
)
}
applications/dee-archives/src/api/workflow.js
0 → 100644
View file @
5c208e7d
import
{
get
}
from
'../utils/http'
// 根据pbo查询流程实例列表
export
function
getWFInsts
(
params
)
{
return
get
(
'/workflow/inst'
,
params
)
}
// 查询流程实例详情
export
function
instDetail
(
instId
)
{
return
get
(
`/workflow/inst/
${
instId
}
/simple`
)
}
applications/dee-archives/src/assets/logo.png
0 → 100644
View file @
5c208e7d
6.69 KB
applications/dee-archives/src/assets/utils/jsplumb.js
0 → 100644
View file @
5c208e7d
This diff is collapsed.
Click to expand it.
applications/dee-archives/src/asyncCompontents/index.js
0 → 100644
View file @
5c208e7d
import
Vue
from
'vue'
let
resultComps
=
[]
const
requireComponent
=
require
.
context
(
'./'
,
// 在当前目录下查找
true
,
// 遍历子文件夹
/
\.
vue$/
// 正则匹配 以 .vue结尾的文件
)
resultComps
=
handleData
(
requireComponent
.
keys
())
function
findKey
(
data
)
{
const
allkey
=
[]
const
finalData
=
[]
const
obj
=
{}
data
.
forEach
(
el
=>
{
const
comp
=
requireComponent
(
el
)
const
item
=
comp
.
default
if
(
!
(
item
.
modelRelationObjs
.
length
===
0
||
(
item
.
modelRelationObjs
.
length
===
1
&&
item
.
modelRelationObjs
[
0
]
===
''
)))
{
item
.
modelRelationObjs
.
forEach
(
key
=>
{
if
(
allkey
.
indexOf
(
key
)
<=
-
1
)
{
allkey
.
push
(
key
)
finalData
.
push
({
[
key
]:
[]
})
obj
[
key
]
=
[]
}
})
}
})
return
{
finalData
,
allkey
,
obj
}
}
function
handleData
(
data
)
{
if
(
!
data
)
return
const
{
finalData
,
obj
}
=
findKey
(
data
)
data
.
forEach
(
el
=>
{
const
comp
=
requireComponent
(
el
)
const
item
=
comp
.
default
const
mfileName
=
el
.
split
(
'/'
)[
el
.
split
(
'/'
).
length
-
1
]
Vue
.
component
(
mfileName
.
slice
(
0
,
-
4
),
comp
.
default
)
if
(
item
.
modelRelationObjs
.
length
===
0
||
(
item
.
modelRelationObjs
.
length
===
1
&&
item
.
modelRelationObjs
[
0
]
===
''
))
{
if
(
!
obj
[
'commonComponent'
])
{
obj
[
'commonComponent'
]
=
[]
}
obj
[
'commonComponent'
].
push
({
name
:
mfileName
.
slice
(
0
,
-
4
),
displayName
:
item
.
displayName
,
modelRelationObjs
:
item
.
modelRelationObjs
,
codePath
:
el
.
slice
(
1
)
})
}
else
{
item
.
modelRelationObjs
.
forEach
(
key
=>
{
const
index
=
finalData
.
findIndex
(
y
=>
y
[
key
])
if
(
index
>
-
1
)
{
finalData
[
index
][
key
].
push
({
name
:
mfileName
.
slice
(
0
,
-
4
),
displayName
:
item
.
displayName
,
modelRelationObjs
:
item
.
modelRelationObjs
,
codePath
:
el
.
slice
(
1
)
})
obj
[
key
]
=
finalData
[
index
][
key
]
}
})
}
})
return
obj
}
export
default
resultComps
applications/dee-archives/src/base.js
0 → 100644
View file @
5c208e7d
import
Vue
from
'vue'
import
store
from
'./store'
// 子项目异步注册 store module
// Vue.__share_pool__.store.registerModule(process.env.VUE_APP_NAME, store)
Vue
.
__share_pool__
.
store
.
registerModule
(
'config'
,
store
)
export
default
null
applications/dee-archives/src/bus.js
0 → 100644
View file @
5c208e7d
import
Vue
from
'vue'
export
default
new
Vue
()
applications/dee-archives/src/business-components/tabCom/index.js
0 → 100644
View file @
5c208e7d
import
Vue
from
'vue'
// https://webpack.js.org/guides/dependency-management/#requirecontext
const
modulesFiles
=
require
.
context
(
'./'
,
true
,
/
\.
vue$/
)
// it will auto require all vuex module from modules file
modulesFiles
.
keys
().
reduce
((
modules
,
modulePath
)
=>
{
Vue
.
component
(
modulePath
.
replace
(
/^
\.\/(
.*
)\.\w
+$/
,
'$1'
),
modulePath
)
},
{})
applications/dee-archives/src/icons/file.svg
0 → 100644
View file @
5c208e7d
<?xml version="1.0" encoding="UTF-8"?>
<svg
width=
"67px"
height=
"57px"
viewBox=
"0 0 67 57"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<!-- Generator: Sketch 64 (93537) - https://sketch.com -->
<title>
文件
</title>
<desc>
Created with Sketch.
</desc>
<defs>
<polygon
id=
"path-1"
points=
"0 0.20027027 66.7083977 0.20027027 66.7083977 57 0 57"
></polygon>
</defs>
<g
id=
"页面-1"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
>
<g
id=
"通用2"
transform=
"translate(-1177.000000, -524.000000)"
>
<g
id=
"文件"
transform=
"translate(1177.000000, 524.000000)"
>
<g
id=
"编组"
>
<mask
id=
"mask-2"
fill=
"white"
>
<use
xlink:href=
"#path-1"
></use>
</mask>
<g
id=
"Clip-2"
></g>
<path
d=
"M59.6748443,52.1858108 L7.03378182,52.1858108 C5.77715114,52.1858108 4.75844659,51.1551892 4.75844659,49.8838581 L4.75844659,26.3470946 L61.9425659,26.3470946 L61.9425659,49.8838581 C61.9425659,51.1478716 60.9238614,52.1858108 59.6748443,52.1858108 M7.03378182,5.01445946 L27.3911227,5.01445946 C28.3131341,5.01445946 29.1384523,5.57097973 29.4879182,6.42829054 L29.5400716,6.55615541 L31.9638727,10.9343716 C33.0865034,13.5143919 35.5997648,15.1693176 38.395492,15.1693176 L59.6672307,15.1693176 C60.9238614,15.1693176 61.9425659,16.1995541 61.9425659,17.4708851 L61.9425659,21.5329054 L4.75844659,21.5329054 L4.75844659,7.31602703 C4.75844659,6.04469595 5.77715114,5.01445946 7.03378182,5.01445946 M59.6748443,10.3551284 L38.395492,10.3551284 C37.4734807,10.3551284 36.6481625,9.79822297 36.2986966,8.94091216 L36.2465432,8.8130473 L33.822742,4.43521622 C32.7001114,1.85481081 30.18685,0.20027027 27.3911227,0.20027027 L7.03378182,0.20027027 C3.15996364,0.20027027 -7.61363636e-05,3.38957432 -7.61363636e-05,7.31602703 L-7.61363636e-05,49.8838581 C-7.61363636e-05,53.8029932 3.15235,57 7.03378182,57 L59.6748443,57 C63.5486625,57 66.7087023,53.8106959 66.7087023,49.8838581 L66.7087023,17.4708851 C66.7010886,13.5444324 63.5486625,10.3551284 59.6748443,10.3551284"
id=
"Fill-1"
fill=
"#000000"
mask=
"url(#mask-2)"
></path>
</g>
<line
x1=
"4.75844659"
y1=
"24"
x2=
"62"
y2=
"24"
id=
"路径-3"
stroke=
"#4A90E2"
stroke-width=
"5"
fill=
"#4A90E2"
></line>
</g>
</g>
</g>
</svg>
\ No newline at end of file
applications/dee-archives/src/icons/filenode.png
0 → 100644
View file @
5c208e7d
516 Bytes
applications/dee-archives/src/icons/folder_closed.svg
0 → 100644
View file @
5c208e7d
<?xml version="1.0" encoding="UTF-8"?>
<svg
width=
"18px"
height=
"13px"
viewBox=
"0 0 18 13"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<title>
关闭
</title>
<defs>
<linearGradient
x1=
"50%"
y1=
"0%"
x2=
"50%"
y2=
"100%"
id=
"linearGradient-1"
>
<stop
stop-color=
"#EDBD44"
offset=
"0%"
></stop>
<stop
stop-color=
"#DDB043"
offset=
"100%"
></stop>
</linearGradient>
<linearGradient
x1=
"50%"
y1=
"0%"
x2=
"50%"
y2=
"100%"
id=
"linearGradient-2"
>
<stop
stop-color=
"#F4D781"
offset=
"0%"
></stop>
<stop
stop-color=
"#E0AD33"
offset=
"100%"
></stop>
</linearGradient>
</defs>
<g
id=
"页面-1"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
>
<g
id=
"综合查询"
transform=
"translate(-150.000000, -648.000000)"
fill-rule=
"nonzero"
>
<g
id=
"Group-66"
transform=
"translate(90.000000, 329.000000)"
>
<g
id=
"Rectangle-Copy-38"
transform=
"translate(20.000000, 153.000000)"
>
<g
id=
"tree_1"
transform=
"translate(6.886486, 156.000000)"
>
<g
id=
"关闭"
transform=
"translate(34.000000, 10.000000)"
>
<path
d=
"M16.0839948,2.92151172 C16.0656914,2.4215957 15.9010392,2.29662305 15.4528084,2.29662305 L8.48864326,2.29662305 C7.58304948,2.29662305 7.47328133,1.30554785 6.78722386,0.591385742 C6.2200537,-0.00672851562 6.43960302,0.00130761719 5.25957585,0.00130761719 L1.12198623,0.00130761719 C0.399348048,0.00130761719 0.143205009,-0.0611914062 0.0700305755,0.679757813 C0.00600132015,1.3582207 0.0183033649,4.18211984 1.4033219e-13,4.44100265 L15.9864023,4.33357347 L16.0839948,2.92151172 Z"
id=
"Path"
fill=
"url(#linearGradient-1)"
></path>
<path
d=
"M0.74987129,3.90332617 C0.00891673412,3.90332617 -0.0276639782,4.27825684 0.0180619122,4.73353613 L0.554115046,12.1697773 C0.590695758,12.6250693 0.700463913,13 1.43226028,13 L14.5955018,13 C15.3455885,13 15.4279341,12.6250693 15.47366,12.1697773 L15.9767749,4.6442627 C16.0133686,4.1889834 15.9804304,3.90332617 15.2394888,3.90332617 L0.74987129,3.90332617 Z"
id=
"Path"
fill=
"url(#linearGradient-2)"
></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
applications/dee-archives/src/icons/folder_open.svg
0 → 100644
View file @
5c208e7d
<?xml version="1.0" encoding="UTF-8"?>
<svg
width=
"17px"
height=
"13px"
viewBox=
"0 0 17 13"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<title>
wenjianjia-3
</title>
<defs>
<linearGradient
x1=
"50%"
y1=
"0%"
x2=
"50%"
y2=
"100%"
id=
"linearGradient-1"
>
<stop
stop-color=
"#F4D781"
offset=
"0%"
></stop>
<stop
stop-color=
"#E0AD33"
offset=
"100%"
></stop>
</linearGradient>
<linearGradient
x1=
"50%"
y1=
"0%"
x2=
"50%"
y2=
"100%"
id=
"linearGradient-2"
>
<stop
stop-color=
"#EDBD44"
offset=
"0%"
></stop>
<stop
stop-color=
"#CA9E36"
offset=
"100%"
></stop>
</linearGradient>
</defs>
<g
id=
"页面-1"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
>
<g
id=
"综合查询"
transform=
"translate(-150.000000, -616.000000)"
fill-rule=
"nonzero"
>
<g
id=
"Group-66"
transform=
"translate(90.000000, 329.000000)"
>
<g
id=
"Rectangle-Copy-38"
transform=
"translate(20.000000, 153.000000)"
>
<g
id=
"tree_1"
transform=
"translate(6.886486, 124.000000)"
>
<g
id=
"wenjianjia-3"
transform=
"translate(34.000000, 10.000000)"
>
<path
d=
"M15.2395018,3.90332617 L0.74987129,3.90332617 C0.00891673412,3.90332617 -0.0276639782,4.27825684 0.0180619122,4.73353613 L0.554115046,12.1697773 C0.590695758,12.6250693 0.700463913,13 1.43226028,13 L14.5955018,13 C15.3455885,13 15.4279341,12.6250693 15.47366,12.1697773 L15.9767749,4.6442627 C16.0133686,4.1889834 15.9804304,3.90332617 15.2394888,3.90332617 L15.2395018,3.90332617 Z"
id=
"Path"
fill=
"url(#linearGradient-1)"
></path>
<path
d=
"M15.0839948,1.92151172 C15.0656914,1.4215957 14.9010392,1.29662305 14.4528084,1.29662305 L8.48864326,1.29662305 C7.58304948,1.29662305 7.47328133,1.30554785 6.78722386,0.591385742 C6.2200537,-0.00672851562 6.43960302,0.00130761719 5.25957585,0.00130761719 L2.12198623,0.00130761719 C1.39934805,0.00130761719 1.14320501,-0.0611914062 1.07003058,0.679757813 C1.00600132,1.3582207 0.859639445,3.00079102 0.84133608,3.25967383 L15.148011,3.25967383 L15.0839948,1.92151172 Z"
id=
"Path"
fill=
"url(#linearGradient-2)"
></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
applications/dee-archives/src/main.js
0 → 100644
View file @
5c208e7d
// import Vue from 'vue'
// import routes from './routes'
// import '@/styles/index.scss' // global css
// const sharePool = (Vue.__share_pool__ = Vue.__share_pool__ || {})
// const store = (sharePool.store = sharePool.store || {})
import
asyncComponents
from
'./asyncCompontents/index'
import
privateComponents
from
'./privateComponents/index'
import
signConfig
from
'./privateComponents/signConfig'
function
loadComponent
(
comName
,
type
)
{
let
resolveComponent
if
(
!
type
)
{
resolveComponent
=
resolve
=>
{
require
([
`@/asyncCompontents
${
comName
}
`
],
resolve
)
}
}
else
if
(
type
===
'customComponent'
)
{
resolveComponent
=
resolve
=>
{
require
([
`@/customComponent
${
comName
}
`
],
resolve
)
}
}
else
if
(
type
===
'privateComponents'
)
{
resolveComponent
=
resolve
=>
{
require
([
`@/privateComponents/
${
'components'
+
comName
}
`
],
resolve
)
}
}
else
if
(
type
===
'view'
)
{
resolveComponent
=
resolve
=>
{
require
([
`@/views/
${
comName
}
`
],
resolve
)
}
}
return
resolveComponent
}
require
(
'./business-components/tabCom/index.js'
)
export
default
{
name
:
'dee-storage'
,
privateComponents
,
signConfig
,
asyncComponents
,
loadComponent
,
beforeEach
(
from
,
to
,
next
)
{
next
()
},
init
()
{}
}
applications/dee-archives/src/privateComponents/index.js
0 → 100644
View file @
5c208e7d
const
requireComponent
=
require
.
context
(
'./components'
,
// 在当前目录下查找
true
,
// 遍历子文件夹
/
\.
vue$/
// 正则匹配 以 .vue结尾的文件
)
const
privateComponents
=
[]
requireComponent
.
keys
().
forEach
(
fileName
=>
{
const
comp
=
requireComponent
(
fileName
)
if
(
comp
.
default
.
componentName
)
{
let
layoutConfigData
=
comp
.
default
.
layoutConfigData
if
(
!
layoutConfigData
&&
comp
.
default
.
mixins
)
{
const
hasLayoutConfigData
=
comp
.
default
.
mixins
.
find
(
el
=>
{
return
el
.
layoutConfigData
})
if
(
hasLayoutConfigData
)
{
layoutConfigData
=
hasLayoutConfigData
.
layoutConfigData
}
}
privateComponents
.
push
(
{
componentName
:
comp
.
default
.
componentName
,
name
:
comp
.
default
.
name
,
path
:
fileName
.
slice
(
1
),
layoutConfigData
:
layoutConfigData
||
[]
}
)
}
})
export
default
privateComponents
applications/dee-archives/src/privateComponents/signConfig.js
0 → 100644
View file @
5c208e7d
const
containerComponents
=
[
'demo'
]
const
formListComponents
=
[
'demo'
]
const
tabComponents
=
[
'demo'
]
const
tableListComponents
=
[
'demo'
]
export
default
{
containerComponents
,
formListComponents
,
tabComponents
,
tableListComponents
}
applications/dee-archives/src/routes.js
0 → 100644
View file @
5c208e7d
/* routes-list */
// const APP_NAME = process.env.VUE_APP_NAME;
// import Vue from 'vue'
// const sharePool = (Vue.__share_pool__ = Vue.__share_pool__ || {})
// const store = (sharePool.store = sharePool.store || {})
const
App
=
()
=>
import
(
'./App.vue'
)
export
default
[
{
path
:
'/storageCenter'
,
name
:
'storageCenter'
,
component
:
()
=>
import
(
'@/views/storage/center'
),
meta
:
{
title
:
'仓储中心'
,
alive
:
true
}
},
{
path
:
'/storage'
,
component
:
App
,
name
:
'storage'
,
meta
:
{
title
:
'仓储中心'
,
icon
:
'xitong'
},
redirect
:
''
,
children
:
[]
}
]
applications/dee-archives/src/services/dxModel.js
0 → 100644
View file @
5c208e7d
const
DEABaseService
=
window
.
top
.
mainVue
.
$store
.
getters
.
baseService
const
ACTIONS
=
{
// // 获取子结构
// GET_LAYOUT: {
// path: '{{$modelPath}}/form/config/layout?layoutType={{layoutType}}&typeKey={{typeKey}}',
// method: 'GET'
// }
GET
:
{
path
:
'{{$modelPath}}'
,
method
:
'GET'
},
ADD
:
{
path
:
'{{$modelPath}}'
,
method
:
'POST'
},
EDIT
:
{
path
:
'{{$modelPath}}'
,
method
:
'PUT'
},
GET_BY_NAME
:
{
path
:
'{{$modelPath}}/name/{{modelName}}'
,
method
:
'GET'
}
}
class
ModelDefinitionService
extends
DEABaseService
{
// eslint-disable-next-line no-useless-constructor
constructor
()
{
super
(
'/ModelDefinition'
)
}
// // 获取Layout
// getLayout(layoutType, typeKey) {
// return this.apply(ACTIONS.GET_LAYOUT, { layoutType, typeKey })
// }
async
get
(
appId
,
modelId
)
{
return
await
this
.
apply
(
ACTIONS
.
GET
,
null
,
{
appId
,
modelId
}).
items
}
async
getByName
(
modelName
)
{
return
await
this
.
apply
(
ACTIONS
.
GET_BY_NAME
,
null
,
{
modelName
})
}
}
export
default
{
install
()
{
window
.
top
.
mainVue
.
$setService
(
'ModelDefinition'
,
ModelDefinitionService
)
}
}
applications/dee-archives/src/store.js
0 → 100644
View file @
5c208e7d
/* store module */
import
{
actionInit
}
from
'@/utils/store.js'
export
default
{
namespaced
:
true
,
// namespaced must be true in module app.
state
:
{
name
:
process
.
env
.
VUE_APP_NAME
},
mutations
:
{},
actions
:
actionInit
()
}
applications/dee-archives/src/styles/index.scss
0 → 100644
View file @
5c208e7d
/**
* @Description: 样式统一位置
* @author arvin
* @date 2021/2/25
*/
/* */
.porcess-history-record-com
{
margin-top
:
10px
;
}
/* */
.preview-com
{
height
:
100%
;
overflow
:
auto
;
.preview-box
{
padding
:
8px
;
height
:
100%
;
overflow
:
auto
;
background-color
:
#DEE1E7
;
.preview-form
{
padding
:
8px
;
background
:
#FFF
}
}
}
.prop-tree-com
{
height
:
100%
;
.model-icon
{
border-width
:
0
;
color
:
#2A75CE
;
}
}
.intermediate-region-com
{
.left-s-box
{
display
:
flex
;
align-items
:
center
}
.more-info
{
color
:
#2A75CE
;
padding
:
0
10px
;
font-size
:
16px
;
cursor
:
pointer
;
}
}
.add-page
{
height
:
100%
;
box-sizing
:
border-box
;
.scroll-container
{
.el-scrollbar__wrap
{
margin-bottom
:
0
!
important
;
overflow-x
:
hidden
;
.task-name
{
font-weight
:
bold
;
margin-bottom
:
20px
;
margin-top
:
4px
;
}
}
.is-horizontal
{
display
:
none
;
}
}
}
.storage-center
{
height
:
100%
;
box-sizing
:
border-box
;
display
:
flex
;
justify-content
:
flex-start
;
.detail-pane
{
width
:
100%
;
height
:
100%
;
}
.left-box
{
height
:
100%
;
box-sizing
:
border-box
;
border
:
1px
solid
#d9d9d9
;
background-color
:
#fff
;
.dee-panel
{
height
:
calc
(
100%
-
13px
)
!
important
;
width
:
99%
;
}
.el-tabs__content
{
height
:
calc
(
100%
-
68px
)
!
important
;
overflow
:
auto
;
}
.el-tab-pane
{
height
:
calc
(
100%
-
13px
)
!
important
;
}
.el-tabs__nav-prev
{
left
:
4px
;
}
.el-tabs__nav-next
{
right
:
4px
;
}
.el-tabs__nav
{
width
:
100%
;
}
.is-active
:after
{
position
:
absolute
;
border-top
:
4px
solid
transparent
;
border-left
:
4px
solid
transparent
;
border-bottom
:
4px
solid
#3281DE
;
border-right
:
4px
solid
transparent
;
content
:
" "
;
display
:
block
;
bottom
:
0
;
left
:
50%
;
transform
:
translateX
(
-50%
);
}
.el-tabs__nav-scroll
{
border-left
:
none
;
}
.el-tabs__item
{
width
:
25%
;
background-color
:
#ffffff
;
height
:
auto
;
font-weight
:
bold
;
border-left
:
0
;
border-right
:
0
;
border-top
:
0
;
span
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
.imgStyle
{
margin
:
0
;
}
}
}
.el-tabs__item.is-active
{
border-bottom
:
2px
solid
#3281DE
;
background-color
:
#f3f3f3
;
}
.slot
{
height
:
100%
;
padding
:
10px
;
box-sizing
:
border-box
;
}
}
.right-pane
{
height
:
100%
;
background-color
:
#fff
;
border
:
1px
solid
#d9d9d9
;
box-sizing
:
border-box
;
.splitter-pane-resizer.horizontal
{
opacity
:
1
;
background-color
:
#F1F4F5
;
height
:
8px
;
border-bottom
:
1px
solid
#e0e0e0
;
border-top
:
1px
solid
#e0e0e0
;
}
.table-box
{
height
:
calc
(
100%
-
22px
);
overflow
:
hidden
;
background-color
:
#fff
;
padding
:
10px
16px
;
.dee-table
{
height
:
calc
(
100%
-
32px
);
.dee-table-body
{
height
:
calc
(
100%
-
96px
);
overflow
:
auto
;
}
}
}
.down-pic
{
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
5px
;
z-index
:
10
;
margin
:
0
auto
;
cursor
:
pointer
;
}
.detail
{
height
:
100%
;
}
.dee-table-pagination
{
padding
:
0
;
}
}
}
.integratedQuery
{
height
:
100%
;
}
applications/dee-archives/src/utils/config.js
0 → 100644
View file @
5c208e7d
export
const
layoutExtendOptions
=
[]
export
const
verificationMethods
=
{}
export
const
formateExtendOptions
=
[
// 参考格式 views\config\typePropManage\layoutConfig\config\formateOptions.js 格式
]
applications/dee-archives/src/utils/enum.js
0 → 100644
View file @
5c208e7d
export
const
layout
=
{
'创建'
:
'0'
,
'编辑'
:
'1'
,
'详情信息'
:
'2'
,
'流程任务'
:
'3'
,
'主题'
:
'4'
,
'查看'
:
'5'
,
'列表查看'
:
'6'
}
applications/dee-archives/src/utils/formate.js
0 → 100644
View file @
5c208e7d
import
moment
from
'moment'
export
function
formatDate
({
params
:
formatPattern
,
row
,
column
,
cellValue
,
index
})
{
const
date
=
'YYYY-MM-DD'
return
moment
(
cellValue
).
format
(
formatPattern
||
date
)
}
export
default
{
formatDate
}
applications/dee-archives/src/utils/formateOptions.js
0 → 100644
View file @
5c208e7d
export
const
formateOptions
=
[
{
label
:
'年-月-日'
,
value
:
'data1'
,
params
:
'YYYY-MM-DD'
,
formate
:
'formatDate'
},
{
label
:
'年-月-日 时:分:秒'
,
value
:
'data2'
,
params
:
'YYYY-MM-DD HH:mm:ss'
,
formate
:
'formatDate'
}
]
applications/dee-archives/src/utils/http.js
0 → 100644
View file @
5c208e7d
import
Vue
from
'vue'
const
sharePool
=
(
Vue
.
__share_pool__
=
Vue
.
__share_pool__
||
{})
const
http
=
(
sharePool
.
http
=
sharePool
.
http
||
{})
function
get
(
url
,
params
)
{
return
http
.
get
(
url
,
params
)
}
function
post
(
url
,
params
)
{
return
http
.
post
(
url
,
params
)
}
function
put
(
url
,
params
)
{
return
http
.
put
(
url
,
params
)
}
function
patch
(
url
,
params
)
{
return
http
.
patch
(
url
,
params
)
}
function
del
(
url
,
params
)
{
return
http
.
del
(
url
,
params
)
}
function
downloadFile
(
url
,
type
)
{
return
http
.
downloadFile
(
url
,
type
)
}
function
downloadZip
(
url
,
type
)
{
return
http
.
downloadZip
(
url
,
type
)
}
export
{
get
,
post
,
put
,
del
,
patch
,
downloadFile
,
downloadZip
}
applications/dee-archives/src/utils/store.js
0 → 100644
View file @
5c208e7d
/**
* Created by CXG on 19/7/3.
*/
/**
* @param {Object} sapproval
* @param {Object} selfAction
* @returns {Object}
*/
export
function
actionInit
(
sapproval
,
selfAction
)
{
const
resOBj
=
{}
if
(
sapproval
)
{
Object
.
keys
(
sapproval
).
forEach
(
function
(
key
)
{
resOBj
[
key
]
=
({
commit
},
params
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
sapproval
[
key
](
params
).
then
(
res
=>
{
resolve
(
res
)
}).
catch
(
error
=>
{
reject
(
error
)
})
})
}
})
}
if
(
selfAction
)
{
return
Object
.
assign
(
resOBj
,
selfAction
)
}
else
{
return
resOBj
}
}
applications/dee-archives/src/utils/tools.js
0 → 100644
View file @
5c208e7d
export
const
forEach
=
(
arr
,
fn
)
=>
{
if
(
!
arr
.
length
||
!
fn
)
return
let
i
=
-
1
const
len
=
arr
.
length
while
(
++
i
<
len
)
{
const
item
=
arr
[
i
]
fn
(
item
,
i
,
arr
)
}
}
/**
* @param {Array} arr1
* @param {Array} arr2
* @description 得到两个数组的交集, 两个数组的元素为数值或字符串
*/
export
const
getIntersection
=
(
arr1
,
arr2
)
=>
{
const
len
=
Math
.
min
(
arr1
.
length
,
arr2
.
length
)
let
i
=
-
1
const
res
=
[]
while
(
++
i
<
len
)
{
const
item
=
arr2
[
i
]
if
(
arr1
.
indexOf
(
item
)
>
-
1
)
res
.
push
(
item
)
}
return
res
}
/**
* @param {Array} arr1
* @param {Array} arr2
* @description 得到两个数组的并集, 两个数组的元素为数值或字符串
*/
export
const
getUnion
=
(
arr1
,
arr2
)
=>
{
return
Array
.
from
(
new
Set
([...
arr1
,
...
arr2
]))
}
/**
* @param {Array} target 目标数组
* @param {Array} arr 需要查询的数组
* @description 判断要查询的数组是否至少有一个元素包含在目标数组中
*/
export
const
hasOneOf
=
(
targetarr
,
arr
)
=>
{
return
targetarr
.
some
(
_
=>
arr
.
indexOf
(
_
)
>
-
1
)
}
/**
* @param {String|Number} value 要验证的字符串或数值
* @param {*} validList 用来验证的列表
*/
export
function
oneOf
(
value
,
validList
)
{
for
(
let
i
=
0
;
i
<
validList
.
length
;
i
++
)
{
if
(
value
===
validList
[
i
])
{
return
true
}
}
return
false
}
/**
* @param {Number} timeStamp 判断时间戳格式是否是毫秒
* @returns {Boolean}
*/
const
isMillisecond
=
timeStamp
=>
{
const
timeStr
=
String
(
timeStamp
)
return
timeStr
.
length
>
10
}
/**
* @param {Number} timeStamp 传入的时间戳
* @param {Number} currentTime 当前时间时间戳
* @returns {Boolean} 传入的时间戳是否早于当前时间戳
*/
const
isEarly
=
(
timeStamp
,
currentTime
)
=>
{
return
timeStamp
<
currentTime
}
/**
* @param {Number} num 数值
* @returns {String} 处理后的字符串
* @description 如果传入的数值小于10,即位数只有1位,则在前面补充0
*/
const
getHandledValue
=
num
=>
{
return
num
<
10
?
'0'
+
num
:
num
}
/**
* @param {Number} timeStamp 传入的时间戳
* @param {Number} startType 要返回的时间字符串的格式类型,传入'year'则返回年开头的完整时间
*/
const
getDate
=
(
timeStamp
,
startType
)
=>
{
const
d
=
new
Date
(
timeStamp
*
1000
)
const
year
=
d
.
getFullYear
()
const
month
=
getHandledValue
(
d
.
getMonth
()
+
1
)
const
date
=
getHandledValue
(
d
.
getDate
())
const
hours
=
getHandledValue
(
d
.
getHours
())
const
minutes
=
getHandledValue
(
d
.
getMinutes
())
const
second
=
getHandledValue
(
d
.
getSeconds
())
let
resStr
=
''
if
(
startType
===
'year'
)
resStr
=
year
+
'-'
+
month
+
'-'
+
date
+
' '
+
hours
+
':'
+
minutes
+
':'
+
second
else
resStr
=
month
+
'-'
+
date
+
' '
+
hours
+
':'
+
minutes
return
resStr
}
/**
* @param {String|Number} timeStamp 时间戳
* @returns {String} 相对时间字符串
*/
export
const
getRelativeTime
=
timeStamp
=>
{
// 判断当前传入的时间戳是秒格式还是毫秒
const
IS_MILLISECOND
=
isMillisecond
(
timeStamp
)
// 如果是毫秒格式则转为秒格式
if
(
IS_MILLISECOND
)
Math
.
floor
(
timeStamp
/=
1000
)
// 传入的时间戳可以是数值或字符串类型,这里统一转为数值类型
timeStamp
=
Number
(
timeStamp
)
// 获取当前时间时间戳
const
currentTime
=
Math
.
floor
(
Date
.
parse
(
new
Date
())
/
1000
)
// 判断传入时间戳是否早于当前时间戳
const
IS_EARLY
=
isEarly
(
timeStamp
,
currentTime
)
// 获取两个时间戳差值
let
diff
=
currentTime
-
timeStamp
// 如果IS_EARLY为false则差值取反
if
(
!
IS_EARLY
)
diff
=
-
diff
let
resStr
=
''
const
dirStr
=
IS_EARLY
?
'前'
:
'后'
// 少于等于59秒
if
(
diff
<=
59
)
resStr
=
diff
+
'秒'
+
dirStr
// 多于59秒,少于等于59分钟59秒
else
if
(
diff
>
59
&&
diff
<=
3599
)
resStr
=
Math
.
floor
(
diff
/
60
)
+
'分钟'
+
dirStr
// 多于59分钟59秒,少于等于23小时59分钟59秒
else
if
(
diff
>
3599
&&
diff
<=
86399
)
resStr
=
Math
.
floor
(
diff
/
3600
)
+
'小时'
+
dirStr
// 多于23小时59分钟59秒,少于等于29天59分钟59秒
else
if
(
diff
>
86399
&&
diff
<=
2623859
)
resStr
=
Math
.
floor
(
diff
/
86400
)
+
'天'
+
dirStr
// 多于29天59分钟59秒,少于364天23小时59分钟59秒,且传入的时间戳早于当前
else
if
(
diff
>
2623859
&&
diff
<=
31567859
&&
IS_EARLY
)
resStr
=
getDate
(
timeStamp
)
else
resStr
=
getDate
(
timeStamp
,
'year'
)
return
resStr
}
/**
* @returns {String} 当前浏览器名称
*/
export
const
getExplorer
=
()
=>
{
const
ua
=
window
.
navigator
.
userAgent
const
isExplorer
=
(
exp
)
=>
{
return
ua
.
indexOf
(
exp
)
>
-
1
}
if
(
isExplorer
(
'MSIE'
))
return
'IE'
else
if
(
isExplorer
(
'Firefox'
))
return
'Firefox'
else
if
(
isExplorer
(
'Chrome'
))
return
'Chrome'
else
if
(
isExplorer
(
'Opera'
))
return
'Opera'
else
if
(
isExplorer
(
'Safari'
))
return
'Safari'
}
/**
* @description 绑定事件 on(element, event, handler)
*/
export
const
on
=
(
function
()
{
if
(
document
.
addEventListener
)
{
return
function
(
element
,
event
,
handler
)
{
if
(
element
&&
event
&&
handler
)
{
element
.
addEventListener
(
event
,
handler
,
false
)
}
}
}
else
{
return
function
(
element
,
event
,
handler
)
{
if
(
element
&&
event
&&
handler
)
{
element
.
attachEvent
(
'on'
+
event
,
handler
)
}
}
}
})()
/**
* @description 解绑事件 off(element, event, handler)
*/
export
const
off
=
(
function
()
{
if
(
document
.
removeEventListener
)
{
return
function
(
element
,
event
,
handler
)
{
if
(
element
&&
event
)
{
element
.
removeEventListener
(
event
,
handler
,
false
)
}
}
}
else
{
return
function
(
element
,
event
,
handler
)
{
if
(
element
&&
event
)
{
element
.
detachEvent
(
'on'
+
event
,
handler
)
}
}
}
})()
/**
* 判断一个对象是否存在key,如果传入第二个参数key,则是判断这个obj对象是否存在key这个属性
* 如果没有传入key这个参数,则判断obj对象是否有键值对
*/
export
const
hasKey
=
(
obj
,
key
)
=>
{
if
(
key
)
return
key
in
obj
else
{
const
keysArr
=
Object
.
keys
(
obj
)
return
keysArr
.
length
}
}
/**
* @param {*} obj1 对象
* @param {*} obj2 对象
* @description 判断两个对象是否相等,这两个对象的值只能是数字或字符串
*/
export
const
objEqual
=
(
obj1
,
obj2
)
=>
{
const
keysArr1
=
Object
.
keys
(
obj1
)
const
keysArr2
=
Object
.
keys
(
obj2
)
if
(
keysArr1
.
length
!==
keysArr2
.
length
)
return
false
else
if
(
keysArr1
.
length
===
0
&&
keysArr2
.
length
===
0
)
return
true
/* eslint-disable-next-line */
else
return
!
keysArr1
.
some
(
key
=>
obj1
[
key
]
!=
obj2
[
key
])
}
applications/dee-archives/src/utils/util.js
0 → 100644
View file @
5c208e7d
applications/dee-archives/src/utils/validate.js
0 → 100644
View file @
5c208e7d
/**
* Created by PanJiaChen on 16/11/18.
*/
/**
* @param {string} path
* @returns {Boolean}
*/
export
function
isExternal
(
path
)
{
return
/^
(
https
?
:|mailto:|tel:
)
/
.
test
(
path
)
}
/**
* @param {string} str
* @returns {Boolean}
*/
export
function
validUsername
(
str
)
{
const
valid_map
=
[
'admin'
,
'editor'
]
return
valid_map
.
indexOf
(
str
.
trim
())
>=
0
}
applications/dee-archives/vue.config.js
0 → 100644
View file @
5c208e7d
const
webpack
=
require
(
'webpack'
)
const
APP_NAME
=
require
(
'./package.json'
).
name
const
PORT
=
require
(
'./package.json'
).
devPort
const
NODE_ENV
=
process
.
env
.
NODE_ENV
||
'development'
const
path
=
require
(
'path'
)
log
(
'APP_NAME: '
,
APP_NAME
)
log
(
'NODE_ENV: '
,
NODE_ENV
)
function
resolve
(
dir
)
{
return
path
.
join
(
__dirname
,
dir
)
}
module
.
exports
=
{
publicPath
:
`
${
NODE_ENV
===
'development'
?
''
:
'.'
}
/
${
APP_NAME
}
/`
,
css
:
{
extract
:
false
},
productionSourceMap
:
false
,
configureWebpack
:
{
// provide the app's title in webpack's name field, so that
// it can be accessed in index.html to inject the correct title.
resolve
:
{
alias
:
{
'@'
:
resolve
(
'src'
)
}
}
},
chainWebpack
:
(
config
)
=>
{
config
.
externals
({
'vue'
:
'Vue'
})
config
.
output
.
filename
(
'main.js'
)
.
chunkFilename
(
'[name].[chunkhash:8].js'
)
.
jsonpFunction
(
`webpackJsonp-
${
APP_NAME
}
`
)
.
library
(
`app-
${
APP_NAME
}
`
)
.
libraryExport
(
'default'
)
.
libraryTarget
(
'umd'
)
config
.
optimization
.
splitChunks
(
false
)
config
.
plugin
(
'define'
).
use
(
webpack
.
DefinePlugin
,
[{
'process.env.VUE_APP_NAME'
:
JSON
.
stringify
(
APP_NAME
)
}])
config
.
plugins
.
delete
(
'html'
)
.
delete
(
'preload'
)
.
delete
(
'prefetch'
)
},
devServer
:
{
port
:
PORT
}
}
function
log
(
label
,
content
,
options
)
{
console
.
log
(
'
\
x1b[1m%s
\
x1b[31m%s
\
x1b[0m'
,
label
,
content
)
}
apps.js
View file @
5c208e7d
...
@@ -23,6 +23,7 @@ const apps = [
...
@@ -23,6 +23,7 @@ const apps = [
'dee-quality'
,
'dee-quality'
,
'dee-equipment'
,
'dee-equipment'
,
'dee-performance'
,
'dee-performance'
,
'dee-plan'
'dee-plan'
,
'dee-archives'
]
]
module
.
exports
=
apps
;
module
.
exports
=
apps
;
modules.js
View file @
5c208e7d
...
@@ -23,5 +23,6 @@ export const modules = [
...
@@ -23,5 +23,6 @@ export const modules = [
'dee-quality'
,
'dee-quality'
,
'dee-equipment'
,
'dee-equipment'
,
'dee-performance'
,
'dee-performance'
,
'dee-plan'
'dee-plan'
,
'dee-archives'
]
]
start.js
View file @
5c208e7d
...
@@ -93,7 +93,7 @@ startServerObj['architecture-dee'].stderr.on('data', function(data) {
...
@@ -93,7 +93,7 @@ startServerObj['architecture-dee'].stderr.on('data', function(data) {
}
}
})
})
//绑定端口号 启动服务
//绑定端口号 启动服务
server
.
listen
(
998
8
,
function
()
{
server
.
listen
(
998
9
,
function
()
{
// console.log('已经开启您的http服务器')
// console.log('已经开启您的http服务器')
// console.log('访问地址:http:127.0.0.1:9988/')
// console.log('访问地址:http:127.0.0.1:9988/')
})
})
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment