UNPKG

6.71 kBJavaScriptView Raw
1module.exports = function (row) {
2 /**
3 *
4 */
5 const codes = ['017'] // 台面
6
7 // 构造表单
8
9 var forms = [{
10 key: this.utils.getKey('下单分类'),
11 label: '下单分类',
12 type:'select',
13 collections: [{label:"台面", value:"台面"},{label:"包管", value:"包管"},{label:"台面+包管", value:"台面+包管"}],
14 value: ""
15 },
16 {
17 key: this.utils.getKey('前沿造型'),
18 label: '前沿造型',
19 type:'select',
20 collections: [{label:"DM-008-直边", value:"DM-008-直边"},{label:"DM-002-罗马边", value:"DM-002-罗马边"},{lable:"DM-006-前翘边", value:"DM-006-前翘边"}],
21 value: ""
22 },
23 {
24 key: this.utils.getKey('台盆工艺'),
25 label: '台盆工艺',
26 type:'select',
27 collections: [{label:"台上工艺", value:"台上工艺"},{label:"台下工艺", value:"台下工艺"}],
28 value: ""
29 },
30 {
31 key: this.utils.getKey('台面进深'),
32 label: '台面进深',
33 type:'txt',
34 tip:`范围${row[this.utils.getKey('台面进深最小值')]}~${row[this.utils.getKey('台面进深最大值')]}`,
35 value: ""
36 },
37 {
38 key: this.utils.getKey('挡水高度'),
39 label: '挡水高度',
40 type:'txt',
41 value: ""
42 },
43 {
44 key: this.utils.getKey('包管展开宽'),
45 label: '包管展开宽',
46 type:'txt',
47 value: ""
48 },
49 {
50 key: this.utils.getKey('包管展开深'),
51 label: '包管展开深',
52 type:'txt',
53 value: ""
54 }
55 ]
56 //台面
57 const taimian = [
58 this.utils.getKey('前沿造型'),
59 this.utils.getKey('台盆工艺'),
60 this.utils.getKey('台面进深'),
61 this.utils.getKey('挡水高度')
62 ];
63 // 包管
64 const baoguan = [
65 this.utils.getKey('包管展开宽'),
66 this.utils.getKey('包管展开深')
67 ];
68 var validateMap = {
69 [`${this.utils.getKey('下单分类')}_valid`]: (value, fd, fo) => {
70 if(!value || value == '') return '请选择下单分类';
71 return '';
72 },
73
74 [`${this.utils.getKey('前沿造型')}_valid`]: (value, fd, fo) => {
75 // 下单类型为包管的时候不需要验证前沿造型,并且要清除前沿造型
76 if(fd[this.utils.getKey('下单分类')] == '包管') {
77 fd[this.utils.getKey('前沿造型')] = '';
78 return ''
79 }
80 if(!value || value == '') return '请选择前沿造型';
81 return '';
82 },
83
84 [`${this.utils.getKey('台盆工艺')}_valid`]: (value, fd, fo) => {
85 // 下单类型为包管的时候不需要验证台盆工艺,并且要清除台盆工艺
86 if(fd[this.utils.getKey('下单分类')] == '包管') {
87 fd[this.utils.getKey('台盆工艺')] = '';
88 return ''
89 }
90 if(!value || value == '') return '请选择台盆工艺';
91 return '';
92 },
93
94 [`${this.utils.getKey('台面进深')}_valid`]: (value, fd, fo) => {
95 let errorMsg = '';
96 // 下单类型为包管的时候不需要验证台面进深,并且要清除台面进深
97 if(fd[this.utils.getKey('下单分类')] == '包管') {
98 fd[this.utils.getKey('台面进深')] = '';
99 return ''
100 }
101 errorMsg = this.utils.staValidFun('台面进深', value);
102 errorMsg = this.utils.runAction([
103 {condition:() => {return errorMsg}, msg: errorMsg},
104 {condition:() => {return (value * 1 < row[this.utils.getKey('台面进深最小值')] || value * 1 > row[this.utils.getKey('台面进深最大值')])}, msg: `台面进深${fo.tip}`}
105 ]);
106 return errorMsg;
107 },
108
109 [`${this.utils.getKey('挡水高度')}_valid`]: (value, fd, fo) => {
110 // 下单类型为包管的时候不需要验证挡水高度,并且要清除挡水高度
111 if(fd[this.utils.getKey('下单分类')] == '包管') {
112 fd[this.utils.getKey('挡水高度')] = '';
113 return ''
114 }
115 return this.utils.staValidFun('挡水高度', value);
116 },
117
118 [`${this.utils.getKey('包管展开宽')}_valid`]: (value, fd, fo) => {
119 // 下单类型为台面的时候不需要验证包管展开宽,并且要清除包管展开宽
120 if(fd[this.utils.getKey('下单分类')] == '台面') {
121 fd[this.utils.getKey('包管展开宽')] = '';
122 return ''
123 }
124 return this.utils.staValidFun('包管展开宽', value);
125 },
126
127 [`${this.utils.getKey('包管展开深')}_valid`]: (value, fd, fo) => {
128 // 下单类型为台面的时候不需要验证包管展开深,并且要清除包管展开深
129 if(fd[this.utils.getKey('下单分类')] == '台面') {
130 fd[this.utils.getKey('包管展开深')] = '';
131 return ''
132 }
133 return this.utils.staValidFun('包管展开深', value);
134 },
135 }
136 var self = this;
137 return {
138 validateMap: validateMap,
139 // 更新form的 disabled
140 refreshForm: function() {
141 let formData = {};
142 for (let i = 0; i < this.forms.length; i++) {
143 let rone = this.forms[i];
144 formData[rone.key] = rone.value;
145 }
146 this.forms.map((item) => {
147 if(formData[self.utils.getKey('下单分类')] == '台面') {
148 // 包管都要隐掉
149 if(baoguan.indexOf(item.key) != -1) Object.assign(item, {disabled: true});
150 else Object.assign(item, {disabled: false});
151 }
152 else if(formData[self.utils.getKey('下单分类')] == '包管') {
153 // 台面都要隐掉
154 if(taimian.indexOf(item.key) != -1) Object.assign(item, {disabled: true});
155 else Object.assign(item, {disabled: false});
156 }
157 else {
158 Object.assign(item, {disabled: false});
159 }
160 })
161 },
162 codes: codes,
163 forms: forms
164 }
165}
\No newline at end of file