gcs-ui-lib 1.2.2 → 1.2.3
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/lib/gcs-ui-lib.common.js +20326 -17567
- package/lib/gcs-ui-lib.css +1 -1
- package/lib/gcs-ui-lib.umd.js +20326 -17567
- package/lib/gcs-ui-lib.umd.min.js +110 -110
- package/package.json +7 -1
- package/packages/AutoFillDetail/src/components/fillDetail.vue +0 -15
- package/packages/AutoFillDetail/src/demo/index.vue +1 -1
- package/packages/AutoFillDetail/src/main.vue +22 -7
- package/packages/AutoFillDetection/src/components/HandEntred.vue +24 -51
- package/packages/AutoFillDetection/src/components/HandEntredThird.vue +225 -0
- package/packages/AutoFillDetection/src/components/RuleHit.vue +1 -0
- package/packages/AutoFillDetection/src/components/THIRD_ACCOUNT.vue +200 -0
- package/packages/AutoFillDetection/src/components/config.js +214 -3
- package/packages/AutoFillDetection/src/main.vue +38 -15
- package/packages/AutoFillList/src/components/config.js +56 -12
- package/packages/AutoFillList/src/main.vue +60 -15
- package/packages/AutoFillRuleHistory/src/main.vue +158 -133
- package/packages/AutoFillService/src/components/ConditionGroup.vue +36 -18
- package/packages/AutoFillService/src/components/basic.vue +162 -119
- package/packages/AutoFillService/src/components/fillRules.vue +28 -19
- package/packages/AutoFillService/src/demo/index.vue +17 -6
- package/packages/AutoFillService/src/main.vue +14 -9
- package/packages/Bank/src/main.vue +5 -1
- package/packages/CommonExport/index.js +7 -0
- package/packages/CommonExport/src/demo/index.vue +18 -0
- package/packages/CommonExport/src/main.vue +76 -0
- package/packages/MergeAutoFill/demo/NstcMergeAutoFillList.vue +47 -0
- package/packages/MergeAutoFill/index.js +28 -0
- package/packages/MergeAutoFill/merge/ExtendMergeHistory.vue +62 -0
- package/packages/MergeAutoFill/merge/merageBasic.vue +390 -0
- package/packages/MergeAutoFill/merge/merageFillService.vue +168 -0
- package/packages/MergeAutoFill/merge/merageHistoryRules.vue +133 -0
- package/packages/MergeAutoFill/merge/mergeFillDetail.vue +148 -0
- package/packages/MergeAutoFill/merge/mergeFillList.vue +94 -0
- package/packages/Trade/src/components/all/index.vue +1 -1
- package/packages/Trade/src/components/pendingEvent/index.vue +49 -44
- package/src/api/setting.js +17 -1
- package/src/index.js +18 -0
- package/src/preview/router.js +5 -0
- package/src/utils/index.js +31 -16
- package/.env.development +0 -5
- package/.env.production +0 -7
- package/.eslintrc.js +0 -5
- package/_webpack.config.js +0 -135
- package/babel.config.js +0 -16
- package/docs/README.md +0 -246
- package/npm +0 -1
- package/public/favicon.ico +0 -0
- package/public/index.html +0 -19
- package/vue.config.js +0 -49
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: yuehong yuehong@nstc.com.cn
|
|
3
|
+
* @Date: 2024-05-11 15:50:15
|
|
4
|
+
* @LastEditors: yuehong yuehong@nstc.com.cn
|
|
5
|
+
* @LastEditTime: 2024-05-18 16:53:48
|
|
6
|
+
* @FilePath: \gcs-settle_webd:\workspace\G20\gcs-dms_web\code\src\components\CommonExport.vue
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
-->
|
|
9
|
+
<template>
|
|
10
|
+
<el-dropdown
|
|
11
|
+
v-hasG="permission"
|
|
12
|
+
trigger="hover"
|
|
13
|
+
v-if="btn"
|
|
14
|
+
@command="handleExport"
|
|
15
|
+
>
|
|
16
|
+
<el-button plain size="mini">{{ $l("导出") }}</el-button>
|
|
17
|
+
<el-dropdown-menu style="margin-right: 0px" slot="dropdown">
|
|
18
|
+
<el-dropdown-item command="xls">{{ $l(".xls格式") }}</el-dropdown-item>
|
|
19
|
+
<el-dropdown-item command="xlsx">{{ $l(".xlsx格式") }}</el-dropdown-item>
|
|
20
|
+
</el-dropdown-menu>
|
|
21
|
+
</el-dropdown>
|
|
22
|
+
<el-dropdown
|
|
23
|
+
v-hasG="permission"
|
|
24
|
+
style="width:100%;cursor: pointer; min-width: 60px; text-align: center"
|
|
25
|
+
trigger="hover"
|
|
26
|
+
v-else
|
|
27
|
+
placement="right-start"
|
|
28
|
+
class="custom-drop"
|
|
29
|
+
:hide-timeout="2000"
|
|
30
|
+
@command="handleExport"
|
|
31
|
+
>
|
|
32
|
+
<el-link :underline="false" class="export-name">{{ $l("导出") }}</el-link>
|
|
33
|
+
<el-dropdown-menu style="margin-right: 0px" slot="dropdown">
|
|
34
|
+
<el-dropdown-item command="xls">{{ $l(".xls格式") }}</el-dropdown-item>
|
|
35
|
+
<el-dropdown-item command="xlsx">{{ $l(".xlsx格式") }}</el-dropdown-item>
|
|
36
|
+
</el-dropdown-menu>
|
|
37
|
+
</el-dropdown>
|
|
38
|
+
</template>
|
|
39
|
+
<script>
|
|
40
|
+
export default {
|
|
41
|
+
name: "NstcCommonExport",
|
|
42
|
+
props: {
|
|
43
|
+
permission: {
|
|
44
|
+
type: String,
|
|
45
|
+
required: true,
|
|
46
|
+
default: "",
|
|
47
|
+
},
|
|
48
|
+
btn: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: false,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
methods: {
|
|
54
|
+
handleExport(command) {
|
|
55
|
+
this.$emit("command", command);
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<style scoped lang="scss">
|
|
62
|
+
.custom-drop {
|
|
63
|
+
padding: 4px 0;
|
|
64
|
+
text-align: start !important;
|
|
65
|
+
padding-left: 15px;
|
|
66
|
+
width: 50% !important;
|
|
67
|
+
&:hover {
|
|
68
|
+
background-color: var(--color-primary-light-9);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.export-name {
|
|
73
|
+
display: inline-block;
|
|
74
|
+
width: 100%;
|
|
75
|
+
}
|
|
76
|
+
</style>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<NstcMergeAutoFillList
|
|
3
|
+
:settingSource="'2'"
|
|
4
|
+
key="merageFill"
|
|
5
|
+
:type="'merageFill'"
|
|
6
|
+
:pageRelaNo="pageRelaNo"
|
|
7
|
+
:fList="filterList"
|
|
8
|
+
:hList="tableHeader"
|
|
9
|
+
class="payment-auto"
|
|
10
|
+
></NstcMergeAutoFillList>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import {
|
|
15
|
+
AutoFillListHeader,
|
|
16
|
+
AutoFillListFilter,
|
|
17
|
+
} from "../../AutoFillList/src/components/config";
|
|
18
|
+
import NstcMergeAutoFillList from "../merge/mergeFillList.vue"; // 真正使用的时候不用导入 已全局use
|
|
19
|
+
export default {
|
|
20
|
+
name: "xxxx",
|
|
21
|
+
components: {
|
|
22
|
+
NstcMergeAutoFillList, // 真正使用的时候不用导入 已全局use
|
|
23
|
+
},
|
|
24
|
+
async mounted() {
|
|
25
|
+
this.tableHeader = AutoFillListHeader;
|
|
26
|
+
this.filterList = AutoFillListFilter;
|
|
27
|
+
},
|
|
28
|
+
data() {
|
|
29
|
+
return {
|
|
30
|
+
filterList: [],
|
|
31
|
+
tableHeader: [],
|
|
32
|
+
pageRelaNo: {
|
|
33
|
+
history: "payment00100100006002-01", //历史记录
|
|
34
|
+
add: "payment00100100006001001-01", //新增
|
|
35
|
+
delete: "payment00100100006001002-01", //删除
|
|
36
|
+
// detection: "payment00100100006001007-01", //检测
|
|
37
|
+
import: "payment00100100006001003-01", //导入
|
|
38
|
+
export: "payment00100100006001006-01", //导出
|
|
39
|
+
edit: "payment00100100006001004-01", //编辑
|
|
40
|
+
copy: "payment00100100006001005-01", //复制
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
</script>
|
|
46
|
+
|
|
47
|
+
<style lang="scss" scoped></style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import NstcMergeAutoFillList from './merge/mergeFillList.vue'
|
|
2
|
+
import NstcMergeAutoFillDetail from './merge/mergeFillDetail.vue'
|
|
3
|
+
import NstcMergeAutoFillService from './merge/merageFillService.vue'
|
|
4
|
+
import NstcMergeAutoFillRuleHistory from './merge/ExtendMergeHistory.vue'
|
|
5
|
+
|
|
6
|
+
NstcMergeAutoFillList.install = function(Vue) {
|
|
7
|
+
Vue.component(NstcMergeAutoFillList.name, NstcMergeAutoFillList)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
NstcMergeAutoFillDetail.install = function(Vue) {
|
|
11
|
+
Vue.component(NstcMergeAutoFillDetail.name, NstcMergeAutoFillDetail)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
NstcMergeAutoFillService.install = function(Vue) {
|
|
15
|
+
Vue.component(NstcMergeAutoFillService.name, NstcMergeAutoFillService)
|
|
16
|
+
}
|
|
17
|
+
NstcMergeAutoFillRuleHistory.install = function(Vue) {
|
|
18
|
+
Vue.component(NstcMergeAutoFillRuleHistory.name, NstcMergeAutoFillRuleHistory)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
NstcMergeAutoFillList,
|
|
25
|
+
NstcMergeAutoFillDetail,
|
|
26
|
+
NstcMergeAutoFillService,
|
|
27
|
+
NstcMergeAutoFillRuleHistory
|
|
28
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import NstcAutoFillRuleHistory from "../../AutoFillRuleHistory/src/main.vue";
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
name: "NstcMergeAutoFillRuleHistory",
|
|
6
|
+
extends: NstcAutoFillRuleHistory,
|
|
7
|
+
props: {
|
|
8
|
+
type: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: "merageFill",
|
|
11
|
+
},
|
|
12
|
+
fList: {
|
|
13
|
+
type: Array,
|
|
14
|
+
default: () => [],
|
|
15
|
+
},
|
|
16
|
+
hList: {
|
|
17
|
+
type: Array,
|
|
18
|
+
default: () => [],
|
|
19
|
+
},
|
|
20
|
+
// 1:收入 2: 支出
|
|
21
|
+
settingSource: {
|
|
22
|
+
type: [Number, String],
|
|
23
|
+
default: "2",
|
|
24
|
+
},
|
|
25
|
+
test: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: false,
|
|
28
|
+
},
|
|
29
|
+
pageRelaNo: {
|
|
30
|
+
type: Object,
|
|
31
|
+
default: () => {
|
|
32
|
+
return {
|
|
33
|
+
query: null,
|
|
34
|
+
export: null, //导出
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
activated() {},
|
|
40
|
+
async mounted() {
|
|
41
|
+
await this.$nextTick();
|
|
42
|
+
this.filterList = [...this.fList];
|
|
43
|
+
this.tableHeader = [...this.hList];
|
|
44
|
+
// this.queryData();
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
handleClick(row) {
|
|
48
|
+
this.$router.push({
|
|
49
|
+
path: "/merageRulesDetail",
|
|
50
|
+
query: {
|
|
51
|
+
matchingHiId: row.matchingIdHi,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
handleOrder(newVal) {
|
|
56
|
+
if (newVal) {
|
|
57
|
+
this.$set(this.detail, "isMatchChildOrder", newVal);
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
</script>
|
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-form
|
|
3
|
+
class="label-width-12em"
|
|
4
|
+
label-width="12em"
|
|
5
|
+
:model="form"
|
|
6
|
+
:rules="rules"
|
|
7
|
+
:key="form.refillBasis"
|
|
8
|
+
ref="formRef"
|
|
9
|
+
>
|
|
10
|
+
<!-- 匹配基本规则 -->
|
|
11
|
+
<n20-expandable-pane :title="$l('匹配基本规则')">
|
|
12
|
+
<!-- 适用范围 -->
|
|
13
|
+
<el-form-item
|
|
14
|
+
class="m-b-m auto-form-item"
|
|
15
|
+
:label="$l('适用范围')"
|
|
16
|
+
prop="usedScope"
|
|
17
|
+
>
|
|
18
|
+
<el-select
|
|
19
|
+
class="input-w"
|
|
20
|
+
v-model="form.usedScope"
|
|
21
|
+
clearable
|
|
22
|
+
filterable
|
|
23
|
+
disabled
|
|
24
|
+
@change="applyRangeChange"
|
|
25
|
+
:placeholder="$l('请选择')"
|
|
26
|
+
>
|
|
27
|
+
<el-option
|
|
28
|
+
v-for="item in scopeOptions"
|
|
29
|
+
:key="item.value"
|
|
30
|
+
:label="item.label"
|
|
31
|
+
:value="item.value"
|
|
32
|
+
>
|
|
33
|
+
</el-option>
|
|
34
|
+
</el-select>
|
|
35
|
+
<el-tooltip
|
|
36
|
+
class="m-l-ss"
|
|
37
|
+
effect="dark"
|
|
38
|
+
:content="$l('适用范围+适用单位确定规定该条规则适用的单位范围')"
|
|
39
|
+
placement="top"
|
|
40
|
+
>
|
|
41
|
+
<i
|
|
42
|
+
class="n20-icon-xinxitishi"
|
|
43
|
+
style="color: var(--color-text-secondary)"
|
|
44
|
+
></i>
|
|
45
|
+
</el-tooltip>
|
|
46
|
+
</el-form-item>
|
|
47
|
+
<!-- 适用单位 -->
|
|
48
|
+
<el-form-item
|
|
49
|
+
:label="$l('适用单位')"
|
|
50
|
+
class="m-b-m auto-form-item"
|
|
51
|
+
prop="cltNo"
|
|
52
|
+
:rules="[
|
|
53
|
+
{
|
|
54
|
+
required: form.usedScope !== 'all',
|
|
55
|
+
message: $l('至少选择一个单位'),
|
|
56
|
+
trigger: ['blur'],
|
|
57
|
+
},
|
|
58
|
+
]"
|
|
59
|
+
>
|
|
60
|
+
<SelectTreeUnitForm
|
|
61
|
+
ref="selectTreeUnitForm"
|
|
62
|
+
v-model="form.cltNo"
|
|
63
|
+
:searchUnitNo="userUnitNo"
|
|
64
|
+
showAllCheck
|
|
65
|
+
:multiple="true"
|
|
66
|
+
:placeholder="$l('请选择')"
|
|
67
|
+
:url="'/api/nstc-gtcp/1.0/fundTree'"
|
|
68
|
+
:moduleNo="settingSource == 1 ? 'CTMS' : 'PTMS'"
|
|
69
|
+
node-key="id"
|
|
70
|
+
:relaNo="'payment001'"
|
|
71
|
+
:upDateValue="defaultSelect"
|
|
72
|
+
:disabled="form.usedScope == 'all'"
|
|
73
|
+
@dataChange="dataChange"
|
|
74
|
+
/>
|
|
75
|
+
</el-form-item>
|
|
76
|
+
<!-- 规则名称 -->
|
|
77
|
+
<el-form-item
|
|
78
|
+
:label="$l('规则名称')"
|
|
79
|
+
class="m-b-m auto-form-item"
|
|
80
|
+
prop="matchingRuleName"
|
|
81
|
+
>
|
|
82
|
+
<el-input
|
|
83
|
+
class="input-w"
|
|
84
|
+
clearable
|
|
85
|
+
v-title
|
|
86
|
+
:show-overflow-tooltip="true"
|
|
87
|
+
:maxlength="64"
|
|
88
|
+
:placeholder="$l('请输入')"
|
|
89
|
+
v-model="form.matchingRuleName"
|
|
90
|
+
/>
|
|
91
|
+
</el-form-item>
|
|
92
|
+
<!-- 规则类型 -->
|
|
93
|
+
<el-form-item
|
|
94
|
+
:label="$l('规则类型')"
|
|
95
|
+
class="m-b-m auto-form-item"
|
|
96
|
+
prop="matchingRuleType"
|
|
97
|
+
>
|
|
98
|
+
<el-select
|
|
99
|
+
class="input-w"
|
|
100
|
+
v-model="form.matchingRuleType"
|
|
101
|
+
clearable
|
|
102
|
+
filterable
|
|
103
|
+
disabled
|
|
104
|
+
:placeholder="$l('请选择')"
|
|
105
|
+
>
|
|
106
|
+
<el-option
|
|
107
|
+
v-for="item in methodOptions"
|
|
108
|
+
:key="item.value"
|
|
109
|
+
:label="item.label"
|
|
110
|
+
:value="item.value"
|
|
111
|
+
>
|
|
112
|
+
</el-option>
|
|
113
|
+
</el-select>
|
|
114
|
+
</el-form-item>
|
|
115
|
+
<!-- 匹配优先级 -->
|
|
116
|
+
<el-form-item
|
|
117
|
+
:label="$l('匹配优先级')"
|
|
118
|
+
class="m-b-m auto-form-item"
|
|
119
|
+
prop="matchingPriority"
|
|
120
|
+
:rules="[
|
|
121
|
+
{
|
|
122
|
+
pattern: /^\+?[0-9]\d*$/,
|
|
123
|
+
message: '请输入正确的数量',
|
|
124
|
+
trigger: 'blur',
|
|
125
|
+
},
|
|
126
|
+
]"
|
|
127
|
+
>
|
|
128
|
+
<el-input
|
|
129
|
+
class="input-w"
|
|
130
|
+
v-model="form.matchingPriority"
|
|
131
|
+
placeholder="请输入"
|
|
132
|
+
/>
|
|
133
|
+
<el-tooltip
|
|
134
|
+
class="m-l-ss"
|
|
135
|
+
effect="dark"
|
|
136
|
+
:content="$l('输入正整数,数字越大,匹配优先级越高')"
|
|
137
|
+
placement="top"
|
|
138
|
+
>
|
|
139
|
+
<i
|
|
140
|
+
class="n20-icon-xinxitishi"
|
|
141
|
+
style="color: var(--color-text-secondary)"
|
|
142
|
+
></i
|
|
143
|
+
></el-tooltip>
|
|
144
|
+
</el-form-item>
|
|
145
|
+
<!-- 是否自动确认 -->
|
|
146
|
+
<el-form-item
|
|
147
|
+
:label="$l('是否自动确认')"
|
|
148
|
+
class="m-b-m auto-form-item"
|
|
149
|
+
prop="isAutoConfirm"
|
|
150
|
+
>
|
|
151
|
+
<el-radio-group v-model="form.isAutoConfirm">
|
|
152
|
+
<el-radio :label="1">{{ $l("是") }}</el-radio>
|
|
153
|
+
<el-radio :label="0">{{ $l("否") }}</el-radio>
|
|
154
|
+
</el-radio-group>
|
|
155
|
+
</el-form-item>
|
|
156
|
+
<el-form-item
|
|
157
|
+
:label="$l('合并频次')"
|
|
158
|
+
class="m-b-m auto-form-item"
|
|
159
|
+
prop="frequencyMergingName"
|
|
160
|
+
>
|
|
161
|
+
<el-input
|
|
162
|
+
class="input-w"
|
|
163
|
+
disabled
|
|
164
|
+
v-model="form.frequencyMergingName"
|
|
165
|
+
placeholder="请输入"
|
|
166
|
+
/>
|
|
167
|
+
</el-form-item>
|
|
168
|
+
<el-form-item class="col-span-24" prop="dimensionsMergingList">
|
|
169
|
+
<template slot="label">
|
|
170
|
+
{{ $l("合并维度") }}
|
|
171
|
+
<i
|
|
172
|
+
class="n20-icon-xinxitishi"
|
|
173
|
+
v-title="$l('空视为特定值,全部为空则一致')"
|
|
174
|
+
style="color: var(--color-text-secondary)"
|
|
175
|
+
></i>
|
|
176
|
+
</template>
|
|
177
|
+
<el-checkbox-group
|
|
178
|
+
v-model="form.dimensionsMergingList"
|
|
179
|
+
@change="changeDimensions"
|
|
180
|
+
>
|
|
181
|
+
<el-checkbox
|
|
182
|
+
:label="item.fieldCode"
|
|
183
|
+
:disabled="item.disabled"
|
|
184
|
+
v-for="item in dimensionsList"
|
|
185
|
+
:key="item.fieldCode"
|
|
186
|
+
>{{ item.fieldName }}</el-checkbox
|
|
187
|
+
>
|
|
188
|
+
</el-checkbox-group>
|
|
189
|
+
</el-form-item>
|
|
190
|
+
</n20-expandable-pane>
|
|
191
|
+
</el-form>
|
|
192
|
+
</template>
|
|
193
|
+
|
|
194
|
+
<script>
|
|
195
|
+
import { SCOPE_OPTIONS } from "../../AutoFillService/src/components/config.js";
|
|
196
|
+
import { getSession } from "@/utils/session";
|
|
197
|
+
import { flatData } from "@/utils/index.js";
|
|
198
|
+
import { $l } from "n20-common-lib/src/utils/i18n";
|
|
199
|
+
import { axios } from "n20-common-lib";
|
|
200
|
+
export default {
|
|
201
|
+
name: "merageBasic",
|
|
202
|
+
props: {
|
|
203
|
+
settingSource: {
|
|
204
|
+
type: [String, Number],
|
|
205
|
+
default: "2",
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
form: {
|
|
209
|
+
type: Object,
|
|
210
|
+
default: () => {},
|
|
211
|
+
},
|
|
212
|
+
// 禁用 适用业务 默认不禁用
|
|
213
|
+
disableFillBuss: {
|
|
214
|
+
type: Boolean,
|
|
215
|
+
default: false,
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
created() {
|
|
219
|
+
this.$set(this.form, "usedAccountType", "THIRD_ACCOUNT");
|
|
220
|
+
this.$set(this.form, "frequencyMerging", "day");
|
|
221
|
+
this.$set(this.form, "frequencyMergingName", "日");
|
|
222
|
+
this.$set(this.form, "dimensionsMergingList", ["unitName", "currencyName"]);
|
|
223
|
+
this.$set(this.form, "matchingRuleType", "INDEPENDENT");
|
|
224
|
+
// this.extendInit();
|
|
225
|
+
},
|
|
226
|
+
components: {
|
|
227
|
+
SelectTreeUnitForm: () => import("../../SelectTreeUnitForm/src/main.vue"),
|
|
228
|
+
Bank: () => import("../../Bank/src/main.vue"),
|
|
229
|
+
},
|
|
230
|
+
data(vm) {
|
|
231
|
+
this.scopeOptions = SCOPE_OPTIONS;
|
|
232
|
+
return {
|
|
233
|
+
dimensionsList: [],
|
|
234
|
+
multipleHitOptions: [
|
|
235
|
+
{ value: 1, label: $l("不命中") },
|
|
236
|
+
{ value: 2, label: $l("命中实际付款日最早数据") },
|
|
237
|
+
{ value: 3, label: $l("命中实际付款日最晚数据") },
|
|
238
|
+
],
|
|
239
|
+
methodOptions: [
|
|
240
|
+
{
|
|
241
|
+
label: "预先补填",
|
|
242
|
+
value: "GENERAL",
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
label: "完结补填",
|
|
246
|
+
value: "INDEPENDENT",
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
defaultSelect: [],
|
|
250
|
+
userUnitNo: getSession("userInfo").cltNo,
|
|
251
|
+
rules: {
|
|
252
|
+
frequencyMergingName: [
|
|
253
|
+
{
|
|
254
|
+
required: true,
|
|
255
|
+
message: vm.$l("请输入合并频次"),
|
|
256
|
+
trigger: "blur",
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
dimensionsMergingList: [
|
|
260
|
+
{
|
|
261
|
+
required: true,
|
|
262
|
+
message: vm.$l("请选择合并维度"),
|
|
263
|
+
trigger: "change",
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
matchingRuleType: [
|
|
267
|
+
{
|
|
268
|
+
required: true,
|
|
269
|
+
message: vm.$l("请选择规则类型"),
|
|
270
|
+
trigger: "change",
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
usedScope: [
|
|
274
|
+
{
|
|
275
|
+
required: true,
|
|
276
|
+
message: vm.$l("请选择适用范围"),
|
|
277
|
+
trigger: "change",
|
|
278
|
+
},
|
|
279
|
+
],
|
|
280
|
+
isAutoConfirm: [
|
|
281
|
+
{
|
|
282
|
+
required: true,
|
|
283
|
+
message: vm.$l("请选择是否自动确认"),
|
|
284
|
+
trigger: "change",
|
|
285
|
+
},
|
|
286
|
+
],
|
|
287
|
+
},
|
|
288
|
+
unitOptions: [],
|
|
289
|
+
};
|
|
290
|
+
},
|
|
291
|
+
watch: {
|
|
292
|
+
"form.usedUnit": {
|
|
293
|
+
handler(val) {
|
|
294
|
+
try {
|
|
295
|
+
this.defaultSelect = JSON.parse(val);
|
|
296
|
+
this.$nextTick(() => {
|
|
297
|
+
this.$refs.selectTreeUnitForm?.upDateShowValue(true);
|
|
298
|
+
});
|
|
299
|
+
} catch {}
|
|
300
|
+
},
|
|
301
|
+
deep: true,
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
mounted() {
|
|
305
|
+
this.init();
|
|
306
|
+
},
|
|
307
|
+
methods: {
|
|
308
|
+
async init() {
|
|
309
|
+
this.$set(this.form, "usedScope", "all");
|
|
310
|
+
let res = await axios.get(
|
|
311
|
+
`/api/aims/record/record-matching/1.0/matching-field-setting/3/2`,
|
|
312
|
+
{
|
|
313
|
+
usedAccountType: "THIRD_ACCOUNT",
|
|
314
|
+
},
|
|
315
|
+
);
|
|
316
|
+
this.dimensionsList = (res.data || []).map((item) => {
|
|
317
|
+
return {
|
|
318
|
+
...item,
|
|
319
|
+
disabled: ["unitName", "currencyName"].includes(item.fieldCode),
|
|
320
|
+
};
|
|
321
|
+
});
|
|
322
|
+
this.changeDimensions(this.form.dimensionsMergingList);
|
|
323
|
+
},
|
|
324
|
+
changeDimensions(val) {
|
|
325
|
+
if (!val || val.length === 0) return;
|
|
326
|
+
let temp = this.dimensionsList.filter((item) =>
|
|
327
|
+
val.includes(item.fieldCode),
|
|
328
|
+
);
|
|
329
|
+
this.$emit("changeDimensions", temp);
|
|
330
|
+
},
|
|
331
|
+
applyAccountChange(val) {
|
|
332
|
+
this.$emit("handleAccountChange", val);
|
|
333
|
+
},
|
|
334
|
+
handleBankChange(val) {
|
|
335
|
+
this.$set(
|
|
336
|
+
this.form,
|
|
337
|
+
"usedBanks",
|
|
338
|
+
val.map((item) => {
|
|
339
|
+
return {
|
|
340
|
+
bankCode: item.bankNo,
|
|
341
|
+
bankName: item.bankName,
|
|
342
|
+
};
|
|
343
|
+
}),
|
|
344
|
+
);
|
|
345
|
+
},
|
|
346
|
+
HandleRadioChange(val) {
|
|
347
|
+
this.$emit("radioChange", val);
|
|
348
|
+
},
|
|
349
|
+
extendInit() {
|
|
350
|
+
// this.$set(this.form, "refillBasis", 1);
|
|
351
|
+
},
|
|
352
|
+
applyRangeChange(val) {
|
|
353
|
+
if (val === "all") {
|
|
354
|
+
this.defaultSelect = [];
|
|
355
|
+
this.$nextTick(() => {
|
|
356
|
+
this.$refs.selectTreeUnitForm?.upDateShowValue(true);
|
|
357
|
+
});
|
|
358
|
+
this.$refs.formRef.clearValidate("cltNo");
|
|
359
|
+
this.$emit("unitOptions", []);
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
dataChange(val, type) {
|
|
363
|
+
if (!type) return;
|
|
364
|
+
this.form.usedUnits = [...val].map((item) => {
|
|
365
|
+
return {
|
|
366
|
+
unitNo: item.unitNo,
|
|
367
|
+
unitName: item.unitName,
|
|
368
|
+
treeNo: item.treeNo,
|
|
369
|
+
};
|
|
370
|
+
});
|
|
371
|
+
if (this.form.usedScope === "unit_and_sub") {
|
|
372
|
+
let unita = [];
|
|
373
|
+
flatData(val, unita);
|
|
374
|
+
let unitData = [];
|
|
375
|
+
unita.forEach((item) => {
|
|
376
|
+
if (!unitData.find((a) => a.unitNo === item.unitNo)) {
|
|
377
|
+
unitData.push(item);
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
this.$emit("unitOptions", [...unitData]);
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
this.$emit("unitOptions", [...val]);
|
|
384
|
+
},
|
|
385
|
+
async submit() {
|
|
386
|
+
await this.$refs.formRef.validate();
|
|
387
|
+
},
|
|
388
|
+
},
|
|
389
|
+
};
|
|
390
|
+
</script>
|