lilei пре 2 година
родитељ
комит
4563111b22
1 измењених фајлова са 58 додато и 21 уклоњено
  1. 58 21
      pages/vinAnalyse/search.vue

+ 58 - 21
pages/vinAnalyse/search.vue

@@ -10,34 +10,46 @@
 				<u-form-item label="车辆品牌"><u-input v-model.trim="form.brandName" placeholder="请输入车辆品牌"/></u-form-item>
 				<u-form-item label="车型"><u-input v-model.trim="form.modelInfo" placeholder="请输入车型"/></u-form-item>
 				<u-form-item label="空调滤清器" label-position="top">
-					<u-radio-group v-model="form.airConditionerFilterFlag" :size="28">
-						<u-radio 
-							v-for="(item, index) in list" :key="index" 
-							:name="item.val" :disabled="item.disabled"
+					<u-checkbox-group :size="28">
+						<u-checkbox 
+							v-for="(item, index) in list0" 
+							:key="index" 
+							:name="item.val" 
+							v-model="item.checked"
+							:disabled="item.disabled"
+							@change="(e)=>{checkboxChange(e,'airConditionerFilterFlag',list0)}"
 						>
 							{{item.name}}
-						</u-radio>
-					</u-radio-group>
+						</u-checkbox>
+					</u-checkbox-group>
 				</u-form-item>
 				<u-form-item label="空气滤清器" label-position="top">
-					<u-radio-group v-model="form.airFilterFlag" :size="28">
-						<u-radio 
-							v-for="(item, index) in list" :key="index" 
-							:name="item.val" :disabled="item.disabled"
+					<u-checkbox-group :size="28">
+						<u-checkbox 
+							v-for="(item, index) in list1" 
+							:key="index" 
+							:name="item.val" 
+							:disabled="item.disabled"
+							v-model="item.checked"
+							@change="(e)=>{checkboxChange(e,'airFilterFlag',list1)}"
 						>
 							{{item.name}}
-						</u-radio>
-					</u-radio-group>
+						</u-checkbox>
+					</u-checkbox-group>
 				</u-form-item>
 				<u-form-item label="机油滤清器" label-position="top">
-					<u-radio-group v-model="form.engineOilFilterFlag" :size="28">
-						<u-radio 
-							v-for="(item, index) in list" :key="index" 
-							:name="item.val" :disabled="item.disabled"
+					<u-checkbox-group :size="28">
+						<u-checkbox 
+							v-for="(item, index) in list2" 
+							:key="index" 
+							:name="item.val" 
+							:disabled="item.disabled"
+							v-model="item.checked"
+							@change="(e)=>{checkboxChange(e,'engineOilFilterFlag',list2)}"
 						>
 							{{item.name}}
-						</u-radio>
-					</u-radio-group>
+						</u-checkbox>
+					</u-checkbox-group>
 				</u-form-item>
 			</u-form>
 			<view class="form-footer-btn">
@@ -81,19 +93,25 @@
 					{
 						name: '有适配',
 						val:1,
-						disabled: false
+						disabled: false,
+						checked: false
 					},
 					{
 						name: '无适配',
 						val:2,
-						disabled: false
+						disabled: false,
+						checked: false
 					},
 					{
 						name: '空(--)',
 						val:0,
-						disabled: false
+						disabled: false,
+						checked: false
 					}
 				],
+				list0:[],
+				list1:[],
+				list2:[],
 				showDate: false, // 是否显示时间弹窗
 				isShow:this.showModal,
 				showTypeModal: false,
@@ -113,6 +131,13 @@
 				this.form.beginDate = ''
 				this.form.endDate = ''
 			},
+			checkboxChange(e,key,list){
+				console.log(e,key)
+				list.map(item => {
+					item.checked = item.val == e.name
+				})
+				this.form[key] = e.value ? e.name : ''
+			},
 			// 表单清空
 			handleClean(){
 				this.form={
@@ -135,6 +160,11 @@
 				this.$emit('refresh', data)
 				this.isShow=false
 			},
+			setOptionVal(list,key){
+				list.map(item => {
+					item.checked = item.val === this.form[key]
+				})
+			}
 		},
 		watch:{
 			//  父页面传过来的弹框状态
@@ -145,6 +175,13 @@
 			isShow (newValue, oldValue) {
 				if (!newValue) {
 					this.$emit('close')
+				}else{
+					this.list0 = JSON.parse(JSON.stringify(this.list))
+					this.list1 = JSON.parse(JSON.stringify(this.list))
+					this.list2 = JSON.parse(JSON.stringify(this.list))
+					this.setOptionVal(this.list0,'airConditionerFilterFlag')
+					this.setOptionVal(this.list1,'airFilterFlag')
+					this.setOptionVal(this.list2,'engineOilFilterFlag')
 				}
 			}
 		}