1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
| import { reactive } from "vue";
| import type { FormRules } from "element-plus";
| import { isPhone, isEmail } from "@pureadmin/utils";
|
| /** 自定义表单规则校验 */
| export const formRules = reactive(<FormRules>{
| // 项目编号(必填)
| projectCode: [
| { required: true, message: "请输入项目编号", trigger: "blur" },
| { max: 50, message: "项目编号长度不能超过50个字符", trigger: "blur" }
| ],
| // 项目名称(必填)
| projectName: [
| { required: true, message: "请输入项目名称", trigger: "blur" },
| { max: 200, message: "项目名称长度不能超过200个字符", trigger: "blur" }
| ],
| // 行业品目(可选,但选择时需校验)
| hangyepinmu: [
| { required: true, message: "请选择行业品目", trigger: "blur" },
| { type: "string", message: "行业品目格式不正确", trigger: "change" }
| ],
| // 采购方式(可选,但选择时需校验)
| caigoufangshi: [
| { required: true, message: "请选择采购方式", trigger: "blur" },
| { type: "string", message: "采购方式格式不正确", trigger: "change" }
| ],
| // 采购预算(可选,需为数字)
| caigouyusuan: [
| { required: true, message: "请输入采购预算", trigger: "blur" },
| { type: "number", message: "采购预算必须为数字", trigger: "blur" },
| { min: 0, message: "采购预算不能为负数", trigger: "blur" }
| ],
| // 定标规则(可选)
| dingbiaoguize: [
| { required: true, message: "请选择定标规则", trigger: "blur" },
| { type: "string", message: "定标规则格式不正确", trigger: "change" }
| ],
| // 报名费(可选,需为数字)
| baomingfei: [
| { required: true, message: "请输入报名费", trigger: "blur" },
| { type: "number", message: "报名费必须为数字", trigger: "blur" },
| { min: 0, message: "报名费不能为负数", trigger: "blur" }
| ],
| // 投标保证金(可选,需为数字)
| toubiaobaozhengjin: [
| { required: true, message: "请输入投标保证金费", trigger: "blur" },
| { type: "number", message: "投标保证金必须为数字", trigger: "blur" },
| { min: 0, message: "投标保证金不能为负数", trigger: "blur" }
| ],
| // 联合体投标(可选,需为布尔值)
| lianhetitoubiao: [
| { required: true, message: "请选择联合体投标", trigger: "blur" }
| // { type: "boolean", message: "联合体投标必须为布尔值", trigger: "change" }
| ],
| // 开标方式(可选)
| kaibiaofangshi: [
| { required: true, message: "请选择开标方式", trigger: "blur" }
| // { type: "string", message: "开标方式格式不正确", trigger: "change" }
| ],
| // 是否分包(可选,需为布尔值)
| shifoufenbao: [
| { required: true }
| // { type: "boolean", message: "是否分包必须为布尔值", trigger: "change" }
| ],
| // 是否推送宣传(可选,需为布尔值)
| shifoutuisongxuanchuan: [
| { required: true }
| // { type: "boolean", message: "是否推送宣传必须为布尔值", trigger: "change" }
| ],
| // 采购人名称(可选)
| caigourenmingcheng: [
| { required: true, message: "请输入采购人名称", trigger: "blur" },
| { max: 100, message: "采购人名称长度不能超过100个字符", trigger: "blur" }
| ],
| // 行政区域(可选,需为数组)
| xingzhengquyu: [
| { required: true, message: "请选择行政区域", trigger: "blur" },
| { type: "array", message: "行政区域必须为数组格式", trigger: "change" }
| ],
| // 行政区域名称(可选)
| xingzhengquyuName: [
| { required: false },
| { max: 100, message: "行政区域名称长度不能超过100个字符", trigger: "blur" }
| ],
| // 机构代码(可选,验证格式)
| jigoudaima: [
| { required: true, message: "请输入机构代码", trigger: "blur" },
| {
| pattern: /^[A-Z0-9]{8}-[A-Z0-9]{1}$/,
| message: "机构代码格式不正确",
| trigger: "blur"
| }
| ],
| // 代码类型(可选)
| daimaleixing: [
| { required: true, message: "请选择代码类型", trigger: "blur" },
| { type: "string", message: "代码类型格式不正确", trigger: "change" }
| ],
| // 联系人(可选)
| lianxiren: [
| { required: true, message: "请输入联系人", trigger: "blur" },
| { max: 50, message: "联系人姓名长度不能超过50个字符", trigger: "blur" }
| ],
| // 联系电话(可选,验证手机号格式)
| lianxidianhua: [
| { required: true, message: "请输入联系人电话", trigger: "blur" },
| {
| pattern: /^1[3-9]\d{9}$/,
| message: "请输入正确的手机号码",
| trigger: "blur"
| }
| ],
| // 通信地址(可选)
| tongxindizhi: [
| { required: true, message: "请输入通信地址", trigger: "blur" },
| { max: 200, message: "通信地址长度不能超过200个字符", trigger: "blur" }
| ],
| // 电子邮件(可选,验证邮箱格式)
| dianziyoujian: [
| { required: true, message: "请输入电子邮件", trigger: "blur" },
| { type: "email", message: "请输入正确的邮箱地址", trigger: "blur" }
| ],
| // 项目经办人(可选)
| xiangmujingbanren: [
| { required: true, message: "请输入项目经办人", trigger: "blur" },
| { max: 50, message: "项目经办人姓名长度不能超过50个字符", trigger: "blur" }
| ],
| // 职务(可选)
| zhiwu: [
| { required: true, message: "请输入职务", trigger: "blur" },
| { max: 50, message: "职务名称长度不能超过50个字符", trigger: "blur" }
| ],
| // 经办人电话(可选,验证手机号格式)
| jingbanrendianhua: [
| { required: true, message: "请输入经办人电话", trigger: "blur" },
| {
| pattern: /^1[3-9]\d{9}$/,
| message: "请输入正确的手机号码",
| trigger: "blur"
| }
| ],
| // 代理机构名称(可选)
| dailijigoumingcheng: [
| { required: true, message: "请输入代理机构名称", trigger: "blur" },
| { max: 100, message: "代理机构名称长度不能超过100个字符", trigger: "blur" }
| ],
| // 代理机构联系人(可选)
| dailiLianxiren: [
| { required: true, message: "请输入联系人", trigger: "blur" },
| {
| max: 50,
| message: "联系人姓名长度不能超过50个字符",
| trigger: "blur"
| }
| ],
| // 代理机构联系电话(可选,验证手机号格式)
| dailiLianxidianhua: [
| { required: true, message: "请输入联系电话", trigger: "blur" },
| {
| pattern: /^1[3-9]\d{9}$/,
| message: "请输入正确的手机号码",
| trigger: "blur"
| }
| ],
| // 代理机构电子邮件(可选,验证邮箱格式)
| dailiDianziyoujian: [
| { required: true, message: "请输入电子邮件", trigger: "blur" },
| { type: "email", message: "请输入正确的邮箱地址", trigger: "blur" },
| {
| validator: (rule, value, callback) => {
| if (value === "") {
| callback();
| } else if (!isEmail(value)) {
| callback(new Error("请输入正确的邮箱格式"));
| } else {
| callback();
| }
| },
| trigger: "blur"
| }
| ],
| // 代理机构通信地址(可选)
| dailiTongxindizhi: [
| { required: true, message: "请输入通信地址", trigger: "blur" },
| {
| max: 200,
| message: "通信地址长度不能超过200个字符",
| trigger: "blur"
| }
| ],
| // 代理机构项目经理(可选)
| dailiXiangmujingli: [
| { required: true, message: "请输入项目经理", trigger: "blur" },
| {
| max: 50,
| message: "项目经理姓名长度不能超过50个字符",
| trigger: "blur"
| }
| ],
| // 代理机构项目经理联系电话(可选,验证手机号格式)
| dailijingliLianxidianhua: [
| { required: true, message: "请输入联系电话", trigger: "blur" },
| {
| pattern: /^1[3-9]\d{9}$/,
| message: "请输入正确的手机号码",
| trigger: "blur"
| },
| {
| validator: (rule, value, callback) => {
| if (value === "") {
| callback();
| } else if (!isPhone(value)) {
| callback(new Error("请输入正确的手机号码格式"));
| } else {
| callback();
| }
| },
| trigger: "blur"
| // trigger: "click" // 如果想在点击确定按钮时触发这个校验,trigger 设置成 click 即可
| }
| ]
| });
|
|