@longhongguo/form-create-ant-design-vue 3.3.81 → 3.3.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/crawler.js +60 -0
- package/api/example.js +57 -0
- package/api/index.js +6 -0
- package/device/index.js +7 -0
- package/device/request.js +72 -0
- package/dist/form-create.css +48 -75
- package/dist/form-create.esm.css +48 -75
- package/dist/form-create.esm.js +2 -2
- package/dist/form-create.esm.js.map +1 -1
- package/dist/form-create.js +2 -2
- package/dist/form-create.js.map +1 -1
- package/package.json +14 -2
- package/src/components/businessComponent/CompetitionStoreCard.vue +403 -0
- package/src/parsers/datePicker.js +5 -0
- package/src/parsers/select.js +5 -0
- package/src/parsers/timePicker.js +6 -0
- package/src/parsers/timeRangePicker.js +3 -0
- package/src/style/index.css +49 -75
package/api/crawler.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 爬虫/竞对相关接口(基于 frame/fetch.js)
|
|
3
|
+
* 每个方法返回供 api.fetch(config) 使用的 config,调用方:api.fetch(crawlerApi.xxx(params))
|
|
4
|
+
*/
|
|
5
|
+
import { buildAction } from '../device/request'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 根据智鲜本地门店 ID 查询竞对门店列表
|
|
9
|
+
* 使用:api.fetch(crawlerApi.getCompetitionStore({ zxLocalStoreId }))
|
|
10
|
+
*/
|
|
11
|
+
export function getCompetitionStore(params = {}) {
|
|
12
|
+
const { zxLocalStoreId, ...rest } = params
|
|
13
|
+
return {
|
|
14
|
+
action: buildAction('crawlerApi', `/competition-store/by-zx-store/${zxLocalStoreId}`),
|
|
15
|
+
method: 'get',
|
|
16
|
+
query: rest,
|
|
17
|
+
dataType: 'json'
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 根据 ID 查询竞对门店(单条,含更新时间等)
|
|
23
|
+
* 使用:api.fetch(crawlerApi.getCompetitionStoreById({ zxLocalStoreId }))
|
|
24
|
+
*/
|
|
25
|
+
export function getCompetitionStoreById(params = {}) {
|
|
26
|
+
const { zxLocalStoreId, ...rest } = params
|
|
27
|
+
return {
|
|
28
|
+
action: buildAction('crawlerApi', `/competition-store/${zxLocalStoreId}`),
|
|
29
|
+
method: 'get',
|
|
30
|
+
query: rest,
|
|
31
|
+
dataType: 'json'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 根据门店 ID 获取爬虫任务列表(拉取记录)
|
|
37
|
+
* 使用:api.fetch(crawlerApi.getCrawlerTaskByStore({ storeId }))
|
|
38
|
+
*/
|
|
39
|
+
export function getCrawlerTaskByStore(params = {}) {
|
|
40
|
+
const { storeId, ...rest } = params
|
|
41
|
+
return {
|
|
42
|
+
action: buildAction('crawlerApi', `/crawler-task/main/by-store/${storeId}`),
|
|
43
|
+
method: 'get',
|
|
44
|
+
query: rest,
|
|
45
|
+
dataType: 'json'
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 创建主任务(拉取竞对数据等)
|
|
51
|
+
* 使用:api.fetch(crawlerApi.createCrawlerTask(data))
|
|
52
|
+
*/
|
|
53
|
+
export function createCrawlerTask(data = {}) {
|
|
54
|
+
return {
|
|
55
|
+
action: buildAction('crawlerApi', '/crawler-task/main'),
|
|
56
|
+
method: 'post',
|
|
57
|
+
data,
|
|
58
|
+
dataType: 'json'
|
|
59
|
+
}
|
|
60
|
+
}
|
package/api/example.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 示例接口模块 - 统一接口管理(基于 frame/fetch.js)
|
|
3
|
+
* 每个方法返回供 api.fetch(config) 使用的 config,调用方:api.fetch(exampleApi.xxx(params))
|
|
4
|
+
*/
|
|
5
|
+
import { buildAction } from '../device/request'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 示例:基础域 - 健康检查
|
|
9
|
+
* 使用:api.fetch(exampleApi.healthCheck(params))
|
|
10
|
+
*/
|
|
11
|
+
export function healthCheck(params = {}) {
|
|
12
|
+
return {
|
|
13
|
+
action: buildAction('basicApi', '/health'),
|
|
14
|
+
method: 'get',
|
|
15
|
+
query: params,
|
|
16
|
+
dataType: 'json'
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 示例:商家中心 - 建店申请数量(与 zxgj store 接口路径一致)
|
|
22
|
+
* 使用:api.fetch(exampleApi.getGroupByStatusCount(params))
|
|
23
|
+
*/
|
|
24
|
+
export function getGroupByStatusCount(params = {}) {
|
|
25
|
+
return {
|
|
26
|
+
action: buildAction('merchantApi', '/store/getGroupByStatusCount'),
|
|
27
|
+
method: 'get',
|
|
28
|
+
query: params,
|
|
29
|
+
dataType: 'json'
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 示例:商家中心 - 分页查询
|
|
35
|
+
* 使用:api.fetch(exampleApi.pageBuildApply(data))
|
|
36
|
+
*/
|
|
37
|
+
export function pageBuildApply(data = {}) {
|
|
38
|
+
return {
|
|
39
|
+
action: buildAction('merchantApi', '/store/pageBuildApply'),
|
|
40
|
+
method: 'post',
|
|
41
|
+
data,
|
|
42
|
+
dataType: 'json'
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 示例:商家中心 - 申请建店
|
|
48
|
+
* 使用:api.fetch(exampleApi.applyBuild(data))
|
|
49
|
+
*/
|
|
50
|
+
export function applyBuild(data = {}) {
|
|
51
|
+
return {
|
|
52
|
+
action: buildAction('merchantApi', '/store/applyBuild'),
|
|
53
|
+
method: 'post',
|
|
54
|
+
data,
|
|
55
|
+
dataType: 'json'
|
|
56
|
+
}
|
|
57
|
+
}
|
package/api/index.js
ADDED
package/device/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* device 统一导出(基于 frame/fetch.js,不使用 axios)
|
|
3
|
+
* api 层用 buildAction(device, path) 拼 action,调用方用 api.fetch(config) 发请求
|
|
4
|
+
* GET 请求可用 params,调用 api.fetch(normalizeFetchConfig(config)) 会映射为 query
|
|
5
|
+
*/
|
|
6
|
+
export { getDevice, buildAction, normalizeFetchConfig }
|
|
7
|
+
export { default as urls } from './request'
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 统一 API 服务 - device 入口(基于 frame/fetch.js,不使用 axios)
|
|
3
|
+
* 按业务域提供 baseURL,供 api 层拼出完整 action,由 api.fetch(config) 发请求(token 等已封装)
|
|
4
|
+
*/
|
|
5
|
+
const protocol = typeof location !== 'undefined' ? location.protocol : 'https:'
|
|
6
|
+
const isDev = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'development'
|
|
7
|
+
const isSandbox =
|
|
8
|
+
typeof location !== 'undefined' && location.host && location.host.lastIndexOf('sandbox') > -1
|
|
9
|
+
|
|
10
|
+
const prefix = isSandbox || isDev ? 'sandbox-' : ''
|
|
11
|
+
|
|
12
|
+
const urls = {
|
|
13
|
+
basicApi: `${protocol}//${prefix}zxgj.zhixianai.com/api/`,
|
|
14
|
+
goodsApi: `${protocol}//${prefix}goods-api.zhixianai.com`,
|
|
15
|
+
manageApi: `${protocol}//${prefix}manage-api.zhixianai.com`,
|
|
16
|
+
billApi: `${protocol}//${prefix}finance.zhixianai.com`,
|
|
17
|
+
orderApi: `${protocol}//${prefix}order-api.zhixianai.com`,
|
|
18
|
+
payApi: `${protocol}//${prefix}pay.zhixianai.com`,
|
|
19
|
+
operationApi: `${protocol}//${prefix}operation-api.zhixianai.com/api`,
|
|
20
|
+
merchantApi: `${protocol}//${prefix}merchant-api.zhixianai.com/api`,
|
|
21
|
+
ossApi: `${protocol}//${prefix}upload.zhixianai.com`,
|
|
22
|
+
marketingApi: `${protocol}//${prefix}marketing-api.zhixianai.com/api`,
|
|
23
|
+
customApi: `${protocol}//${prefix}custom-service.zhixianai.com/api`,
|
|
24
|
+
engineApi: `${protocol}//${prefix}flow.zhixianai.com/api`,
|
|
25
|
+
messageApi: `${protocol}//${prefix}message.zhixianai.com/api`,
|
|
26
|
+
warehouseApi: `${protocol}//${prefix}data-warehouse.zhixianai.com/api`,
|
|
27
|
+
materielApi: `${protocol}//${prefix}materiel-api.zhixianai.com/api`,
|
|
28
|
+
crawlerApi: `${protocol}//${prefix}crawler.zhixianai.com/api`
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 取某域的 baseURL
|
|
33
|
+
* @param {string} device - 如 'basicApi' | 'merchantApi' | 'orderApi'
|
|
34
|
+
* @returns {string}
|
|
35
|
+
*/
|
|
36
|
+
export function getDevice(device) {
|
|
37
|
+
return urls[device] || ''
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 拼出完整请求地址,供 api.fetch(config) 的 config.action 使用
|
|
42
|
+
* @param {string} device - 如 'merchantApi'
|
|
43
|
+
* @param {string} path - 路径,如 '/store/getGroupByStatusCount'
|
|
44
|
+
* @returns {string}
|
|
45
|
+
*/
|
|
46
|
+
export function buildAction(device, path) {
|
|
47
|
+
const base = urls[device] || ''
|
|
48
|
+
if (!base) return path
|
|
49
|
+
const p = path.startsWith('/') ? path : `/${path}`
|
|
50
|
+
return base.replace(/\/$/, '') + p
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 规范化 api.fetch 的 config:GET 请求时把 params 映射到 query(frame/fetch 只认 query)
|
|
55
|
+
* 调用方可用:api.fetch(normalizeFetchConfig(config))
|
|
56
|
+
* @param {object} config - api.fetch 的 config,可含 params(GET 时)或 query
|
|
57
|
+
* @returns {object} 规范化后的 config,GET 且存在 params 时会有 query
|
|
58
|
+
*/
|
|
59
|
+
export function normalizeFetchConfig(config) {
|
|
60
|
+
if (!config || typeof config !== 'object') return config
|
|
61
|
+
const method = (config.method || 'get').toLowerCase()
|
|
62
|
+
const isGet = method === 'get'
|
|
63
|
+
if (isGet && config.params != null && typeof config.params === 'object') {
|
|
64
|
+
const next = { ...config }
|
|
65
|
+
next.query = next.query != null ? { ...next.query, ...next.params } : next.params
|
|
66
|
+
delete next.params
|
|
67
|
+
return next
|
|
68
|
+
}
|
|
69
|
+
return config
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export default urls
|
package/dist/form-create.css
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
.ant-table-cell {
|
|
2
|
+
font-size: 14px;
|
|
3
|
+
color: rgba(0, 0, 0, 0.88);
|
|
4
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
|
5
|
+
}
|
|
6
|
+
|
|
1
7
|
.form-create .form-create .ant-form-item {
|
|
2
8
|
margin-bottom: 22px;
|
|
3
9
|
}
|
|
@@ -6,10 +12,7 @@
|
|
|
6
12
|
margin-bottom: 3px;
|
|
7
13
|
}
|
|
8
14
|
|
|
9
|
-
.form-create
|
|
10
|
-
.form-create
|
|
11
|
-
.ant-form-item
|
|
12
|
-
.ant-form-item.ant-form-item-with-help {
|
|
15
|
+
.form-create .form-create .ant-form-item .ant-form-item.ant-form-item-with-help {
|
|
13
16
|
margin-bottom: -22px;
|
|
14
17
|
}
|
|
15
18
|
|
|
@@ -19,10 +22,7 @@
|
|
|
19
22
|
|
|
20
23
|
.form-create.is-preview .fc-clock,
|
|
21
24
|
.form-create .fc-none,
|
|
22
|
-
.form-create.is-preview
|
|
23
|
-
.ant-form-item
|
|
24
|
-
.ant-form-item-label
|
|
25
|
-
> label.ant-form-item-required::before {
|
|
25
|
+
.form-create.is-preview .ant-form-item .ant-form-item-label>label.ant-form-item-required::before {
|
|
26
26
|
display: none !important;
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -40,10 +40,7 @@
|
|
|
40
40
|
margin-bottom: 4px !important;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
.form-create.is-preview
|
|
44
|
-
.form-create
|
|
45
|
-
.ant-form-item
|
|
46
|
-
.ant-form-item.ant-form-item-with-help {
|
|
43
|
+
.form-create.is-preview .form-create .ant-form-item .ant-form-item.ant-form-item-with-help {
|
|
47
44
|
margin-bottom: -8px !important;
|
|
48
45
|
}
|
|
49
46
|
|
|
@@ -65,8 +62,8 @@
|
|
|
65
62
|
.form-create.is-preview .ant-input-group,
|
|
66
63
|
/* 只读模式的样式(通过 readOnly 属性或 disabled 属性识别) */
|
|
67
64
|
.ant-input[readonly],
|
|
68
|
-
.ant-input[readonly]
|
|
69
|
-
.ant-input[readonly]
|
|
65
|
+
.ant-input[readonly]~.ant-input-wrapper,
|
|
66
|
+
.ant-input[readonly]~.ant-input-affix-wrapper,
|
|
70
67
|
.ant-textarea[readonly],
|
|
71
68
|
.ant-picker-disabled,
|
|
72
69
|
.ant-cascader-disabled .ant-cascader-picker,
|
|
@@ -141,16 +138,12 @@ textarea[readonly].ant-input {
|
|
|
141
138
|
.form-create.is-preview .ant-form-item-explain,
|
|
142
139
|
.form-create.is-preview .ant-form-item-extra,
|
|
143
140
|
.form-create.is-preview .ant-form-item-feedback-icon,
|
|
144
|
-
.form-create.is-preview
|
|
145
|
-
.ant-form-item-has-feedback
|
|
146
|
-
.ant-form-item-children-icon {
|
|
141
|
+
.form-create.is-preview .ant-form-item-has-feedback .ant-form-item-children-icon {
|
|
147
142
|
display: none !important;
|
|
148
143
|
}
|
|
149
144
|
|
|
150
145
|
/* 隐藏必填标记 */
|
|
151
|
-
.form-create.is-preview
|
|
152
|
-
.ant-form-item-label
|
|
153
|
-
> label.ant-form-item-required::before,
|
|
146
|
+
.form-create.is-preview .ant-form-item-label>label.ant-form-item-required::before,
|
|
154
147
|
.form-create.is-preview label.ant-form-item-required::before {
|
|
155
148
|
display: none !important;
|
|
156
149
|
}
|
|
@@ -292,14 +285,9 @@ textarea[readonly].ant-input {
|
|
|
292
285
|
.form-create.is-preview .ant-upload-list-item-actions-preview,
|
|
293
286
|
.form-create.is-preview .ant-upload-list-item-actions .anticon-eye,
|
|
294
287
|
.form-create.is-preview .ant-upload-list-item-info,
|
|
295
|
-
.form-create.is-preview .ant-upload-list-item-info
|
|
296
|
-
.form-create.is-preview
|
|
297
|
-
|
|
298
|
-
.ant-upload-list-item-thumbnail,
|
|
299
|
-
.form-create.is-preview
|
|
300
|
-
.ant-upload-picture-card
|
|
301
|
-
.ant-upload-list-item-thumbnail
|
|
302
|
-
* {
|
|
288
|
+
.form-create.is-preview .ant-upload-list-item-info>span,
|
|
289
|
+
.form-create.is-preview .ant-upload-picture-card .ant-upload-list-item-thumbnail,
|
|
290
|
+
.form-create.is-preview .ant-upload-picture-card .ant-upload-list-item-thumbnail * {
|
|
303
291
|
pointer-events: auto !important;
|
|
304
292
|
cursor: pointer !important;
|
|
305
293
|
}
|
|
@@ -591,8 +579,7 @@ textarea[readonly].ant-input {
|
|
|
591
579
|
}
|
|
592
580
|
|
|
593
581
|
/* 只读模式:防止 readOnly 的 disabled select 的多选选项显示为灰色 */
|
|
594
|
-
.fc-select-readonly.ant-select-disabled.ant-select-multiple
|
|
595
|
-
.ant-select-selection-item {
|
|
582
|
+
.fc-select-readonly.ant-select-disabled.ant-select-multiple .ant-select-selection-item {
|
|
596
583
|
opacity: 1 !important;
|
|
597
584
|
color: rgba(0, 0, 0, 0.88) !important;
|
|
598
585
|
background-color: #f0f0f0 !important;
|
|
@@ -601,9 +588,7 @@ textarea[readonly].ant-input {
|
|
|
601
588
|
}
|
|
602
589
|
|
|
603
590
|
/* 预览模式:防止 disabled select 的多选选项显示为灰色,并允许文本选择 */
|
|
604
|
-
.form-create.is-preview
|
|
605
|
-
.ant-select-disabled.ant-select-multiple
|
|
606
|
-
.ant-select-selection-item {
|
|
591
|
+
.form-create.is-preview .ant-select-disabled.ant-select-multiple .ant-select-selection-item {
|
|
607
592
|
opacity: 1 !important;
|
|
608
593
|
color: inherit !important;
|
|
609
594
|
background-color: #f0f0f0 !important;
|
|
@@ -739,8 +724,8 @@ textarea[readonly].ant-input {
|
|
|
739
724
|
/* 预览模式:禁用选择器下拉 */
|
|
740
725
|
.form-create.is-preview .ant-select-dropdown,
|
|
741
726
|
/* 只读模式:禁用选择器下拉 */
|
|
742
|
-
.ant-select-disabled
|
|
743
|
-
.ant-select.ant-select-disabled
|
|
727
|
+
.ant-select-disabled+.ant-select-dropdown,
|
|
728
|
+
.ant-select.ant-select-disabled~.ant-select-dropdown {
|
|
744
729
|
display: none !important;
|
|
745
730
|
}
|
|
746
731
|
|
|
@@ -801,16 +786,13 @@ textarea[readonly].ant-input {
|
|
|
801
786
|
box-shadow: none !important;
|
|
802
787
|
}
|
|
803
788
|
|
|
804
|
-
.fc-cus-select:not(.fc-cus-select-disabled):hover
|
|
805
|
-
.fc-cus-select-selector-borderless {
|
|
789
|
+
.fc-cus-select:not(.fc-cus-select-disabled):hover .fc-cus-select-selector-borderless {
|
|
806
790
|
border: none !important;
|
|
807
791
|
box-shadow: none !important;
|
|
808
792
|
}
|
|
809
793
|
|
|
810
|
-
.fc-cus-select:focus:not(.fc-cus-select-disabled)
|
|
811
|
-
|
|
812
|
-
.fc-cus-select:focus-within:not(.fc-cus-select-disabled)
|
|
813
|
-
.fc-cus-select-selector-borderless {
|
|
794
|
+
.fc-cus-select:focus:not(.fc-cus-select-disabled) .fc-cus-select-selector-borderless,
|
|
795
|
+
.fc-cus-select:focus-within:not(.fc-cus-select-disabled) .fc-cus-select-selector-borderless {
|
|
814
796
|
border: none !important;
|
|
815
797
|
box-shadow: none !important;
|
|
816
798
|
outline: none !important;
|
|
@@ -906,8 +888,7 @@ textarea[readonly].ant-input {
|
|
|
906
888
|
box-shadow: 0 0 0 2px rgba(64, 150, 255, 0.2);
|
|
907
889
|
}
|
|
908
890
|
|
|
909
|
-
.fc-cus-select:focus-within:not(.fc-cus-select-disabled)
|
|
910
|
-
.fc-cus-select-selector {
|
|
891
|
+
.fc-cus-select:focus-within:not(.fc-cus-select-disabled) .fc-cus-select-selector {
|
|
911
892
|
border-color: #4096ff;
|
|
912
893
|
outline: 0;
|
|
913
894
|
box-shadow: 0 0 0 2px rgba(64, 150, 255, 0.2);
|
|
@@ -1069,14 +1050,14 @@ textarea[readonly].ant-input {
|
|
|
1069
1050
|
cursor: pointer;
|
|
1070
1051
|
}
|
|
1071
1052
|
|
|
1072
|
-
._fc-table-form
|
|
1053
|
+
._fc-table-form>.ant-btn {
|
|
1073
1054
|
display: flex;
|
|
1074
1055
|
align-items: center;
|
|
1075
1056
|
padding: 2px;
|
|
1076
1057
|
}
|
|
1077
1058
|
|
|
1078
1059
|
._fc-table-form._fc-disabled ._fc-tf-btn .fc-icon,
|
|
1079
|
-
._fc-table-form._fc-disabled
|
|
1060
|
+
._fc-table-form._fc-disabled>.ant-btn {
|
|
1080
1061
|
cursor: not-allowed;
|
|
1081
1062
|
}
|
|
1082
1063
|
|
|
@@ -1089,17 +1070,21 @@ textarea[readonly].ant-input {
|
|
|
1089
1070
|
border-bottom: 0 none;
|
|
1090
1071
|
}
|
|
1091
1072
|
|
|
1092
|
-
._fc-table-form ._fc-tf-table
|
|
1073
|
+
._fc-table-form ._fc-tf-table>thead>tr>th {
|
|
1093
1074
|
border: 0 none;
|
|
1094
1075
|
border-bottom: 1px solid #ebeef5;
|
|
1095
1076
|
height: 40px;
|
|
1096
1077
|
font-weight: 500;
|
|
1097
1078
|
padding: 0 5px;
|
|
1098
1079
|
box-sizing: border-box;
|
|
1080
|
+
color: rgba(0, 0, 0, 0.88);
|
|
1081
|
+
font-size: 14px;
|
|
1099
1082
|
}
|
|
1100
1083
|
|
|
1101
|
-
._fc-table-form ._fc-tf-table
|
|
1084
|
+
._fc-table-form ._fc-tf-table>thead>tr>th+th {
|
|
1102
1085
|
border-left: 1px solid #ebeef5;
|
|
1086
|
+
color: rgba(0, 0, 0, 0.88);
|
|
1087
|
+
font-size: 14px;
|
|
1103
1088
|
}
|
|
1104
1089
|
|
|
1105
1090
|
._fc-table-form tr {
|
|
@@ -1121,9 +1106,11 @@ textarea[readonly].ant-input {
|
|
|
1121
1106
|
overflow: hidden;
|
|
1122
1107
|
border: 0 none;
|
|
1123
1108
|
border-bottom: 1px solid #ebeef5;
|
|
1109
|
+
color: rgba(0, 0, 0, 0.88);
|
|
1110
|
+
font-size: 14px;
|
|
1124
1111
|
}
|
|
1125
1112
|
|
|
1126
|
-
._fc-table-form td
|
|
1113
|
+
._fc-table-form td+td {
|
|
1127
1114
|
border-left: 1px solid #ebeef5;
|
|
1128
1115
|
}
|
|
1129
1116
|
|
|
@@ -1158,7 +1145,7 @@ textarea[readonly].ant-input {
|
|
|
1158
1145
|
overflow: auto;
|
|
1159
1146
|
}
|
|
1160
1147
|
|
|
1161
|
-
._fd-tf-wrap
|
|
1148
|
+
._fd-tf-wrap>._fd-drag-tool {
|
|
1162
1149
|
flex-shrink: 0;
|
|
1163
1150
|
display: flex;
|
|
1164
1151
|
margin: 2px;
|
|
@@ -1201,27 +1188,14 @@ textarea[readonly].ant-input {
|
|
|
1201
1188
|
|
|
1202
1189
|
/* 仅在设计器中展示红色星号(不参与校验) */
|
|
1203
1190
|
/* 设计器特定场景 */
|
|
1204
|
-
._fc-designer
|
|
1205
|
-
|
|
1206
|
-
._fc-fake-required
|
|
1207
|
-
.ant-form-item-label
|
|
1208
|
-
> label::before,
|
|
1209
|
-
._fc-designer
|
|
1210
|
-
._fc-m-drag
|
|
1211
|
-
._fc-fake-required
|
|
1212
|
-
label.ant-form-item-no-colon::before,
|
|
1191
|
+
._fc-designer ._fc-m-drag ._fc-fake-required .ant-form-item-label>label::before,
|
|
1192
|
+
._fc-designer ._fc-m-drag ._fc-fake-required label.ant-form-item-no-colon::before,
|
|
1213
1193
|
/* 通用场景 - 带 label 容器 */
|
|
1214
|
-
._fc-fake-required
|
|
1215
|
-
|
|
1216
|
-
> label::before,
|
|
1217
|
-
._fc-fake-required
|
|
1218
|
-
.ant-form-item-label
|
|
1219
|
-
> label.ant-form-item-required::before,
|
|
1194
|
+
._fc-fake-required .ant-form-item-label>label::before,
|
|
1195
|
+
._fc-fake-required .ant-form-item-label>label.ant-form-item-required::before,
|
|
1220
1196
|
/* 通用场景 - 无 label 容器(直接 label) */
|
|
1221
|
-
._fc-fake-required
|
|
1222
|
-
|
|
1223
|
-
._fc-fake-required
|
|
1224
|
-
label::before {
|
|
1197
|
+
._fc-fake-required label.ant-form-item-no-colon::before,
|
|
1198
|
+
._fc-fake-required label::before {
|
|
1225
1199
|
display: inline-block;
|
|
1226
1200
|
margin-inline-end: 4px;
|
|
1227
1201
|
color: #ff4d4f;
|
|
@@ -1236,7 +1210,7 @@ textarea[readonly].ant-input {
|
|
|
1236
1210
|
margin-right: 4px;
|
|
1237
1211
|
}
|
|
1238
1212
|
|
|
1239
|
-
._fd-tf-con ._fc-l-item
|
|
1213
|
+
._fd-tf-con ._fc-l-item>* {
|
|
1240
1214
|
display: none !important;
|
|
1241
1215
|
}
|
|
1242
1216
|
|
|
@@ -1253,22 +1227,22 @@ textarea[readonly].ant-input {
|
|
|
1253
1227
|
}
|
|
1254
1228
|
|
|
1255
1229
|
/* Flex 容器子项 flex 样式 - 使用通用选择器,匹配所有直接子元素 */
|
|
1256
|
-
.ant-flex._fc-flex-container
|
|
1230
|
+
.ant-flex._fc-flex-container>* {
|
|
1257
1231
|
flex: var(--fc-child-flex) !important;
|
|
1258
1232
|
}
|
|
1259
1233
|
|
|
1260
1234
|
/* 更具体的选择器,针对被 form-item 包裹的子元素 */
|
|
1261
|
-
.ant-flex._fc-flex-container
|
|
1235
|
+
.ant-flex._fc-flex-container>.ant-form-item {
|
|
1262
1236
|
flex: var(--fc-child-flex) !important;
|
|
1263
1237
|
}
|
|
1264
1238
|
|
|
1265
1239
|
/* 垂直方向的 Flex 容器子项宽度样式 - 使用通用选择器 */
|
|
1266
|
-
.ant-flex._fc-flex-vertical
|
|
1240
|
+
.ant-flex._fc-flex-vertical>* {
|
|
1267
1241
|
width: var(--fc-child-width, 100%) !important;
|
|
1268
1242
|
}
|
|
1269
1243
|
|
|
1270
1244
|
/* 更具体的选择器,针对被 form-item 包裹的子元素 */
|
|
1271
|
-
.ant-flex._fc-flex-vertical
|
|
1245
|
+
.ant-flex._fc-flex-vertical>.ant-form-item {
|
|
1272
1246
|
width: var(--fc-child-width, 100%) !important;
|
|
1273
1247
|
}
|
|
1274
1248
|
|
|
@@ -1281,7 +1255,7 @@ textarea[readonly].ant-input {
|
|
|
1281
1255
|
overflow: auto;
|
|
1282
1256
|
}
|
|
1283
1257
|
|
|
1284
|
-
._fc-table
|
|
1258
|
+
._fc-table>table {
|
|
1285
1259
|
width: 100%;
|
|
1286
1260
|
height: 100%;
|
|
1287
1261
|
overflow: hidden;
|
|
@@ -1318,7 +1292,6 @@ textarea[readonly].ant-input {
|
|
|
1318
1292
|
padding: 0;
|
|
1319
1293
|
margin: 0;
|
|
1320
1294
|
}
|
|
1321
|
-
|
|
1322
1295
|
@font-face {
|
|
1323
1296
|
font-family: "fc-icon";
|
|
1324
1297
|
src: url(fonts/fc-icons.woff) format('woff');
|