户表单的验证添加
Showing
1 changed file
with
238 additions
and
28 deletions
... | @@ -21,7 +21,7 @@ | ... | @@ -21,7 +21,7 @@ |
21 | <td colspan="2" align="center" >不动产单元号<i class="requisite">*</i></td> | 21 | <td colspan="2" align="center" >不动产单元号<i class="requisite">*</i></td> |
22 | <!-- todo 此处暂时存放的是不动产单元号标识码,而不是不动产单元号--> | 22 | <!-- todo 此处暂时存放的是不动产单元号标识码,而不是不动产单元号--> |
23 | <td colspan="4" class="psr"> | 23 | <td colspan="4" class="psr"> |
24 | <el-input v-model="form.bdcdyh" class="percent80" :disabled="disableFlag"></el-input> | 24 | <el-input v-model="form.bdcdyh" class="percent80" :disabled="disableFlag" ref="bdcdyh" @blur="inputBlur($event)"></el-input> |
25 | <el-button @click.prevent="generatorCode" size="mini" class="createBtn" type="warning">生成</el-button> | 25 | <el-button @click.prevent="generatorCode" size="mini" class="createBtn" type="warning">生成</el-button> |
26 | </td> | 26 | </td> |
27 | <td colspan="2" align="center" >原不动产单元</td> | 27 | <td colspan="2" align="center" >原不动产单元</td> |
... | @@ -66,7 +66,7 @@ | ... | @@ -66,7 +66,7 @@ |
66 | <tr height="30"> | 66 | <tr height="30"> |
67 | <td colspan="2" align="center" >房屋类型<i class="requisite">*</i></td> | 67 | <td colspan="2" align="center" >房屋类型<i class="requisite">*</i></td> |
68 | <td colspan="4" > | 68 | <td colspan="4" > |
69 | <el-select v-model="form.fwlxbsm" placeholder="请选择" :disabled="disableFlag"> | 69 | <el-select v-model="form.fwlxbsm" placeholder="请选择" :disabled="disableFlag" @blur="inputBlur($event)" ref="fwlxbsm"> |
70 | <el-option | 70 | <el-option |
71 | v-for="item in $store.state.fwlxList" | 71 | v-for="item in $store.state.fwlxList" |
72 | :key="item.bsm" | 72 | :key="item.bsm" |
... | @@ -77,7 +77,7 @@ | ... | @@ -77,7 +77,7 @@ |
77 | </td> | 77 | </td> |
78 | <td colspan="2" align="center" >房屋性质<i class="requisite">*</i></td> | 78 | <td colspan="2" align="center" >房屋性质<i class="requisite">*</i></td> |
79 | <td colspan="4" > | 79 | <td colspan="4" > |
80 | <el-select v-model="form.fwxzbsm" placeholder="请选择" :disabled="disableFlag"> | 80 | <el-select v-model="form.fwxzbsm" placeholder="请选择" :disabled="disableFlag" @blur="inputBlur($event)" ref="fwxzbsm"> |
81 | <el-option | 81 | <el-option |
82 | v-for="item in $store.state.fwxzOptions" | 82 | v-for="item in $store.state.fwxzOptions" |
83 | :key="item.bsm" | 83 | :key="item.bsm" |
... | @@ -127,7 +127,7 @@ | ... | @@ -127,7 +127,7 @@ |
127 | <tr height="30"> | 127 | <tr height="30"> |
128 | <td colspan="2" align="center" >产别<i class="requisite">*</i></td> | 128 | <td colspan="2" align="center" >产别<i class="requisite">*</i></td> |
129 | <td colspan="4" > | 129 | <td colspan="4" > |
130 | <el-select v-model="form.fwcbbsm" placeholder="请选择" :disabled="disableFlag"> | 130 | <el-select v-model="form.fwcbbsm" placeholder="请选择" :disabled="disableFlag" @blur="inputBlur($event)" ref="fwcbbsm"> |
131 | <el-option | 131 | <el-option |
132 | v-for="item in $store.state.cbOptions" | 132 | v-for="item in $store.state.cbOptions" |
133 | :key="item.bsm" | 133 | :key="item.bsm" |
... | @@ -138,7 +138,7 @@ | ... | @@ -138,7 +138,7 @@ |
138 | </td> | 138 | </td> |
139 | <td colspan="2" align="center" >产权来源<i class="requisite">*</i></td> | 139 | <td colspan="2" align="center" >产权来源<i class="requisite">*</i></td> |
140 | <td colspan="4" > | 140 | <td colspan="4" > |
141 | <el-select v-model="form.fwcqlybsm" placeholder="请选择" :disabled="disableFlag"> | 141 | <el-select v-model="form.fwcqlybsm" placeholder="请选择" :disabled="disableFlag" @blur="inputBlur($event)" ref="fwcqlybsm"> |
142 | <el-option | 142 | <el-option |
143 | v-for="item in $store.state.cqlyOptions" | 143 | v-for="item in $store.state.cqlyOptions" |
144 | :key="item.bsm" | 144 | :key="item.bsm" |
... | @@ -204,11 +204,11 @@ | ... | @@ -204,11 +204,11 @@ |
204 | <tr height="30"> | 204 | <tr height="30"> |
205 | <td colspan="2" align="center" >分摊系数</td> | 205 | <td colspan="2" align="center" >分摊系数</td> |
206 | <td colspan="2" align="center" > | 206 | <td colspan="2" align="center" > |
207 | <el-input v-model="form.ycftxs" type="number" :disabled="form.scyclx==='1'||disableFlag"></el-input> | 207 | <el-input v-model="form.ycftxs" type="number" :disabled="form.scyclx==='1'||disableFlag" @blur="inputFtxsBlur($event)" ref="ycftxs"></el-input> |
208 | </td> | 208 | </td> |
209 | <td colspan="2" align="center" >分摊系数</td> | 209 | <td colspan="2" align="center" >分摊系数</td> |
210 | <td colspan="2" align="center" > | 210 | <td colspan="2" align="center" > |
211 | <el-input v-model="form.scftxs" type="number" :disabled="form.scyclx==='0'||disableFlag"></el-input> | 211 | <el-input v-model="form.scftxs" type="number" :disabled="form.scyclx==='0'||disableFlag" @blur="inputFtxsBlur($event)" ref="scftxs"></el-input> |
212 | </td> | 212 | </td> |
213 | </tr> | 213 | </tr> |
214 | 214 | ||
... | @@ -236,6 +236,7 @@ | ... | @@ -236,6 +236,7 @@ |
236 | </td> | 236 | </td> |
237 | <td width="30" colspan="4" align="center" > | 237 | <td width="30" colspan="4" align="center" > |
238 | <el-select-tree | 238 | <el-select-tree |
239 | ref="ghyt" | ||
239 | v-if="show" | 240 | v-if="show" |
240 | :default-expand-all="defaultExpandAll" | 241 | :default-expand-all="defaultExpandAll" |
241 | @change="updateSjfyyt(item1)" | 242 | @change="updateSjfyyt(item1)" |
... | @@ -252,6 +253,7 @@ | ... | @@ -252,6 +253,7 @@ |
252 | <td width="30" colspan="1" align="center" >用途</td> | 253 | <td width="30" colspan="1" align="center" >用途</td> |
253 | <td width="30" colspan="4" align="center" > | 254 | <td width="30" colspan="4" align="center" > |
254 | <el-select-tree | 255 | <el-select-tree |
256 | ref="yt" | ||
255 | v-if="show" | 257 | v-if="show" |
256 | :default-expand-all="defaultExpandAll" | 258 | :default-expand-all="defaultExpandAll" |
257 | :multiple="multiple" | 259 | :multiple="multiple" |
... | @@ -282,7 +284,7 @@ | ... | @@ -282,7 +284,7 @@ |
282 | <span @click="deleteFwjgInfo(index)">删除</span> | 284 | <span @click="deleteFwjgInfo(index)">删除</span> |
283 | </td> | 285 | </td> |
284 | <td colspan="9" > | 286 | <td colspan="9" > |
285 | <el-select v-model="item1.fwjgzdbsm" placeholder="请选择" :disabled="disableFlag"> | 287 | <el-select v-model="item1.fwjgzdbsm" ref="fwjg" placeholder="请选择" :disabled="disableFlag"> |
286 | <el-option | 288 | <el-option |
287 | v-for="item in $store.state.jgOptions" | 289 | v-for="item in $store.state.jgOptions" |
288 | :key="item.bsm" | 290 | :key="item.bsm" |
... | @@ -325,7 +327,7 @@ | ... | @@ -325,7 +327,7 @@ |
325 | <span>坐落<i class="requisite">*</i></span> | 327 | <span>坐落<i class="requisite">*</i></span> |
326 | </td> | 328 | </td> |
327 | <td colspan="10" > | 329 | <td colspan="10" > |
328 | <el-input v-model="form.zl" :disabled="disableFlag"></el-input> | 330 | <el-input v-model="form.zl" ref="zl" @blur="inputBlur($event)" :disabled="disableFlag"></el-input> |
329 | </td> | 331 | </td> |
330 | </tr> | 332 | </tr> |
331 | 333 | ||
... | @@ -523,6 +525,9 @@ | ... | @@ -523,6 +525,9 @@ |
523 | fwjgTitleRowspan:1, //房屋结构的单元格垂直合并数量 | 525 | fwjgTitleRowspan:1, //房屋结构的单元格垂直合并数量 |
524 | formHeight:0, | 526 | formHeight:0, |
525 | mainBoxWidth:0, | 527 | mainBoxWidth:0, |
528 | |||
529 | rules:[], | ||
530 | ftxsrules:[], | ||
526 | } | 531 | } |
527 | }, | 532 | }, |
528 | created(){ | 533 | created(){ |
... | @@ -537,6 +542,25 @@ | ... | @@ -537,6 +542,25 @@ |
537 | }) | 542 | }) |
538 | }, | 543 | }, |
539 | methods: { | 544 | methods: { |
545 | |||
546 | inputFtxsBlur(e){ | ||
547 | if(e.target.value!==''&&+e.target.value>0&&+e.target.value<10){ | ||
548 | e.target.style.border="" | ||
549 | }else{ | ||
550 | e.target.style.border="1px solid red"; | ||
551 | e.target.style.boxSizing = 'border-box'; | ||
552 | } | ||
553 | }, | ||
554 | |||
555 | inputBlur(e){ | ||
556 | if(e.target.value!=''){ | ||
557 | e.target.style.border="" | ||
558 | }else{ | ||
559 | e.target.style.border="1px solid red"; | ||
560 | e.target.style.boxSizing = 'border-box'; | ||
561 | } | ||
562 | }, | ||
563 | |||
540 | registerCall(){ | 564 | registerCall(){ |
541 | let data={ | 565 | let data={ |
542 | type:'h', | 566 | type:'h', |
... | @@ -709,29 +733,159 @@ | ... | @@ -709,29 +733,159 @@ |
709 | }, | 733 | }, |
710 | //保存户信息 | 734 | //保存户信息 |
711 | onSave(){ | 735 | onSave(){ |
712 | this.form.qlxzList= this.$refs.qlxzModule.getQlxzDataList(); | 736 | |
713 | if(this.form.scyclx==='0'){ | 737 | if(this.form.scyclx === '0'){ |
714 | this.form.jzmj = this.form.ycjzmj; | 738 | this.ftxsrules=[ |
715 | this.form.tnjzmj=this.form.yctnjzmj; | 739 | { |
716 | this.form.ftjzmj=this.form.ycftjzmj; | 740 | data:this.form.ycftxs, |
717 | this.form.dxbfjzmj=this.form.ycdxbfjzmj; | 741 | name:'不动产单元号', |
718 | this.form.qtjzmj=this.form.ycqtjzmj; | 742 | dom:this.$refs.ycftxs, |
719 | this.form.ftxs=this.form.ycftxs; | 743 | rule:/^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字 |
720 | }else if(this.form.scyclx==='1'){ | 744 | }, |
721 | this.form.jzmj = this.form.scjzmj; | 745 | ] |
722 | this.form.tnjzmj=this.form.sctnjzmj; | 746 | }else { |
723 | this.form.ftjzmj=this.form.scftjzmj; | 747 | this.ftxsrules=[ |
724 | this.form.dxbfjzmj=this.form.scdxbfjzmj; | 748 | { |
725 | this.form.qtjzmj=this.form.scqtjzmj; | 749 | data:this.form.scftxs, |
726 | this.form.ftxs=this.form.scftxs; | 750 | name:'不动产单元号', |
751 | dom:this.$refs.scftxs, | ||
752 | rule:/^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字 | ||
753 | }, | ||
754 | ] | ||
727 | } | 755 | } |
728 | updateQjH(this.form).then((res)=>{ | 756 | |
729 | if(res.code===200){ | 757 | |
730 | this.$message.success("保存成功!") | 758 | this.rules=[ |
759 | { | ||
760 | data:this.form.bdcdyh, | ||
761 | name:'不动产单元号', | ||
762 | dom:this.$refs.bdcdyh, | ||
763 | rule: /^\s*$/g, //非空 | ||
764 | }, | ||
765 | { | ||
766 | data:this.form.fwlxbsm, | ||
767 | name:'房屋类型', | ||
768 | dom:this.$refs.fwlxbsm, | ||
769 | rule: /^\s*$/g, //非空 | ||
770 | }, | ||
771 | { | ||
772 | data:this.form.fwxzbsm, | ||
773 | name:'房屋性质', | ||
774 | dom:this.$refs.fwxzbsm, | ||
775 | rule: /^\s*$/g, //非空 | ||
776 | }, | ||
777 | { | ||
778 | data:this.form.fwcbbsm, | ||
779 | name:'产别', | ||
780 | dom:this.$refs.fwcbbsm, | ||
781 | rule: /^\s*$/g, //非空 | ||
782 | }, | ||
783 | { | ||
784 | data:this.form.fwcqlybsm, | ||
785 | name:'产权来源', | ||
786 | dom:this.$refs.fwcqlybsm, | ||
787 | rule: /^\s*$/g, //非空 | ||
788 | }, | ||
789 | { | ||
790 | data:this.form.zl, | ||
791 | name:'坐落', | ||
792 | dom:this.$refs.zl, | ||
793 | rule: /^\s*$/g, //非空 | ||
794 | }, | ||
795 | ] | ||
796 | this.form.fwytList.forEach((item,index)=>{ | ||
797 | this.rules.push( | ||
798 | { | ||
799 | data:item.fwytzdbsm, | ||
800 | name:'规划用途', | ||
801 | dom:this.$refs.ghyt[index], | ||
802 | rule: /^\s*$/g, //非空 | ||
803 | }, | ||
804 | { | ||
805 | data:item.fwytzdbsm, | ||
806 | name:'用途', | ||
807 | dom:this.$refs.yt[index], | ||
808 | rule: /^\s*$/g, //非空 | ||
809 | }, | ||
810 | ) | ||
811 | }) | ||
812 | this.form.fwjgList.forEach((item,index)=>{ | ||
813 | this.rules.push( | ||
814 | { | ||
815 | data:item.fwjgzdbsm, | ||
816 | name:'房屋结构', | ||
817 | dom:this.$refs.fwjg[index], | ||
818 | rule: /^\s*$/g, //非空 | ||
819 | }, | ||
820 | ) | ||
821 | }) | ||
822 | this.form.qlxzList= this.$refs.qlxzModule.getQlxzDataList(); | ||
823 | this.$refs.qlxzModule.getRules(); | ||
824 | let flag = true; | ||
825 | |||
826 | this.rules.forEach(item=>{ | ||
827 | if(item.rule.test(item.data) || item.data == null){ | ||
828 | if(item.dom.$el){ | ||
829 | item.dom.$el.style.border = '1px solid red'; | ||
830 | item.dom.$el.style.boxSizing = 'border-box'; | ||
831 | }else{ | ||
832 | item.dom.style.border = '1px solid red'; | ||
833 | item.dom.style.boxSizing = 'border-box'; | ||
834 | } | ||
835 | flag = false; | ||
836 | return false | ||
837 | } | ||
838 | }) | ||
839 | |||
840 | let ftxsflag = true; | ||
841 | |||
842 | this.ftxsrules.forEach(item=>{ | ||
843 | if(!item.rule.test(+item.data) || item.data == null){ | ||
844 | if(item.dom.$el){ | ||
845 | item.dom.$el.style.border = '1px solid red'; | ||
846 | item.dom.$el.style.boxSizing = 'border-box'; | ||
847 | }else{ | ||
848 | item.dom.style.border = '1px solid red'; | ||
849 | item.dom.style.boxSizing = 'border-box'; | ||
850 | } | ||
851 | ftxsflag = false; | ||
852 | return false | ||
853 | } | ||
854 | }) | ||
855 | |||
856 | this.$nextTick(()=> { | ||
857 | if (flag && ftxsflag && this.$refs.qlxzModule.getRulesResult()) { | ||
858 | if(this.form.scyclx==='0'){ | ||
859 | this.form.jzmj = this.form.ycjzmj; | ||
860 | this.form.tnjzmj=this.form.yctnjzmj; | ||
861 | this.form.ftjzmj=this.form.ycftjzmj; | ||
862 | this.form.dxbfjzmj=this.form.ycdxbfjzmj; | ||
863 | this.form.qtjzmj=this.form.ycqtjzmj; | ||
864 | this.form.ftxs=this.form.ycftxs; | ||
865 | }else if(this.form.scyclx==='1'){ | ||
866 | this.form.jzmj = this.form.scjzmj; | ||
867 | this.form.tnjzmj=this.form.sctnjzmj; | ||
868 | this.form.ftjzmj=this.form.scftjzmj; | ||
869 | this.form.dxbfjzmj=this.form.scdxbfjzmj; | ||
870 | this.form.qtjzmj=this.form.scqtjzmj; | ||
871 | this.form.ftxs=this.form.scftxs; | ||
872 | } | ||
873 | updateQjH(this.form).then((res)=>{ | ||
874 | if(res.code===200){ | ||
875 | this.$message.success("保存成功!") | ||
876 | }else { | ||
877 | this.$message.warning(res.message) | ||
878 | } | ||
879 | }) | ||
731 | }else { | 880 | }else { |
732 | this.$message.warning(res.message) | 881 | this.$message({ |
882 | // message: item.name+'不能为空', | ||
883 | message: '表单数据有误', | ||
884 | type: "warning", | ||
885 | }); | ||
733 | } | 886 | } |
734 | }) | 887 | }) |
888 | |||
735 | }, | 889 | }, |
736 | onSubmit(){ | 890 | onSubmit(){ |
737 | let data={ | 891 | let data={ |
... | @@ -853,6 +1007,62 @@ | ... | @@ -853,6 +1007,62 @@ |
853 | }) | 1007 | }) |
854 | } | 1008 | } |
855 | }, | 1009 | }, |
1010 | |||
1011 | "form.bdcdyh":function (val) { | ||
1012 | if (val != '') { | ||
1013 | this.$refs.bdcdyh.style.border = ''; | ||
1014 | } | ||
1015 | }, | ||
1016 | |||
1017 | "form.fwlxbsm":{ | ||
1018 | handler:function (val) { | ||
1019 | if (val != '') { | ||
1020 | this.$refs.fwlxbsm.$el.style.border = ''; | ||
1021 | } | ||
1022 | }, | ||
1023 | immediate:false | ||
1024 | }, | ||
1025 | |||
1026 | "form.fwcqlybsm":{ | ||
1027 | handler:function (val) { | ||
1028 | if (val != '') { | ||
1029 | this.$refs.fwcqlybsm.$el.style.border = ''; | ||
1030 | } | ||
1031 | }, | ||
1032 | immediate:false | ||
1033 | }, | ||
1034 | |||
1035 | "form.fwcbbsm":{ | ||
1036 | handler:function (val) { | ||
1037 | if (val != '') { | ||
1038 | this.$refs.fwcbbsm.$el.style.border = ''; | ||
1039 | } | ||
1040 | }, | ||
1041 | immediate:false | ||
1042 | }, | ||
1043 | |||
1044 | "form.fwytList": { | ||
1045 | handler : function (newVal, oldVal) { | ||
1046 | newVal.forEach((item,ind)=>{ | ||
1047 | if(item.fwytzdbsm != ''){ | ||
1048 | this.$refs.ghyt[ind].$el.style.border="" | ||
1049 | this.$refs.yt[ind].$el.style.border="" | ||
1050 | } | ||
1051 | }) | ||
1052 | }, | ||
1053 | deep:true | ||
1054 | }, | ||
1055 | "form.fwjgList": { | ||
1056 | handler : function (newVal, oldVal) { | ||
1057 | newVal.forEach((item,ind)=>{ | ||
1058 | if(item.fwjgzdbsm != ''){ | ||
1059 | this.$refs.fwjg[ind].$el.style.border="" | ||
1060 | } | ||
1061 | }) | ||
1062 | }, | ||
1063 | deep:true | ||
1064 | }, | ||
1065 | |||
856 | "$store.state.sxdrType": { | 1066 | "$store.state.sxdrType": { |
857 | handler(n) { | 1067 | handler(n) { |
858 | this.$nextTick(()=>{ | 1068 | this.$nextTick(()=>{ | ... | ... |
-
Please register or sign in to post a comment