| 
					
				 | 
			
			
				@@ -1,82 +1,69 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-form label-suffix=":"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-form label-suffix=":" :model="data" ref="formRef"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <!-- <el-radio-group v-model="radio1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-radio :value="1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <template #default> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="deafault"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  class="box-item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  effect="dark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  content="Top Center prompts info" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  placement="top" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-icon><InfoFilled /></el-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <span>{{$t('defaultValue')}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-radio :label="$t('custom')" :value="2"></el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-radio-group> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span style="width: 360px;">{{$t('venueTicket')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div style="display: flex;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form-item prop="low" :rules="[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: $t('fieldRequired'), trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { validator: checkNumber, trigger: 'blur' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <span style="width: 230px;">{{$t('minimumAdmission')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span style="color: red;">*</span><span style="width: 230px;">{{$t('minimumAdmission')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-input v-model="data.low" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <span style="width: 200px;">{{$t('maximumTicket')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-input v-model="data.high" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form-item prop="high" :rules="[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { required: true, message: $t('fieldRequired'), trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { validator: checkNumber, trigger: 'blur' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span style="color: red;">*</span><span style="width: 200px;">{{$t('maximumTicket')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input v-model="data.high" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span style="width: 360px;">{{$t('roomSize')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div style="display: flex;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form-item prop="smallBlind" :rules="[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: $t('fieldRequired'), trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { validator: checkNumber, trigger: 'blur' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <span style="width: 165px;">{{ $t('paracopsia') }}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span style="color: red;">*</span><span style="width: 165px;">{{ $t('paracopsia') }}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-input v-model="data.smallBlind" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form-item prop="bigBlind" :rules="[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: $t('fieldRequired'), trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { validator: checkNumber, trigger: 'blur' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <span style="width: 150px;">{{ $t('macroblind') }}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span style="color: red;">*</span><span style="width: 150px;">{{ $t('macroblind') }}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-input v-model="data.bigBlind" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div style="display: flex;justify-content: end;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-button type="primary" @click="updateGame">{{$t('save')}}</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-tab-pane :label="$t('sessionRooms')"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form :model="data" ref="formRef2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <span style="width: 360px;">{{$t('numberRooms')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <!-- <el-radio-group v-model="radio1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-radio :value="1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <template #default> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="deafault"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  class="box-item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  effect="dark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  content="Top Center prompts info" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  placement="top" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-icon><InfoFilled /></el-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <span>{{$t('defaultValue')}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-radio :label="$t('custom')" :value="2"></el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-radio-group> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span style="color: red;">*</span><span style="width: 360px;">{{$t('numberRooms')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item prop="roomNumber" :rules="[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: $t('fieldRequired'), trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { type:'number',min:0.1,message: $t('greaterThanZero'), trigger: 'blur' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <span style="width: 160px;">{{$t('quantity')}}:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-input v-model="data.roomNumber" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-input v-model.number="data.roomNumber" :placeholder="$t('pleaseEnter')"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,6 +80,8 @@ import request from '@/utils/request' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import i18n from '@/utils/i18n' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ElMessage } from 'element-plus' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import {ref ,defineProps, reactive, watch,defineEmits} from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const formRef = ref(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const formRef2 = ref(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const props = defineProps({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formData: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     type: Object, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -101,12 +90,29 @@ const props = defineProps({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       low: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       high: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       smallBlind: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bigBlind: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bigBlind: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      roomNumber:'' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const data = reactive({ ...props.formData }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const emit = defineEmits() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const checkNumber = (rule, value, callback) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        callback(new Error(i18n.global.t('fieldRequired'))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const numberValue = parseFloat(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (isNaN(numberValue)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callback(new Error(i18n.global.t('mustNumber'))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (numberValue <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callback(new Error(i18n.global.t('greaterThanZero'))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (!/^\d+(\.\d{1,2})?$/.test(value)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callback(new Error(i18n.global.t('two'))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 watch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   () => props.formData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (newVal) => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -115,19 +121,27 @@ watch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { deep: true }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const updateGame = async ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  formRef.value.validate(async (valid, invalidFields) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (valid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const res = await request('post', 'admin/poker/updatePokerGame', Object.assign(data, {gameId:data.id})) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (res.code === 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ElMessage.success(i18n.global.t('successfulOperation')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     emit('getPageData') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const updateRoom = async ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  formRef2.value.validate(async (valid, invalidFields) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (valid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const res = await request('post', 'admin/poker/updatePokerGameRoomNumber', {gameId:data.id, number:data.roomNumber}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (res.code === 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ElMessage.success(i18n.global.t('successfulOperation')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     emit('getPageData') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -141,4 +155,7 @@ const updateRoom = async ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-right: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+::v-deep .el-input__wrapper{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-color: #fff6ea !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |