Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
emport-web
Overview
Overview
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
刘泽志
emport-web
Commits
fd326b87
Commit
fd326b87
authored
Feb 17, 2023
by
刘泽志
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0202
parent
8ef73186
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
669 additions
and
514 deletions
+669
-514
DataField.js
src/api/emport/DataField.js
+69
-0
DataImport.js
src/api/emport/DataImport.js
+96
-0
DataRule.js
src/api/emport/DataRule.js
+120
-0
DataTemplate.js
src/api/emport/DataTemplate.js
+122
-0
DictData.js
src/api/emport/DictData.js
+55
-0
Emport.js
src/api/emport/Emport.js
+0
-505
ExcelData.js
src/api/emport/ExcelData.js
+57
-0
Index.vue
src/layout/EmptyLayout/Index.vue
+1
-0
index.js
src/router/index.js
+7
-1
index.vue
src/views/emport/emport/index.vue
+0
-0
index.vue
src/views/emport/field/index.vue
+125
-0
ArraySelect.vue
src/views/emport/rule/ArraySelect.vue
+5
-1
index.vue
src/views/emport/rule/index.vue
+12
-7
No files found.
src/api/emport/DataField.js
View file @
fd326b87
import
request
from
"@/utils/request"
;
const
prefix
=
'/data/field'
/**
* 字段查询
* @param params
* @returns {*}
*/
export
function
queryField
(
params
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'get'
,
params
})
}
/**
* 新增字段
* @param data
* @returns {*}
*/
export
function
addField
(
data
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'post'
,
data
})
}
/**
* 修改字段
* @param data
* @returns {*}
*/
export
function
updateField
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/update`
,
method
:
'post'
,
data
})
}
/**
* 删除字段
* @param fieldId
* @returns {*}
*/
export
function
deleteField
(
fieldId
)
{
return
request
({
url
:
`
${
prefix
}
/delete`
,
method
:
'get'
,
params
:{
fieldId
}
})
}
/**
* 根据基础模板重置字段
* @param excelId
* @returns {*}
*/
export
function
resetField
(
excelId
){
return
request
({
url
:
`
${
prefix
}
/reset`
,
method
:
'get'
,
params
:{
excelId
}
})
}
src/api/emport/DataImport.js
View file @
fd326b87
import
request
from
'@/utils/request'
const
prefix
=
'/data/import'
/**
* 查询数据源字典
* @returns {AxiosPromise<any>}
*/
export
function
queryDatasource
()
{
return
request
({
url
:
`
${
prefix
}
/datasource`
,
method
:
'get'
})
}
/**
* 查询表信息
* @param dataSourceId
* @returns {AxiosPromise<any>}
*/
export
function
queryTable
(
dataSourceId
)
{
return
request
({
url
:
`
${
prefix
}
/datasource/table`
,
method
:
'get'
,
params
:{
dataSourceId
}
})
}
/**
* 查询数据库字段字典
* @param dataSourceId
* @param tableName
* @returns {AxiosPromise}
*/
export
function
queryDbField
(
dataSourceId
,
tableName
)
{
return
request
({
url
:
`
${
prefix
}
/datasource/field`
,
method
:
'get'
,
params
:{
dataSourceId
,
tableName
}
})
}
/**
* 创建物理表
* @param tableName
* @param templateId
* @returns {*}
*/
export
function
createTable
(
tableName
,
templateId
){
return
request
({
url
:
`
${
prefix
}
/table/create`
,
method
:
'get'
,
params
:{
tableName
,
templateId
}
})
}
/**
* 数据分析并导出
* @param templateId
* @returns {*}
*/
export
function
analyzeExport
(
templateId
){
return
request
({
url
:
`
${
prefix
}
/analyze/export`
,
method
:
'get'
,
params
:{
templateId
},
responseType
:
"blob"
,
})
}
/**
* 清空数据
* @param data
* @returns {*}
*/
export
function
clearTemp
(
data
){
return
request
({
url
:
`
${
prefix
}
/clearTemp`
,
method
:
'post'
,
data
})
}
/**
* 一键导入正式库
* @param data
* @returns {*}
*/
export
function
syncDb
(
data
){
return
request
({
url
:
`
${
prefix
}
/syncDb`
,
method
:
'post'
,
data
})
}
src/api/emport/DataRule.js
View file @
fd326b87
import
request
from
"@/utils/request"
;
const
prefix
=
'/data/rule'
/**
* 规则查询
* @param params
* @returns {*}
*/
export
function
queryRule
(
params
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'get'
,
params
})
}
/**
* 规则字典
* @returns {*}
*/
export
function
queryRuleDict
()
{
return
request
({
url
:
`
${
prefix
}
/dict`
,
method
:
'get'
})
}
/**
* 新增规则
* @param data
* @returns {*}
*/
export
function
addRule
(
data
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'post'
,
data
})
}
/**
* 修改规则
* @param data
* @returns {*}
*/
export
function
updateRule
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/update`
,
method
:
'post'
,
data
})
}
/**
* 删除规则
* @param ruleId
* @returns {*}
*/
export
function
deleteRule
(
ruleId
)
{
return
request
({
url
:
`
${
prefix
}
/delete`
,
method
:
'get'
,
params
:{
ruleId
}
})
}
/**
* 规则测试
* @param data
* @returns {*}
*/
export
function
ruleTest
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/test`
,
method
:
'post'
,
data
})
}
/**
* 快速绑定
* @param templateId
* @param ruleId
* @returns {AxiosPromise}
*/
export
function
quickBind
(
templateId
,
ruleId
)
{
return
request
({
url
:
`
${
prefix
}
/bind/quick`
,
method
:
'get'
,
params
:{
templateId
,
ruleId
}
})
}
/**
* 查询绑定的规则
* @param fieldId
* @returns {AxiosPromise}
*/
export
function
queryBindRule
(
fieldId
)
{
return
request
({
url
:
`
${
prefix
}
/bind`
,
method
:
'get'
,
params
:{
fieldId
}
})
}
/**
* 配置字段规则绑定
* @param data
* @returns {AxiosPromise}
*/
export
function
bindRule
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/bind`
,
method
:
'post'
,
data
})
}
src/api/emport/DataTemplate.js
View file @
fd326b87
import
request
from
'@/utils/request'
const
prefix
=
'/data/template'
/**
* 模板查询
* @param params
* @returns {*}
*/
export
function
queryTemplate
(
params
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'get'
,
params
})
}
/**
* 新增模板
* @param data
* @returns {*}
*/
export
function
addTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'post'
,
data
})
}
/**
* 修改模板
* @param data
* @returns {*}
*/
export
function
updateTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/update`
,
method
:
'post'
,
data
})
}
/**
* 删除模板
* @param templateId
* @returns {*}
*/
export
function
deleteTemplate
(
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/delete`
,
method
:
'get'
,
params
:{
templateId
}
})
}
/**
* 查询模板的所有字段数据
* @param templateId
* @returns {*}
*/
export
function
getAllTemplateField
(
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/allField`
,
method
:
'get'
,
params
:{
templateId
}
})
}
/**
* 查询模板的所有规则数据
* @param templateId
* @returns {*}
*/
export
function
getAllTemplateRule
(
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/allRule`
,
method
:
'get'
,
params
:{
templateId
}
})
}
/**
* 新增规则
* @param data
* @returns {*}
*/
export
function
addRuleByTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule`
,
method
:
'post'
,
data
})
}
/**
* 修改规则
* @param data
* @returns {*}
*/
export
function
updateRuleByTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule/update`
,
method
:
'post'
,
data
})
}
/**
* 删除规则
* @param ruleId
* @param templateId
* @returns {*}
*/
export
function
deleteRuleByTemplate
(
ruleId
,
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/rule/delete`
,
method
:
'get'
,
params
:{
ruleId
,
templateId
}
})
}
src/api/emport/DictData.js
View file @
fd326b87
import
request
from
"@/utils/request"
;
const
prefix
=
'/data/dict'
/**
* 字典查询
* @param type
* @returns {*}
*/
export
function
queryDict
(
type
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'get'
,
params
:{
type
}
})
}
/**
* 新增字典
* @param data
* @returns {*}
*/
export
function
addDict
(
data
)
{
return
request
({
url
:
`
${
prefix
}
`
,
method
:
'post'
,
data
})
}
/**
* 修改字典
* @param data
* @returns {*}
*/
export
function
updateDict
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/update`
,
method
:
'post'
,
data
})
}
/**
* 删除字典
* @param dictId
* @returns {*}
*/
export
function
deleteDict
(
dictId
)
{
return
request
({
url
:
`
${
prefix
}
/delete`
,
method
:
'get'
,
params
:{
dictId
}
})
}
src/api/emport/Emport.js
deleted
100644 → 0
View file @
8ef73186
import
request
from
'@/utils/request'
const
prefix
=
'/dataImport'
/**
* 模板查询
* @param params
* @returns {*}
*/
export
function
queryTemplate
(
params
)
{
return
request
({
url
:
`
${
prefix
}
/template`
,
method
:
'get'
,
params
})
}
/**
* 新增模板
* @param data
* @returns {*}
*/
export
function
addTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/template`
,
method
:
'post'
,
data
})
}
/**
* 修改模板
* @param data
* @returns {*}
*/
export
function
updateTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/template/update`
,
method
:
'post'
,
data
})
}
/**
* 删除模板
* @param templateId
* @returns {*}
*/
export
function
deleteTemplate
(
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/template/delete`
,
method
:
'get'
,
params
:{
templateId
}
})
}
/**
* 字典查询
* @param type
* @returns {*}
*/
export
function
queryDict
(
type
)
{
return
request
({
url
:
`
${
prefix
}
/dict`
,
method
:
'get'
,
params
:{
type
}
})
}
/**
* 新增字典
* @param data
* @returns {*}
*/
export
function
addDict
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/dict`
,
method
:
'post'
,
data
})
}
/**
* 修改字典
* @param data
* @returns {*}
*/
export
function
updateDict
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/dict/update`
,
method
:
'post'
,
data
})
}
/**
* 删除字典
* @param dictId
* @returns {*}
*/
export
function
deleteDict
(
dictId
)
{
return
request
({
url
:
`
${
prefix
}
/dict/delete`
,
method
:
'get'
,
params
:{
dictId
}
})
}
/**
* 查询数据源字典
* @returns {AxiosPromise<any>}
*/
export
function
queryDatasource
()
{
return
request
({
url
:
`
${
prefix
}
/datasource`
,
method
:
'get'
})
}
/**
* 查询表信息
* @param dataSourceId
* @returns {AxiosPromise<any>}
*/
export
function
queryTable
(
dataSourceId
)
{
return
request
({
url
:
`
${
prefix
}
/datasource/table`
,
method
:
'get'
,
params
:{
dataSourceId
}
})
}
/**
* 查询数据库字段字典
* @param dataSourceId
* @param tableName
* @returns {AxiosPromise}
*/
export
function
queryDbField
(
dataSourceId
,
tableName
)
{
return
request
({
url
:
`
${
prefix
}
/datasource/field`
,
method
:
'get'
,
params
:{
dataSourceId
,
tableName
}
})
}
/**
* 字段查询
* @param params
* @returns {*}
*/
export
function
queryField
(
params
)
{
return
request
({
url
:
`
${
prefix
}
/field`
,
method
:
'get'
,
params
})
}
/**
* 新增字段
* @param data
* @returns {*}
*/
export
function
addField
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/field`
,
method
:
'post'
,
data
})
}
/**
* 修改字段
* @param data
* @returns {*}
*/
export
function
updateField
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/field/update`
,
method
:
'post'
,
data
})
}
/**
* 删除字段
* @param fieldId
* @returns {*}
*/
export
function
deleteField
(
fieldId
)
{
return
request
({
url
:
`
${
prefix
}
/field/delete`
,
method
:
'get'
,
params
:{
fieldId
}
})
}
/**
* 规则查询
* @param params
* @returns {*}
*/
export
function
queryRule
(
params
)
{
return
request
({
url
:
`
${
prefix
}
/rule`
,
method
:
'get'
,
params
})
}
/**
* 规则字典
* @returns {*}
*/
export
function
queryRuleDict
()
{
return
request
({
url
:
`
${
prefix
}
/rule/dict`
,
method
:
'get'
})
}
/**
* 新增规则
* @param data
* @returns {*}
*/
export
function
addRule
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule`
,
method
:
'post'
,
data
})
}
/**
* 修改规则
* @param data
* @returns {*}
*/
export
function
updateRule
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule/update`
,
method
:
'post'
,
data
})
}
/**
* 删除规则
* @param ruleId
* @returns {*}
*/
export
function
deleteRule
(
ruleId
)
{
return
request
({
url
:
`
${
prefix
}
/rule/delete`
,
method
:
'get'
,
params
:{
ruleId
}
})
}
/**
* 规则测试
* @param data
* @returns {*}
*/
export
function
ruleTest
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule/test`
,
method
:
'post'
,
data
})
}
/**
* 快速绑定
* @param templateId
* @param ruleId
* @returns {AxiosPromise}
*/
export
function
quickBind
(
templateId
,
ruleId
)
{
return
request
({
url
:
`
${
prefix
}
/bind/quick`
,
method
:
'get'
,
params
:{
templateId
,
ruleId
}
})
}
/**
* 查询绑定的规则
* @param fieldId
* @returns {AxiosPromise}
*/
export
function
queryBindRule
(
fieldId
)
{
return
request
({
url
:
`
${
prefix
}
/bind`
,
method
:
'get'
,
params
:{
fieldId
}
})
}
/**
* 配置字段规则绑定
* @param data
* @returns {AxiosPromise}
*/
export
function
bindRule
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/bind`
,
method
:
'post'
,
data
})
}
/**
* 上传excel
* @param data
* @returns {*}
*/
export
function
uploadExcel
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/upload`
,
method
:
'post'
,
data
,
headers
:
{
'Content-Type'
:
'multipart/form-data'
}
})
}
/**
* 下载模板
* @param excelId
* @returns {*}
*/
export
function
downloadTemplate
(
excelId
)
{
return
request
({
url
:
`
${
prefix
}
/template/download`
,
method
:
'get'
,
params
:{
excelId
},
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded"
},
responseType
:
"blob"
,
})
}
/**
* 下载模板
* @param excelId
* @returns {*}
*/
export
function
getTemplateFileName
(
excelId
)
{
return
request
({
url
:
`
${
prefix
}
/template/download/filename`
,
method
:
'get'
,
params
:{
excelId
}
})
}
export
async
function
blobValidate
(
data
)
{
try
{
const
text
=
await
data
.
text
();
JSON
.
parse
(
text
);
return
false
;
}
catch
(
error
)
{
return
true
;
}
}
/**
* 根据基础模板重置字段
* @param excelId
* @returns {*}
*/
export
function
resetField
(
excelId
){
return
request
({
url
:
`
${
prefix
}
/field/reset`
,
method
:
'get'
,
params
:{
excelId
}
})
}
/**
* 创建物理表
* @param tableName
* @param templateId
* @returns {*}
*/
export
function
createTable
(
tableName
,
templateId
){
return
request
({
url
:
`
${
prefix
}
/table/create`
,
method
:
'get'
,
params
:{
tableName
,
templateId
}
})
}
/**
* 数据分析并导出
* @param templateId
* @returns {*}
*/
export
function
analyzeExport
(
templateId
){
return
request
({
url
:
`
${
prefix
}
/analyze/export`
,
method
:
'get'
,
params
:{
templateId
},
responseType
:
"blob"
,
})
}
/**
* 清空数据
* @param data
* @returns {*}
*/
export
function
clearTemp
(
data
){
return
request
({
url
:
`
${
prefix
}
/clearTemp`
,
method
:
'post'
,
data
})
}
/**
* 一键导入正式库
* @param data
* @returns {*}
*/
export
function
syncDb
(
data
){
return
request
({
url
:
`
${
prefix
}
/syncDb`
,
method
:
'post'
,
data
})
}
/**
* 查询模板的所有字段数据
* @param templateId
* @returns {*}
*/
export
function
getAllTemplateField
(
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/template/allField`
,
method
:
'get'
,
params
:{
templateId
}
})
}
/**
* 查询模板的所有规则数据
* @param templateId
* @returns {*}
*/
export
function
getAllTemplateRule
(
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/template/allRule`
,
method
:
'get'
,
params
:{
templateId
}
})
}
/**
* 新增规则
* @param data
* @returns {*}
*/
export
function
addRuleByTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule/template`
,
method
:
'post'
,
data
})
}
/**
* 修改规则
* @param data
* @returns {*}
*/
export
function
updateRuleByTemplate
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/rule/template/update`
,
method
:
'post'
,
data
})
}
/**
* 删除规则
* @param ruleId
* @param templateId
* @returns {*}
*/
export
function
deleteRuleByTemplate
(
ruleId
,
templateId
)
{
return
request
({
url
:
`
${
prefix
}
/rule/template/delete`
,
method
:
'get'
,
params
:{
ruleId
,
templateId
}
})
}
src/api/emport/ExcelData.js
View file @
fd326b87
import
request
from
"@/utils/request"
;
const
prefix
=
'/data/excel'
/**
* 上传excel
* @param data
* @returns {*}
*/
export
function
uploadExcel
(
data
)
{
return
request
({
url
:
`
${
prefix
}
/upload`
,
method
:
'post'
,
data
,
headers
:
{
'Content-Type'
:
'multipart/form-data'
}
})
}
/**
* 下载模板
* @param excelId
* @returns {*}
*/
export
function
downloadTemplate
(
excelId
)
{
return
request
({
url
:
`
${
prefix
}
/download/template`
,
method
:
'get'
,
params
:{
excelId
},
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded"
},
responseType
:
"blob"
,
})
}
/**
* 下载模板
* @param excelId
* @returns {*}
*/
export
function
getTemplateFileName
(
excelId
)
{
return
request
({
url
:
`
${
prefix
}
/download/template/filename`
,
method
:
'get'
,
params
:{
excelId
}
})
}
export
async
function
blobValidate
(
data
)
{
try
{
const
text
=
await
data
.
text
();
JSON
.
parse
(
text
);
return
false
;
}
catch
(
error
)
{
return
true
;
}
}
src/layout/EmptyLayout/Index.vue
View file @
fd326b87
...
...
@@ -7,6 +7,7 @@
</div>
<el-menu
:default-active=
"key"
class=
"empty-menu"
mode=
"horizontal"
@
select=
"handleSelect"
>
<el-menu-item
index=
"/emport"
>
数据导入
</el-menu-item>
<el-menu-item
index=
"/field"
>
元字段管理
</el-menu-item>
<el-menu-item
index=
"/rule"
>
规则管理
</el-menu-item>
<el-menu-item
index=
"/datasource"
>
数据源管理
</el-menu-item>
</el-menu>
...
...
src/router/index.js
View file @
fd326b87
...
...
@@ -53,7 +53,13 @@ export const constantRoutes = [
component
:
()
=>
import
(
'@/views/emport/datasource/index'
),
name
:
'DatsSource'
,
meta
:
{
title
:
'数据源管理'
,
icon
:
''
}
}
},
{
path
:
'field'
,
component
:
()
=>
import
(
'@/views/emport/field/index'
),
name
:
'Field'
,
meta
:
{
title
:
'字段管理'
,
icon
:
''
}
},
]
},
{
...
...
src/views/emport/emport/index.vue
View file @
fd326b87
This diff is collapsed.
Click to expand it.
src/views/emport/field/index.vue
0 → 100644
View file @
fd326b87
<
template
>
<div
class=
"app-container"
>
<div
class=
"header-operator"
>
<el-form
label-width=
"80px"
inline
>
<el-form-item
label=
"字段名"
>
<el-input
v-model=
"queryParam.fieldName"
class=
"mr input"
clearable
placeholder=
"输入名称搜索"
size=
"small"
/>
</el-form-item>
<el-form-item
label=
"字段类型"
>
<el-input
v-model=
"queryParam.fieldType"
class=
"mr input"
clearable
placeholder=
"输入名称搜索"
size=
"small"
/>
</el-form-item>
<el-form-item
label=
"指标名称"
>
<el-input
v-model=
"queryParam.fieldComment"
class=
"mr input"
clearable
placeholder=
"输入名称搜索"
size=
"small"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
class=
"mr"
icon=
"el-icon-search"
size=
"mini"
:loading=
"queryLoading"
@
click=
"queryRuleList"
>
查询
</el-button>
<el-button
type=
"success"
class=
"mr"
size=
"mini"
@
click=
"openAddruleDialog"
>
新增
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"queryLoading"
:data=
"fieldList"
stripe
border
>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
label=
"字段名"
prop=
"fieldName"
/>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
label=
"字段类型"
prop=
"fieldType"
/>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
label=
"指标名称"
prop=
"fieldComment"
/>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
label=
"备注"
prop=
"remarks"
/>
<el-table-column
label=
"操作"
align=
"center"
width=
"150"
show-overflow-tooltip
>
<template
slot-scope=
"scope"
>
<el-button
circle
icon=
"el-icon-edit"
plain
size=
"small"
type=
"primary"
@
click
.
stop=
"editRuleDialog(scope.row)"
></el-button>
<el-button
circle
icon=
"el-icon-delete"
plain
size=
"small"
type=
"danger"
@
click
.
stop=
"deleteRule(scope.row)"
></el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"queryParam.total > 0"
:total=
"queryParam.total"
:page
.
sync=
"queryParam.pageNum"
:limit
.
sync=
"queryParam.pageSize"
@
pagination=
"queryRuleList"
/>
<!--字段增改-->
<el-dialog
:title=
"dialogData.title"
@
open=
"openDialog"
:visible
.
sync=
"dialogData.show"
width=
"400px"
:close-on-click-modal=
"false"
append-to-body
>
<el-form
ref=
"fieldForm"
:model=
"dialogData.data"
label-width=
"80px"
>
<el-form-item
required
prop=
"name"
label=
"字段名"
>
<el-input
v-model=
"dialogData.data.name"
size=
"small"
/>
</el-form-item>
<el-form-item
required
label=
"字段类型"
prop=
"type"
>
<el-select
@
change=
"typeChange"
size=
"small"
v-model=
"dialogData.data.type"
style=
"width: 160px"
>
<el-option
v-for=
"item in typeDict"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-form-item>
<el-form-item
required
label=
"指标名称"
prop=
"mode"
>
<el-select
@
change=
"modeChange"
size=
"small"
v-model=
"dialogData.data.mode"
style=
"width: 160px"
>
<el-option
v-for=
"item in modeDict"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-form-item>
<el-form-item
prop=
"remarks"
label=
"备注"
>
<el-input
v-model=
"dialogData.data.remarks"
placeholder=
"备注"
type=
"textarea"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"testRule(dialogData.data)"
>
规则测试
</el-button>
<el-button
type=
"primary"
@
click=
"submitRule"
>
确 定
</el-button>
<el-button
@
click=
"dialogData.show = false"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
*
as
DataField
from
'@/api/emport/DataField'
import
*
as
DataImport
from
'@/api/emport/DataImport'
import
*
as
DataRule
from
'@/api/emport/DataRule'
import
*
as
DataTemplate
from
'@/api/emport/DataTemplate'
import
*
as
DictData
from
'@/api/emport/DictData'
import
*
as
ExcelData
from
'@/api/emport/ExcelData'
export
default
{
name
:
"Field"
,
data
(){
return
{
queryParam
:{
pageNum
:
1
,
pageSize
:
20
,
fieldName
:
''
,
fieldType
:
''
,
fieldComment
:
''
},
queryLoading
:
false
,
fieldList
:[],
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-container
{
box-shadow
:
none
;
}
.header-operator
{
display
:
flex
;
flex-wrap
:
wrap
;
align-items
:
center
;
.mr
{
margin-right
:
8px
;
margin-left
:
0
;
margin-bottom
:
8px
;
}
.input
{
width
:
250px
;
}
}
</
style
>
src/views/emport/rule/ArraySelect.vue
View file @
fd326b87
...
...
@@ -107,7 +107,11 @@ export default {
let
split
=
this
.
value
.
split
(
'='
)
let
arr
=
split
[
0
].
split
(
','
)
arr
[
index
]
=
value
this
.
$emit
(
'changeValue'
,
arr
.
join
(
','
)
+
'='
+
split
[
1
]
)
if
(
split
.
length
===
1
){
this
.
$emit
(
'changeValue'
,
arr
.
join
(
','
)
+
'='
)
}
else
{
this
.
$emit
(
'changeValue'
,
arr
.
join
(
','
)
+
'='
+
split
[
1
]
)
}
this
.
$forceUpdate
()
},
doSelectSecond
(
value
,
index
)
{
...
...
src/views/emport/rule/index.vue
View file @
fd326b87
...
...
@@ -107,7 +107,12 @@
</template>
<
script
>
import
*
as
Emport
from
'@/api/emport/Emport'
import
*
as
DataField
from
'@/api/emport/DataField'
import
*
as
DataImport
from
'@/api/emport/DataImport'
import
*
as
DataRule
from
'@/api/emport/DataRule'
import
*
as
DataTemplate
from
'@/api/emport/DataTemplate'
import
*
as
DictData
from
'@/api/emport/DictData'
import
*
as
ExcelData
from
'@/api/emport/ExcelData'
import
ArrayInput
from
'@/views/emport/rule/ArrayInput.vue'
import
SectionInput
from
'@/views/emport/rule/SectionInput.vue'
import
SectionSelect
from
'@/views/emport/rule/SectionSelect.vue'
...
...
@@ -143,7 +148,7 @@ export default {
methods
:
{
// 初始化规则字典
initRuleDict
()
{
Emport
.
queryRuleDict
().
then
(
res
=>
{
DataRule
.
queryRuleDict
().
then
(
res
=>
{
this
.
ruleDict
=
res
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
id
,
...
...
@@ -159,7 +164,7 @@ export default {
// 查询规则列表
queryRuleList
()
{
this
.
queryLoading
=
true
Emport
.
queryRule
(
this
.
queryParam
).
then
(
res
=>
{
DataRule
.
queryRule
(
this
.
queryParam
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
queryParam
.
total
=
res
.
total
this
.
ruleList
=
res
.
rows
...
...
@@ -198,12 +203,12 @@ export default {
this
.
$refs
.
ruleForm
.
validate
(
validate
=>
{
if
(
validate
)
{
if
(
this
.
dialogData
.
title
===
'添加规则'
)
{
Emport
.
addRule
(
this
.
dialogData
.
data
).
then
(
res
=>
{
DataRule
.
addRule
(
this
.
dialogData
.
data
).
then
(
res
=>
{
this
.
dialogData
.
show
=
false
this
.
queryRuleList
()
})
}
else
{
Emport
.
updateRule
(
this
.
dialogData
.
data
).
then
(
res
=>
{
DataRule
.
updateRule
(
this
.
dialogData
.
data
).
then
(
res
=>
{
this
.
dialogData
.
show
=
false
this
.
queryRuleList
()
})
...
...
@@ -220,7 +225,7 @@ export default {
cancelButtonText
:
'取消'
,
beforeClose
:
(
action
,
instance
,
done
)
=>
{
if
(
action
===
'confirm'
)
{
Emport
.
deleteRule
(
row
.
id
).
then
(
res
=>
{
DataRule
.
deleteRule
(
row
.
id
).
then
(
res
=>
{
done
()
this
.
queryRuleList
()
})
...
...
@@ -241,7 +246,7 @@ export default {
beforeClose
:
(
action
,
instance
,
done
)
=>
{
if
(
action
===
'confirm'
)
{
instance
.
confirmButtonLoading
=
true
Emport
.
ruleTest
({
DataRule
.
ruleTest
({
...
data
,
value
:
instance
.
inputValue
}).
then
(
res
=>
{
...
...
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