kz-ui-base 1.0.50 → 1.0.51
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/package.json +1 -1
- package/views/bd/customer/components/CustomerEditDialog.vue +1 -1
- package/views/bd/customer/components/customer-info-tab/AddressInfoTab.vue +91 -0
- package/views/bd/customer/components/customer-info-tab/BankInfoTab.vue +94 -0
- package/views/bd/customer/components/customer-info-tab/BaseInfoTab.vue +153 -0
- package/views/bd/customer/components/customer-info-tab/BusinessInfoTab.vue +150 -0
- package/views/bd/customer/components/customer-info-tab/ContactInfoTab.vue +103 -0
- package/views/bd/customer/components/customer-info-tab/SalesmanInfoTab.vue +87 -0
package/package.json
CHANGED
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
import BaseInfoTab from "./customer-info-tab/BaseInfoTab";
|
|
108
108
|
import BusinessInfoTab from "./customer-info-tab/BusinessInfoTab";
|
|
109
109
|
import BankInfoTab from "./customer-info-tab/BankInfoTab"
|
|
110
|
-
import ContactInfoTab from "
|
|
110
|
+
import ContactInfoTab from "./customer-info-tab/ContactInfoTab";
|
|
111
111
|
import AddressInfoTab from "./customer-info-tab/AddressInfoTab"
|
|
112
112
|
import SalesmanInfoTab from "./customer-info-tab/SalesmanInfoTab"
|
|
113
113
|
import {
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import {Component} from "vue-property-decorator";
|
|
3
|
+
import ListLocalDataPage from "@srcComponents/base/ListLocalDataPage";
|
|
4
|
+
|
|
5
|
+
@Component
|
|
6
|
+
export default class AddressInfoTab extends ListLocalDataPage {
|
|
7
|
+
//微服务模块名称
|
|
8
|
+
moduleName = "bd";
|
|
9
|
+
//实体名称-服务名称
|
|
10
|
+
serviceName = "Customeraddress";
|
|
11
|
+
// 列表列信息
|
|
12
|
+
listColumns = [
|
|
13
|
+
//{key: 0, label: "序号", visible: true},
|
|
14
|
+
{text: "地址编码", property: "addressNo"},
|
|
15
|
+
{text: "收件人", property: "addressee"},
|
|
16
|
+
{text: "移动电话", property: "telNo"},
|
|
17
|
+
{text: "邮编", property: "postalNo"},
|
|
18
|
+
{text: "地址", property: "address"},
|
|
19
|
+
{
|
|
20
|
+
text: "是否为收货地址", property: "isDefaultAddressee", setting: {
|
|
21
|
+
type: 'bool'
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
{text: "备注", property: "remark"},
|
|
25
|
+
];
|
|
26
|
+
// 列信息
|
|
27
|
+
editColumns = [
|
|
28
|
+
{text: "地址编码", property: "addressNo", displayType: "TextBox"},
|
|
29
|
+
{text: "收件人", property: "addressee", displayType: "TextBox"},
|
|
30
|
+
{text: "移动电话", property: "telNo", displayType: "TextBox"},
|
|
31
|
+
{text: "邮编", property: "postalNo", displayType: "TextBox"},
|
|
32
|
+
{text: "地址", property: "address", displayType: "TextBox"},
|
|
33
|
+
{
|
|
34
|
+
text: "是否为收货地址", property: "isDefaultAddressee", displayType: "DropDownList", setting: {
|
|
35
|
+
items: [
|
|
36
|
+
{text: "是", value: "1"},
|
|
37
|
+
{text: "否", value: "0"},
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
{text: "备注", property: "remark", displayType: "TextBox"},
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
// 表单校验
|
|
46
|
+
editRules = {
|
|
47
|
+
addressee: [
|
|
48
|
+
{required: true, message: "收件人不能为空", trigger: "blur"}
|
|
49
|
+
],
|
|
50
|
+
telNo: [
|
|
51
|
+
{required: true, message: "电话不能为空", trigger: "blur"}
|
|
52
|
+
],
|
|
53
|
+
postalNo: [
|
|
54
|
+
{required: true, message: "邮编不能为空", trigger: "blur"}
|
|
55
|
+
],
|
|
56
|
+
address: [
|
|
57
|
+
{required: true, message: "地址不能为空", trigger: "blur"}
|
|
58
|
+
],
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
opMenus = [
|
|
62
|
+
{
|
|
63
|
+
visable: true,
|
|
64
|
+
text: "添加",
|
|
65
|
+
icon: "el-icon-plus",
|
|
66
|
+
name: "add",
|
|
67
|
+
isShowText: false,
|
|
68
|
+
cssType: "primary",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
visable: true,
|
|
72
|
+
text: "修改",
|
|
73
|
+
icon: "el-icon-edit",
|
|
74
|
+
name: "update",
|
|
75
|
+
isShowText: false,
|
|
76
|
+
cssType: "success",
|
|
77
|
+
disabled: this.multiple || !this.currentEntity ,
|
|
78
|
+
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
visable: true,
|
|
82
|
+
text: "删除",
|
|
83
|
+
icon: "el-icon-delete",
|
|
84
|
+
name: "delete",
|
|
85
|
+
isShowText: false,
|
|
86
|
+
cssType: "danger",
|
|
87
|
+
disabled: !!this.currentEntity,
|
|
88
|
+
}
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
</script>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import {Component} from "vue-property-decorator";
|
|
3
|
+
import ListLocalDataPage from "@srcComponents/base/ListLocalDataPage";
|
|
4
|
+
|
|
5
|
+
@Component
|
|
6
|
+
export default class BandInfoTab extends ListLocalDataPage {
|
|
7
|
+
//微服务模块名称
|
|
8
|
+
moduleName = "bd";
|
|
9
|
+
//实体名称-服务名称
|
|
10
|
+
serviceName = "customerbank";
|
|
11
|
+
// 列表列信息
|
|
12
|
+
listColumns = [
|
|
13
|
+
//{key: 0, label: "序号", visible: true},
|
|
14
|
+
{text: "开户国家", property: "countryCode"},
|
|
15
|
+
{text: "开户银行", property: "bankName"},
|
|
16
|
+
{text: "银行账户", property: "bankAccount"},
|
|
17
|
+
{text: "账户名称", property: "accountName"},
|
|
18
|
+
{text: "币种ID", property: "currencyId"},
|
|
19
|
+
{
|
|
20
|
+
text: "是否默认账户", property: "isDefaultAccount", setting: {
|
|
21
|
+
type: "bool"
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
{text: "备注", property: "remark"},
|
|
25
|
+
];
|
|
26
|
+
// 列信息
|
|
27
|
+
editColumns = [
|
|
28
|
+
{
|
|
29
|
+
text: "开户国家", property: "countryCode", displayType: "DropDownList",
|
|
30
|
+
setting: {
|
|
31
|
+
dictType: "country_code",
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{text: "开户银行", property: "bankName", displayType: "TextBox"},
|
|
35
|
+
{text: "银行账户", property: "bankAccount", displayType: "TextBox"},
|
|
36
|
+
{text: "账户名称", property: "accountName", displayType: "TextBox"},
|
|
37
|
+
{
|
|
38
|
+
text: "是否默认账户", property: "isDefaultAccount", displayType: "DropDownList", setting: {
|
|
39
|
+
items: [
|
|
40
|
+
{text: "是", value: "1"},
|
|
41
|
+
{text: "否", value: "0"},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
{text: "备注", property: "remark", displayType: "TextBox"},
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
// 表单校验
|
|
50
|
+
editRules = {
|
|
51
|
+
countryCode: [
|
|
52
|
+
{required: true, message: "开户国家不能为空", trigger: "blur"}
|
|
53
|
+
],
|
|
54
|
+
bankName: [
|
|
55
|
+
{required: true, message: "开户银行不能为空", trigger: "blur"}
|
|
56
|
+
],
|
|
57
|
+
bankAccount: [
|
|
58
|
+
{required: true, message: "银行账户不能为空", trigger: "blur"}
|
|
59
|
+
],
|
|
60
|
+
accountName: [
|
|
61
|
+
{required: true, message: "账户名称不能为空", trigger: "blur"}
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
opMenus = [
|
|
65
|
+
{
|
|
66
|
+
visable: true,
|
|
67
|
+
text: "添加",
|
|
68
|
+
icon: "el-icon-plus",
|
|
69
|
+
name: "add",
|
|
70
|
+
isShowText: false,
|
|
71
|
+
cssType: "primary",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
visable: true,
|
|
75
|
+
text: "修改",
|
|
76
|
+
icon: "el-icon-edit",
|
|
77
|
+
name: "update",
|
|
78
|
+
isShowText: false,
|
|
79
|
+
cssType: "success",
|
|
80
|
+
disabled: this.multiple || !this.currentEntity ,
|
|
81
|
+
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
visable: true,
|
|
85
|
+
text: "删除",
|
|
86
|
+
icon: "el-icon-delete",
|
|
87
|
+
name: "delete",
|
|
88
|
+
isShowText: false,
|
|
89
|
+
cssType: "danger",
|
|
90
|
+
disabled: !!this.currentEntity,
|
|
91
|
+
}
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
</script>
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="height: 100%; overflow: auto;">
|
|
3
|
+
<el-form v-model="customerInfo" :model="customerInfo" label-width="100px" size="mini" :rules="rules" style="display: flex; height: 100%;
|
|
4
|
+
align-content: space-around;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
flex-wrap: wrap;"
|
|
7
|
+
ref="form">
|
|
8
|
+
<el-form-item label="国家" prop="countryCode" style="width: 250px">
|
|
9
|
+
<dict-select v-model="customerInfo.countryCode" dict-type="country_code"
|
|
10
|
+
placeholder="请选择国家"></dict-select>
|
|
11
|
+
</el-form-item>
|
|
12
|
+
<el-form-item label="地区" prop="areaCode" style="width: 250px">
|
|
13
|
+
<dict-select v-model="customerInfo.areaCode" dict-type="area_code" placeholder="请选择地区"></dict-select>
|
|
14
|
+
</el-form-item>
|
|
15
|
+
<el-form-item label="省份" prop="provinceCode" style="width: 250px">
|
|
16
|
+
<dict-select v-model="customerInfo.provinceCode" dict-type="province_code"></dict-select>
|
|
17
|
+
</el-form-item>
|
|
18
|
+
<el-form-item label="城市" prop="cityCode" style="width: 250px">
|
|
19
|
+
<dict-select v-model="customerInfo.cityCode" dict-type="city_code"></dict-select>
|
|
20
|
+
</el-form-item>
|
|
21
|
+
<el-form-item label="电话" prop="telNo" style="width: 250px">
|
|
22
|
+
<el-input v-model="customerInfo.telNo"></el-input>
|
|
23
|
+
</el-form-item>
|
|
24
|
+
<el-form-item label="传真" prop="faxNo" style="width: 250px">
|
|
25
|
+
<el-input v-model="customerInfo.faxNo"></el-input>
|
|
26
|
+
</el-form-item>
|
|
27
|
+
<el-form-item label="邮编" prop="postalNo" style="width: 250px">
|
|
28
|
+
<el-input v-model="customerInfo.postalNo"></el-input>
|
|
29
|
+
</el-form-item>
|
|
30
|
+
<el-form-item label="地址" prop="address" style="width: 250px">
|
|
31
|
+
<el-input v-model="customerInfo.address"></el-input>
|
|
32
|
+
</el-form-item>
|
|
33
|
+
<el-form-item label="网址" prop="url" style="width: 250px">
|
|
34
|
+
<el-input v-model="customerInfo.url"></el-input>
|
|
35
|
+
</el-form-item>
|
|
36
|
+
<el-form-item label="纳税登记号" prop="taxRegistrationNo" style="width: 250px">
|
|
37
|
+
<el-input v-model="customerInfo.taxRegistrationNo"></el-input>
|
|
38
|
+
</el-form-item>
|
|
39
|
+
<el-form-item label="发票识别号" prop="invoiceIdentifyNo" style="width: 250px">
|
|
40
|
+
<el-input v-model="customerInfo.invoiceIdentifyNo"></el-input>
|
|
41
|
+
</el-form-item>
|
|
42
|
+
<el-form-item label="创立日期" prop="creationDate" style="width: 250px">
|
|
43
|
+
<el-date-picker
|
|
44
|
+
v-model="customerInfo.creationDate"
|
|
45
|
+
type="date"
|
|
46
|
+
placeholder="创立日期"
|
|
47
|
+
value-format="yyyy-MM-dd">
|
|
48
|
+
</el-date-picker>
|
|
49
|
+
</el-form-item>
|
|
50
|
+
<el-form-item label="注册资本" prop="registeredCapital" style="width: 250px">
|
|
51
|
+
<el-input v-model="customerInfo.registeredCapital"></el-input>
|
|
52
|
+
</el-form-item>
|
|
53
|
+
<el-form-item label="公司类别" prop="companyCategoryCode" style="width: 250px" placeholder="请选择公司类别">
|
|
54
|
+
<dict-select v-model="customerInfo.companyCategoryCode" dict-type="company_category_code"></dict-select>
|
|
55
|
+
</el-form-item>
|
|
56
|
+
<el-form-item label="公司性质" prop="companyNatureCode" style="width: 250px" placeholder="请选择公司性质">
|
|
57
|
+
<dict-select v-model="customerInfo.companyNatureCode" dict-type="company_nature_code"></dict-select>
|
|
58
|
+
</el-form-item>
|
|
59
|
+
<el-form-item label="公司规模" prop="companySizeCode" style="width: 250px" placeholder="请选择公司规模">
|
|
60
|
+
<dict-select v-model="customerInfo.companySizeCode" dict-type="company_size_code"></dict-select>
|
|
61
|
+
</el-form-item>
|
|
62
|
+
<el-form-item label="所属行业" prop="customerIndustryId" style="width: 250px">
|
|
63
|
+
<el-cascader
|
|
64
|
+
v-model="customerInfo.customerIndustryId"
|
|
65
|
+
:options="customerIndustryOptions"
|
|
66
|
+
:props="{ checkStrictly: true, emitPath: false , label: 'name', value: 'id', multiple: false}"
|
|
67
|
+
:show-all-levels="false"
|
|
68
|
+
style="width: 100%"
|
|
69
|
+
clearable
|
|
70
|
+
></el-cascader>
|
|
71
|
+
</el-form-item>
|
|
72
|
+
<el-form-item label="所属区域" prop="customerAreaId" style="width: 250px">
|
|
73
|
+
<el-cascader
|
|
74
|
+
v-model="customerInfo.customerAreaId"
|
|
75
|
+
:options="customerAreaOptions"
|
|
76
|
+
:props="{ checkStrictly: true, emitPath: false , label: 'name', value: 'id', multiple: false}"
|
|
77
|
+
:show-all-levels="false"
|
|
78
|
+
style="width: 100%"
|
|
79
|
+
clearable
|
|
80
|
+
></el-cascader>
|
|
81
|
+
</el-form-item>
|
|
82
|
+
<el-form-item label="国内外区分" prop="homeabroadTypeCode" style="width: 250px" placeholder="请选择国内外区分">
|
|
83
|
+
<dict-select v-model="customerInfo.homeabroadTypeCode" dict-type="homeabroad_type_code"></dict-select>
|
|
84
|
+
</el-form-item>
|
|
85
|
+
<el-form-item label="经营状况" prop="businessStatus" style="width: 250px">
|
|
86
|
+
<el-input v-model="customerInfo.businessStatus"></el-input>
|
|
87
|
+
</el-form-item>
|
|
88
|
+
<el-form-item label="社会信用代码" prop="uniformSocialCreditNo" style="width: 250px">
|
|
89
|
+
<el-input v-model="customerInfo.uniformSocialCreditNo"></el-input>
|
|
90
|
+
</el-form-item>
|
|
91
|
+
<el-form-item label="法人代表" prop="legalRepresentative" style="width: 250px">
|
|
92
|
+
<el-input v-model="customerInfo.legalRepresentative"></el-input>
|
|
93
|
+
</el-form-item>
|
|
94
|
+
</el-form>
|
|
95
|
+
</div>
|
|
96
|
+
</template>
|
|
97
|
+
<script>
|
|
98
|
+
import DictSelect from "@srcComponents/selector/DictSelect";
|
|
99
|
+
import {areaTreeSelect} from "@srcApi/bd/customerArea";
|
|
100
|
+
import {industryTreeSelect} from "@srcApi/bd/customerIndustry";
|
|
101
|
+
|
|
102
|
+
export default {
|
|
103
|
+
name: "BaseInfoTab",
|
|
104
|
+
components: {DictSelect},
|
|
105
|
+
props: {
|
|
106
|
+
customerInfo: {
|
|
107
|
+
type: Object,
|
|
108
|
+
default: function () {
|
|
109
|
+
return {}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
methods: {
|
|
114
|
+
getCascaderOptions() {
|
|
115
|
+
areaTreeSelect().then(response => {
|
|
116
|
+
this.customerAreaOptions = response.data.length
|
|
117
|
+
? this.cleanEmptyChildProp({children: response.data}).children
|
|
118
|
+
: [];
|
|
119
|
+
});
|
|
120
|
+
industryTreeSelect().then(response => {
|
|
121
|
+
this.customerIndustryOptions = response.data.length
|
|
122
|
+
? this.cleanEmptyChildProp({children: response.data}).children
|
|
123
|
+
: [];
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
cleanEmptyChildProp(node) {
|
|
127
|
+
if (node != null) {
|
|
128
|
+
if (node.children && node.children.length === 0) {
|
|
129
|
+
delete node.children;
|
|
130
|
+
return node;
|
|
131
|
+
}
|
|
132
|
+
for (let child of node.children) {
|
|
133
|
+
this.cleanEmptyChildProp(child);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return node;
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
data: function () {
|
|
140
|
+
return {
|
|
141
|
+
rules: {homeabroadTypeCode: [{required: true, message: "国内外区分不可为空", trigger: "blur"}]},
|
|
142
|
+
customerAreaOptions: [],
|
|
143
|
+
customerIndustryOptions: []
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
created() {
|
|
147
|
+
this.getCascaderOptions();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
</script>
|
|
151
|
+
<style scoped>
|
|
152
|
+
|
|
153
|
+
</style>
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="height: 100%; overflow: auto">
|
|
3
|
+
<el-form v-model="customerInfo" :model="customerInfo" :rules="rules" label-width="100px" size="mini" ref="form">
|
|
4
|
+
<el-row>
|
|
5
|
+
<el-col :span="8">
|
|
6
|
+
<el-form-item label="客户等级" prop="customerGradeCode" style="width: 250px">
|
|
7
|
+
<dict-select v-model="customerInfo.customerGradeCode" dict-type="customer_grade_code"
|
|
8
|
+
placeholder="请选择客户等级"></dict-select>
|
|
9
|
+
</el-form-item>
|
|
10
|
+
<el-form-item label="销售类型" prop="salesTypeCode" style="width: 250px">
|
|
11
|
+
<dict-select v-model="customerInfo.salesTypeCode" dict-type="sales_type_code"
|
|
12
|
+
placeholder="请选择销售类型"></dict-select>
|
|
13
|
+
</el-form-item>
|
|
14
|
+
<el-form-item label="负责销售组织" prop="salesSiteId" style="width: 250px">
|
|
15
|
+
<entity-select v-model="customerInfo.salesSiteId"
|
|
16
|
+
module-name="fd"
|
|
17
|
+
service-name="site"
|
|
18
|
+
value-prop="id"
|
|
19
|
+
disp-prop="componentName"
|
|
20
|
+
placeholder="请选择负责销售组织"
|
|
21
|
+
></entity-select>
|
|
22
|
+
</el-form-item>
|
|
23
|
+
<el-form-item label="对应组织" prop="correspondingSiteId" style="width: 250px">
|
|
24
|
+
<entity-select v-model="customerInfo.correspondingSiteId"
|
|
25
|
+
module-name="fd"
|
|
26
|
+
service-name="site"
|
|
27
|
+
value-prop="id"
|
|
28
|
+
disp-prop="componentName"
|
|
29
|
+
placeholder="请选择对应组织"
|
|
30
|
+
></entity-select>
|
|
31
|
+
</el-form-item>
|
|
32
|
+
</el-col>
|
|
33
|
+
|
|
34
|
+
<el-col :span="16">
|
|
35
|
+
<el-form-item label="关联供应商" prop="relatedVendorId" style="width: 410px;">
|
|
36
|
+
<input-entity-lookup service-name="vendor"
|
|
37
|
+
module-name="bd"
|
|
38
|
+
name-prop="vendorName"
|
|
39
|
+
no-prop="vendorNo"
|
|
40
|
+
:modal="VendorModal"
|
|
41
|
+
:setting="vendorLookUpSetting"
|
|
42
|
+
v-model="customerInfo.relatedVendorId"
|
|
43
|
+
></input-entity-lookup>
|
|
44
|
+
</el-form-item>
|
|
45
|
+
<el-form-item label="结算方" prop="billtoCustomerId" style="width: 410px;">
|
|
46
|
+
<input-entity-lookup service-name="customer"
|
|
47
|
+
module-name="bd"
|
|
48
|
+
name-prop="customerName"
|
|
49
|
+
no-prop="customerNo"
|
|
50
|
+
:modal="CustomerModal"
|
|
51
|
+
v-model="customerInfo.billtoCustomerId"
|
|
52
|
+
></input-entity-lookup>
|
|
53
|
+
</el-form-item>
|
|
54
|
+
<el-form-item label="付款方" prop="payerCustomerId" style="width: 410px">
|
|
55
|
+
|
|
56
|
+
<input-entity-lookup service-name="customer"
|
|
57
|
+
module-name="bd"
|
|
58
|
+
name-prop="customerName"
|
|
59
|
+
no-prop="customerNo"
|
|
60
|
+
:modal="CustomerModal"
|
|
61
|
+
v-model="customerInfo.payerCustomerId"
|
|
62
|
+
></input-entity-lookup>
|
|
63
|
+
</el-form-item>
|
|
64
|
+
<el-form-item label="上级客户" prop="parentCustomerId" style="width: 410px">
|
|
65
|
+
|
|
66
|
+
<input-entity-lookup service-name="customer"
|
|
67
|
+
module-name="bd"
|
|
68
|
+
name-prop="customerName"
|
|
69
|
+
no-prop="customerNo"
|
|
70
|
+
:modal="CustomerModal"
|
|
71
|
+
v-model="customerInfo.parentCustomerId"
|
|
72
|
+
></input-entity-lookup>
|
|
73
|
+
</el-form-item>
|
|
74
|
+
<el-form-item label="结算币种" prop="settlementCurrencyId" style="width: 250px">
|
|
75
|
+
<entity-select v-model="customerInfo.settlementCurrencyId" module-name="bd" service-name="currency" disp-prop="currencyName" placeholder="请选择币种"></entity-select>
|
|
76
|
+
</el-form-item>
|
|
77
|
+
<el-form-item label="结算方式" prop="settlementMethodId" style="width: 250px">
|
|
78
|
+
<entity-select v-model="customerInfo.settlementMethodId"
|
|
79
|
+
module-name="bd"
|
|
80
|
+
service-name="settlementmethod"
|
|
81
|
+
disp-prop="settlementMethodName"
|
|
82
|
+
placeholder="请选择结算方式"
|
|
83
|
+
></entity-select>
|
|
84
|
+
</el-form-item>
|
|
85
|
+
<el-form-item label="纳税分类" prop="taxClassCode" style="width: 250px">
|
|
86
|
+
<dict-select v-model="customerInfo.taxClassCode" dict-type="tax_class_code"
|
|
87
|
+
placeholder="请选择纳税分类"></dict-select>
|
|
88
|
+
</el-form-item>
|
|
89
|
+
<el-form-item label="发票类型" prop="invoiceTypeCode" style="width: 250px">
|
|
90
|
+
<dict-select v-model="customerInfo.invoiceTypeCode" dict-type="invoice_type_code"
|
|
91
|
+
placeholder="请选择发票类型"></dict-select>
|
|
92
|
+
</el-form-item>
|
|
93
|
+
<el-form-item label="税率类型" prop="taxrateTypeCode" style="width: 250px">
|
|
94
|
+
<dict-select v-model="customerInfo.taxrateTypeCode" dict-type="taxrate_type_code"
|
|
95
|
+
placeholder="请选择税率类型"></dict-select>
|
|
96
|
+
</el-form-item>
|
|
97
|
+
<el-form-item label="收款协议" prop="collectionAgreementId" style="width: 250px">
|
|
98
|
+
<entity-select v-model="customerInfo.collectionAgreementId"
|
|
99
|
+
module-name="bd"
|
|
100
|
+
service-name="collectionagreement"
|
|
101
|
+
value-prop="id"
|
|
102
|
+
disp-prop="collectionAgreementName"
|
|
103
|
+
placeholder="请选择收款协议"
|
|
104
|
+
></entity-select>
|
|
105
|
+
</el-form-item>
|
|
106
|
+
</el-col>
|
|
107
|
+
</el-row>
|
|
108
|
+
</el-form>
|
|
109
|
+
</div>
|
|
110
|
+
</template>
|
|
111
|
+
<script>
|
|
112
|
+
import DictSelect from "@srcComponents/selector/DictSelect";
|
|
113
|
+
import EntitySelect from "@srcComponents/selector/EntitySelect";
|
|
114
|
+
import InputEntityLookup from "@srcComponents/selector/InputEntityLookup";
|
|
115
|
+
import CustomerModal from "@srcViews/bd/common/modal/CustomerModal";
|
|
116
|
+
import VendorModal from "@srcViews/bd/common/modal/VendorModal";
|
|
117
|
+
|
|
118
|
+
export default {
|
|
119
|
+
name: "BusinessInfoTab",
|
|
120
|
+
components: {DictSelect, EntitySelect, InputEntityLookup},
|
|
121
|
+
data: function (){
|
|
122
|
+
return{
|
|
123
|
+
CustomerModal,
|
|
124
|
+
VendorModal,
|
|
125
|
+
rules: {
|
|
126
|
+
customerGradeCode: [{required: true, trigger: "blur", message: "客户等级不可为空"}],
|
|
127
|
+
salesTypeCode: [{required: true, trigger: "blur", message: "销售类型不可为空"}],
|
|
128
|
+
settlementCurrencyId: [{required: true, trigger: "blur", message: "纳税分类不可为空"}],
|
|
129
|
+
settlementMethodId: [{required: true, trigger: "blur", message: "结算方式不可为空"}],
|
|
130
|
+
taxrateTypeCode: [{required: true, trigger: "blur", message: "税率类型不可为空"}],
|
|
131
|
+
},
|
|
132
|
+
vendorLookUpSetting: {
|
|
133
|
+
title: "供应商",
|
|
134
|
+
width: "1200px"
|
|
135
|
+
},
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
props: {
|
|
139
|
+
customerInfo: {
|
|
140
|
+
type: Object,
|
|
141
|
+
default: function () {
|
|
142
|
+
return {}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
}
|
|
147
|
+
</script>
|
|
148
|
+
<style scoped>
|
|
149
|
+
|
|
150
|
+
</style>
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import {Component} from "vue-property-decorator";
|
|
3
|
+
import ListLocalDataPage from "@srcComponents/base/ListLocalDataPage";
|
|
4
|
+
@Component
|
|
5
|
+
export default class ContactInfoTab extends ListLocalDataPage {
|
|
6
|
+
//微服务模块名称
|
|
7
|
+
moduleName = "bd";
|
|
8
|
+
//实体名称-服务名称
|
|
9
|
+
serviceName = "Customercontacts";
|
|
10
|
+
// 列表列信息
|
|
11
|
+
listColumns = [
|
|
12
|
+
//{key: 0, label: "序号", visible: true},
|
|
13
|
+
{text: "姓名", property: "contactName"},
|
|
14
|
+
{text: "性别", property: "sexCode",setting: {
|
|
15
|
+
dictType: "sex_code",
|
|
16
|
+
}},
|
|
17
|
+
{text: "职务", property: "titleDesc"},
|
|
18
|
+
{text: "移动电话", property: "mobilePhone"},
|
|
19
|
+
{text: "固定电话", property: "fixedTelephone"},
|
|
20
|
+
{text: "传真", property: "faxNo"},
|
|
21
|
+
{text: "邮箱", property: "email"},
|
|
22
|
+
{text: "地址", property: "address"},
|
|
23
|
+
{
|
|
24
|
+
text: "是否为收货地址", property: "isShippingAddress",
|
|
25
|
+
setting: {
|
|
26
|
+
type: "bool"
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
{text: "备注", property: "remark"},
|
|
30
|
+
];
|
|
31
|
+
// 列信息
|
|
32
|
+
editColumns = [
|
|
33
|
+
{text: "姓名", property: "contactName", displayType: "TextBox"},
|
|
34
|
+
{
|
|
35
|
+
text: "性别", property: "sexCode", displayType: "DropDownList",
|
|
36
|
+
setting: {
|
|
37
|
+
dictType: "sex_code",
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{text: "职务", property: "titleDesc", displayType: "TextBox"},
|
|
41
|
+
{text: "移动电话", property: "mobilePhone", displayType: "TextBox"},
|
|
42
|
+
{text: "固定电话", property: "fixedTelephone", displayType: "TextBox"},
|
|
43
|
+
{text: "传真", property: "faxNo", displayType: "TextBox"},
|
|
44
|
+
{text: "邮箱", property: "email", displayType: "TextBox"},
|
|
45
|
+
{text: "地址", property: "address", displayType: "TextBox"},
|
|
46
|
+
{
|
|
47
|
+
text: "是否收货地址", property: "isShippingAddress", displayType: "DropDownList",
|
|
48
|
+
setting: {
|
|
49
|
+
items: [
|
|
50
|
+
{text: "是", value: "1"},
|
|
51
|
+
{text: "否", value: "0"},
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{text: "备注", property: "remark", displayType: "TextBox"},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
// 表单校验
|
|
59
|
+
editRules = {
|
|
60
|
+
contactName: [
|
|
61
|
+
{required: true, message: "姓名不能为空", trigger: "blur"}
|
|
62
|
+
],
|
|
63
|
+
titleDesc: [
|
|
64
|
+
{required: true, message: "职务不能为空", trigger: "blur"}
|
|
65
|
+
],
|
|
66
|
+
sexCode: [
|
|
67
|
+
{required: true, message: "性别不能为空", trigger: "blur"}
|
|
68
|
+
],
|
|
69
|
+
isShippingAddress: [
|
|
70
|
+
{required: true, message: "是否为收货地址不能为空", trigger: "blur"}
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
opMenus = [
|
|
74
|
+
{
|
|
75
|
+
visable: true,
|
|
76
|
+
text: "添加",
|
|
77
|
+
icon: "el-icon-plus",
|
|
78
|
+
name: "add",
|
|
79
|
+
isShowText: false,
|
|
80
|
+
cssType: "primary",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
visable: true,
|
|
84
|
+
text: "修改",
|
|
85
|
+
icon: "el-icon-edit",
|
|
86
|
+
name: "update",
|
|
87
|
+
isShowText: false,
|
|
88
|
+
cssType: "success",
|
|
89
|
+
disabled: this.multiple || !this.currentEntity ,
|
|
90
|
+
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
visable: true,
|
|
94
|
+
text: "删除",
|
|
95
|
+
icon: "el-icon-delete",
|
|
96
|
+
name: "delete",
|
|
97
|
+
isShowText: false,
|
|
98
|
+
cssType: "danger",
|
|
99
|
+
disabled: !!this.currentEntity,
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
</script>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import {Component} from "vue-property-decorator";
|
|
3
|
+
import ListLocalDataPage from "@srcComponents/base/ListLocalDataPage";
|
|
4
|
+
|
|
5
|
+
@Component
|
|
6
|
+
export default class SalesmanInfoTab extends ListLocalDataPage {
|
|
7
|
+
//微服务模块名称
|
|
8
|
+
moduleName = "bd";
|
|
9
|
+
//实体名称-服务名称
|
|
10
|
+
serviceName = "Customersalesman";
|
|
11
|
+
// 列表列信息
|
|
12
|
+
listColumns = [
|
|
13
|
+
//{key: 0, label: "序号", visible: true},
|
|
14
|
+
{text: "员工编号", property: "employeeNo"},
|
|
15
|
+
{text: "员工姓名", property: "employeeName"},
|
|
16
|
+
{text: "备注", property: "remark"},
|
|
17
|
+
];
|
|
18
|
+
// 列信息
|
|
19
|
+
editColumns = [
|
|
20
|
+
{
|
|
21
|
+
text: "员工选择", property: "employeeId", displayType: "DropDownList",
|
|
22
|
+
setting: {
|
|
23
|
+
url: "/bd/employee/list",
|
|
24
|
+
//指定显示字段和取值字段
|
|
25
|
+
displayField: "employeeName",
|
|
26
|
+
valueField: "id"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{text: "备注", property: "remark", displayType: "TextBox"},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
// 表单校验
|
|
33
|
+
editRules = {
|
|
34
|
+
employeeId: [
|
|
35
|
+
{required: true, message: "员工不可为空", trigger: "blur"}
|
|
36
|
+
],
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
opMenus = [
|
|
40
|
+
{
|
|
41
|
+
visable: true,
|
|
42
|
+
text: "添加",
|
|
43
|
+
icon: "el-icon-plus",
|
|
44
|
+
name: "add",
|
|
45
|
+
isShowText: false,
|
|
46
|
+
cssType: "primary",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
visable: true,
|
|
50
|
+
text: "修改",
|
|
51
|
+
icon: "el-icon-edit",
|
|
52
|
+
name: "update",
|
|
53
|
+
isShowText: false,
|
|
54
|
+
cssType: "success",
|
|
55
|
+
disabled: this.multiple || !this.currentEntity ,
|
|
56
|
+
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
visable: true,
|
|
60
|
+
text: "删除",
|
|
61
|
+
icon: "el-icon-delete",
|
|
62
|
+
name: "delete",
|
|
63
|
+
isShowText: false,
|
|
64
|
+
cssType: "danger",
|
|
65
|
+
disabled: !!this.currentEntity,
|
|
66
|
+
}
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
onChangeEvent(args) {
|
|
70
|
+
if (args.property !== "employeeId") {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (args.value && args.value.length > 0) {
|
|
74
|
+
for (let row of args.objList) {
|
|
75
|
+
if (args.data.employeeId === row.id) {
|
|
76
|
+
this.currentEntity.employeeNo = row.employeeNo;
|
|
77
|
+
this.currentEntity.employeeName = row.employeeName;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
} else {
|
|
82
|
+
this.currentEntity.employeeNo = '';
|
|
83
|
+
this.currentEntity.employeeName = '';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
</script>
|