zs преди 1 месец
родител
ревизия
6ed43343d3
променени са 2 файла, в които са добавени 59 реда и са изтрити 3 реда
  1. 16 0
      src/views/home/index.vue
  2. 43 3
      src/views/match/thr.vue

+ 16 - 0
src/views/home/index.vue

@@ -44,6 +44,7 @@
             @totalScore="totalScore"
             @LastOrder="LastOrder"
             @onStatus="onStatus"
+            @toTimes="toTimes"
           ></thr>
         </div>
       </div>
@@ -408,6 +409,21 @@ const updateSTime = (data) => {
     })
     .catch(() => {})
 }
+// 修改决赛时间
+const toTimes = (data) => {
+  ElMessageBox.confirm('是否确定修改决赛时间?', '决赛时间', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'warning'
+  })
+    .then(async () => {
+      const res = await matchRegStore.update(data)
+      if ($checkRes(res, true)) {
+        search()
+      }
+    })
+    .catch(() => {})
+}
 provide('extList', extList)
 provide('isUseList', isUseList)
 </script>

+ 43 - 3
src/views/match/thr.vue

@@ -80,6 +80,7 @@
         <el-table-column align="center" label="操作" width="160">
           <template #default="{ row }">
             <el-link :underline="false" type="primary" size="mini" @click="toView(row)" style="margin-right: 10px">查看</el-link>
+            <el-link :underline="false" v-if="info.ext_status == '5'" type="primary" size="mini" @click="toTime(row)" style="margin-right: 10px">调整决赛时间</el-link>
             <el-link :underline="false" v-if="info.ext_status == '5' && row.status == '2'" type="primary" size="mini" @click="toStatus(row)" style="margin-right: 10px">修改报名状态</el-link>
             <el-link :underline="false" v-if="info.ext_status == '5' && row.final_confirm == '0'" type="primary" size="mini" @click="toLink(row)" style="margin-right: 10px">排序</el-link>
             <el-link :underline="false" v-if="info.ext_status == '7'" type="primary" size="mini" @click="toScore(row)" style="margin-right: 10px">上传决赛分数</el-link>
@@ -187,7 +188,7 @@
             <el-input v-model="totalForm.final_score" type="number" placeholder="请输入决赛总分数" />
           </el-form-item>
           <div style="text-align: center">
-            <el-button type="primary" @click="onTSubmit(totalFormRef)">保存</el-button>
+            <el-button type="primary" @click="onFSubmit(totalFormRef)">保存</el-button>
           </div>
         </el-form>
       </div>
@@ -273,6 +274,16 @@
           <el-button type="primary" :disabled="timeList && timeList.length > 0 ? false : true" @click="submitForm(ruleFormRef)">保存决赛时间</el-button>
         </div>
       </div>
+      <div v-else-if="dialog.type == '9'">
+        <el-form ref="timesFormRef" :model="timesForm" :rules="timesRules" label-width="auto" class="form" label-position="left">
+          <el-form-item label="设置决赛时间" prop="final_start_time">
+            <el-date-picker format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="timesForm.final_start_time" type="datetime" placeholder="请选择决赛时间" style="width: 90%" />
+          </el-form-item>
+          <div style="text-align: center">
+            <el-button type="primary" @click="onFSubmit(timesFormRef)">保存</el-button>
+          </div>
+        </el-form>
+      </div>
     </el-dialog>
     <el-dialog v-model="dialogVisible" title="分数信息填写" width="800" :destroy-on-close="false" @close="toSclose">
       <el-form ref="scoreFormRef" :model="scoreForm" :rules="scoreRules" label-width="auto" class="form" label-position="left">
@@ -373,13 +384,21 @@ const orderRules = reactive({
   order_no: [{ required: true, message: '请输入顺序', trigger: 'blur' }]
 })
 
-// 顺序
+// 最后名次
 const lastForm = ref({})
 // 表单
 const lastFormRef = ref()
 const lastRules = reactive({
   last_order_no: [{ required: true, message: '请输入最终排名', trigger: 'blur' }]
 })
+
+// 设置决赛时间
+const timesForm = ref({})
+// 表单
+const timesFormRef = ref()
+const timesRules = reactive({
+  final_start_time: [{ required: true, message: '请选择决赛时间', trigger: 'blur' }]
+})
 // 最大排序数量
 const max = ref(1)
 
@@ -402,7 +421,7 @@ const supplementList = ref([])
 // 分数设置
 const detailsList = ref([])
 
-const emits = defineEmits(['step5Time', 'toExport', 'toMessage', 'toStep6', 'toPerson', 'toStep7', 'toStep8', 'step7Score', 'totalScore', 'LastOrder', 'onStatus'])
+const emits = defineEmits(['step5Time', 'toExport', 'toMessage', 'toStep6', 'toPerson', 'toStep7', 'toStep8', 'step7Score', 'totalScore', 'LastOrder', 'onStatus', 'toTimes'])
 
 const search = async () => {
   const data = {
@@ -430,6 +449,11 @@ const handleSelectionChange = (val) => {
 const timeChange = (val) => {
   timeList.value = val
 }
+// 调整决赛时间
+const toTime = (data) => {
+  timesForm.value = data
+  dialog.value = { type: '9', show: true, title: '分配决赛时间' }
+}
 // 分配决赛时间
 const toStart = () => {
   dialog.value = { type: '8', show: true, title: '分配决赛时间' }
@@ -469,6 +493,22 @@ const onsubmitOrder = async (formEl) => {
     }
   })
 }
+// 保存决赛时间
+const onFSubmit = async (formEl) => {
+  if (!formEl) return
+  await formEl.validate(async (valid, fields) => {
+    if (valid) {
+      const data = {
+        final_start_time: timesForm.value.final_start_time,
+        id: timesForm.value.id
+      }
+      emits('toTimes', data)
+      toClose()
+    } else {
+      console.log('error submit!', fields)
+    }
+  })
+}
 // 审核
 const toView = (data) => {
   form.value = data