Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart_gov_platform
Commits
78105fee
Commit
78105fee
authored
Mar 29, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
067bc414
a2645902
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
161 additions
and
12 deletions
+161
-12
base-manager-ui/admin/src/pages/basicset/appmarket/components/DataUpdate.vue
...in/src/pages/basicset/appmarket/components/DataUpdate.vue
+21
-3
base-manager-ui/admin/src/pages/basicset/appmarket/components/FieldConfig.vue
...n/src/pages/basicset/appmarket/components/FieldConfig.vue
+6
-6
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddData.vue
...r-ui/admin/src/pages/basicset/appmarket/modal/AddData.vue
+59
-1
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddField.vue
...-ui/admin/src/pages/basicset/appmarket/modal/AddField.vue
+75
-2
No files found.
base-manager-ui/admin/src/pages/basicset/appmarket/components/DataUpdate.vue
View file @
78105fee
...
...
@@ -107,8 +107,11 @@
<
script
>
import
AddData
from
"
../modal/AddData.vue
"
;
import
{
mapGetters
}
from
"
vuex
"
;
import
{
getDatasetList
,
deleteDataset
}
from
"
@/services/market
"
;
import
{
getDatasetList
,
deleteDataset
,
getTempleteList
,
}
from
"
@/services/market
"
;
import
PrevieModal
from
"
@/components/PrevieModal.vue
"
;
export
default
{
// props: {
...
...
@@ -142,10 +145,10 @@ export default {
fieldCode
:
""
,
previewVisible
:
false
,
previewData
:
{},
// 预览信息
appTemplate
:
[],
// 字段模板列表
};
},
computed
:
{
...
mapGetters
(
"
site
"
,
[
"
appTemplate
"
]),
// 初始化表头
columns
()
{
let
index
=
{
...
...
@@ -186,9 +189,24 @@ export default {
},
},
created
()
{
this
.
getTempleteList
();
this
.
getDatasetList
();
},
methods
:
{
// 获取数据模板
async
getTempleteList
()
{
let
res
=
await
getTempleteList
({
page
:
1
,
size
:
-
1
,
appId
:
this
.
appId
,
});
if
(
res
.
data
.
code
===
1
)
{
let
{
data
}
=
res
.
data
.
data
;
this
.
appTemplate
=
data
.
sort
((
a
,
b
)
=>
{
return
a
.
fieldOrderNo
-
b
.
fieldOrderNo
;
});
}
},
// 获取数据列表
async
getDatasetList
()
{
this
.
loading
=
true
;
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/components/FieldConfig.vue
View file @
78105fee
...
...
@@ -23,7 +23,10 @@
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
defaultPageSize: 1000,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
...
...
@@ -59,7 +62,6 @@
<
script
>
import
AddField
from
"
../modal/AddField.vue
"
;
import
{
getTempleteList
,
deleteTemplete
}
from
"
@/services/market
"
;
import
{
mapMutations
}
from
"
vuex
"
;
export
default
{
// props: {
...
...
@@ -122,9 +124,9 @@ export default {
columns
,
loading
:
false
,
current
:
1
,
size
:
-
1
,
size
:
10
,
total
:
0
,
//
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions
:
[
"
10
"
,
"
30
"
,
"
50
"
,
"
100
"
],
searchVal
:
""
,
tableData
:
[],
fieldVisible
:
false
,
...
...
@@ -135,7 +137,6 @@ export default {
this
.
getTempleteList
();
},
methods
:
{
...
mapMutations
(
"
site
"
,
[
"
SET_appTemplate
"
]),
// 获取数据模板
async
getTempleteList
()
{
this
.
loading
=
true
;
...
...
@@ -155,7 +156,6 @@ export default {
this
.
tableData
=
data
.
sort
((
a
,
b
)
=>
{
return
a
.
fieldOrderNo
-
b
.
fieldOrderNo
;
});
this
.
SET_appTemplate
(
data
);
this
.
total
=
total
;
}
},
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddData.vue
View file @
78105fee
...
...
@@ -29,17 +29,61 @@
trigger: v.fieldType == 'text' ? 'blur' : 'change',
}"
>
<!-- 单行输入框 -->
<a-input
v-if=
"v.fieldType == 'input'"
v-model=
"v.fieldValue"
:placeholder=
"`请输入$
{v.fieldName}`"
/>
<!-- 多选框 -->
<a-checkbox-group
v-else-if=
"v.fieldType == 'checkbox'"
v-model=
"v.checkbox"
@
change=
"(vals) => changeCheckBox(vals, v)"
>
<a-checkbox
v-for=
"(item, key) in JSON.parse(v.fieldTypeValue)"
:key=
"key"
:value=
"key"
>
{{
item
}}
</a-checkbox>
</a-checkbox-group>
<!--单选框 -->
<a-radio-group
v-else-if=
"v.fieldType == 'radio'"
v-model=
"v.fieldValue"
>
<a-radio
v-for=
"(item, key) in JSON.parse(v.fieldTypeValue)"
:key=
"key"
:value=
"key"
>
{{
item
}}
</a-radio>
</a-radio-group>
<!-- 下拉选择框 -->
<a-select
v-else-if=
"v.fieldType == 'select'"
v-model=
"v.fieldValue"
placeholder=
"请选择"
>
<a-select-option
v-for=
"(item, key) in JSON.parse(v.fieldTypeValue)"
:key=
"key"
:value=
"key"
>
{{
item
}}
</a-select-option>
</a-select>
<!-- 日期选择器 -->
<a-date-picker
v-else-if=
"v.fieldType == 'date'"
v-model=
"v.fieldValue"
:placeholder=
"`请选择$
{v.fieldName}`"
valueFormat="YYYY-MM-DD"
/>
<!-- 多行文本输入框 -->
<a-textarea
v-else-if=
"v.fieldType == 'textarea'"
v-model=
"v.fieldValue"
...
...
@@ -50,9 +94,11 @@
:placeholder="`请输入${v.fieldName}`"
allow-clear
/>
<!-- 富文本 -->
<div
v-else-if=
"v.fieldType == 'text'"
class=
"content-box"
>
<YQuillEditor
v-model=
"v.fieldValue"
height=
"auto"
></YQuillEditor>
</div>
<!-- 文件上传 -->
<a-upload
v-else-if=
"v.fieldType == 'upload'"
:action=
"api + 'base/file/commonupload'"
...
...
@@ -170,6 +216,9 @@ export default {
if
(
v
.
fieldType
==
"
upload
"
)
{
v
.
fileList
=
[];
}
if
(
v
.
fieldType
==
"
checkbox
"
)
{
v
.
checkbox
=
[];
}
return
v
;
});
this
.
form
.
appId
=
this
.
$route
.
query
.
id
;
...
...
@@ -190,6 +239,12 @@ export default {
}
else
{
v
.
fileList
=
[];
}
}
else
if
(
v
.
fieldType
==
"
checkbox
"
)
{
if
(
v
.
fieldValue
)
{
v
.
checkbox
=
v
.
fieldValue
.
split
(
"
,
"
);
}
else
{
v
.
checkbox
=
[];
}
}
});
this
.
form
=
{
...
data
};
...
...
@@ -206,11 +261,14 @@ export default {
}
return
file
;
});
console
.
log
(
fileList
);
row
.
fileList
=
fileList
;
row
.
fieldValue
=
fileList
.
map
((
v
)
=>
v
.
url
).
join
(
"
,
"
);
this
.
$forceUpdate
();
},
// 改变多选框状态
changeCheckBox
(
vals
,
row
)
{
row
.
fieldValue
=
vals
.
join
(
"
,
"
);
},
},
};
</
script
>
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddField.vue
View file @
78105fee
<
template
>
<div>
<a-modal
v-model=
"Visible"
title=
"新增数据字段"
>
<a-modal
:width=
"600"
v-model=
"Visible"
title=
"新增数据字段"
>
<a-form-model
:model=
"form"
ref=
"form"
...
...
@@ -15,7 +15,11 @@
<a-input
v-model=
"form.fieldCode"
placeholder=
"请输入字段编码"
/>
</a-form-model-item>
<a-form-model-item
label=
"字段类型"
prop=
"fieldType"
>
<a-select
v-model=
"form.fieldType"
placeholder=
"请选择字段类型"
>
<a-select
v-model=
"form.fieldType"
placeholder=
"请选择字段类型"
@
change=
"changeFieldType"
>
<a-select-option
v-for=
"v in fieldTypeItem"
:key=
"v.value"
...
...
@@ -25,6 +29,18 @@
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
v-if=
"isNeedConfig"
label=
"数据配置"
prop=
"fieldTypeValue"
>
<a-textarea
:autoSize=
"
{ minRows: 3, maxRows: 3 }"
v-model="form.fieldTypeValue"
placeholder='请输入JSON格式数据配置,如{"0":"否","1":"是"}'
allow-clear
/>
</a-form-model-item>
<a-form-model-item
label=
"数据类型"
prop=
"dataType"
>
<a-radio-group
v-model=
"form.dataType"
>
<a-radio
value=
"number"
>
数字
</a-radio>
...
...
@@ -82,6 +98,18 @@ const fieldTypeItem = [
value
:
"
date
"
,
label
:
"
日期选择框
"
,
},
{
value
:
"
radio
"
,
label
:
"
单选框
"
,
},
{
value
:
"
checkbox
"
,
label
:
"
多选框
"
,
},
{
value
:
"
select
"
,
label
:
"
下拉选择框
"
,
},
{
value
:
"
upload
"
,
label
:
"
文件上传
"
,
...
...
@@ -100,6 +128,29 @@ export default {
},
},
data
()
{
// 校验JSON
const
checkJSON
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
callback
(
new
Error
(
"
请输入数据配置
"
));
}
else
{
try
{
let
Obj
=
JSON
.
parse
(
value
);
let
isjson
=
typeof
Obj
==
"
object
"
&&
Object
.
prototype
.
toString
.
call
(
Obj
).
toLowerCase
()
==
"
[object object]
"
&&
Object
.
keys
(
Obj
).
length
;
!
value
.
length
;
if
(
isjson
)
{
callback
();
}
else
{
callback
(
new
Error
(
"
输入的JSON对象格式
"
));
}
}
catch
(
err
)
{
callback
(
new
Error
(
"
输入的JSON数据格式有误
"
));
}
}
};
return
{
fieldTypeItem
,
form
:
{
...
...
@@ -112,6 +163,8 @@ export default {
fieldNull
:
""
,
//是否允许为空,(0.否,1.是)
isList
:
""
,
//字段是否列表显示(0.否,1.是)
fieldOrderNo
:
99
,
// 排序号
fieldTypeValue
:
""
,
// 字段类型值
defaultValue
:
""
,
// 字段默认值
remark
:
""
,
//
},
rules
:
{
...
...
@@ -130,6 +183,9 @@ export default {
isList
:
[
{
required
:
true
,
message
:
"
请选择是否列表显示
"
,
trigger
:
"
change
"
},
],
fieldTypeValue
:
[
{
required
:
true
,
validator
:
checkJSON
,
trigger
:
"
blur
"
},
],
},
};
},
...
...
@@ -142,6 +198,13 @@ export default {
this
.
$emit
(
"
update:fieldVisible
"
,
val
);
},
},
isNeedConfig
()
{
return
(
this
.
form
.
fieldType
==
"
radio
"
||
this
.
form
.
fieldType
==
"
checkbox
"
||
this
.
form
.
fieldType
==
"
select
"
);
},
},
methods
:
{
handleOk
()
{
...
...
@@ -171,9 +234,19 @@ export default {
onEdit
(
data
)
{
this
.
form
=
{
...
data
};
},
// 切换字段类型
changeFieldType
(
val
)
{
if
(
!
(
val
==
"
radio
"
||
val
==
"
checkbox
"
||
val
==
"
select
"
))
{
this
.
form
.
fieldTypeValue
=
""
;
}
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/deep/.ant-modal-body {
max-height: 600px;
overflow-y: auto;
}
</
style
>
\ No newline at end of file
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