Selaa lähdekoodia

修改赛事必填项

zs 7 kuukautta sitten
vanhempi
commit
d19358b9e4

+ 6 - 64
src/components/custom/custom-form.vue

@@ -8,15 +8,7 @@
           </template>
           <template v-else>
             <template v-if="item.type === 'textarea'">
-              <el-input
-                clearable
-                v-model="form[item.model]"
-                :type="item.type"
-                :placeholder="getField('placeholder', item)"
-                v-bind="item.options"
-                @change="dataChange(item.model)"
-                show-word-limit
-              ></el-input>
+              <el-input clearable v-model="form[item.model]" :type="item.type" :placeholder="getField('placeholder', item)" v-bind="item.options" @change="dataChange(item.model)" show-word-limit></el-input>
             </template>
             <template v-else-if="item.type === 'numbers'">
               <el-input-number v-model="form[item.model]" :placeholder="getField('placeholder', item)" @change="dataChange(item.model)" style="width: 100%" />
@@ -33,79 +25,29 @@
             </template>
             <template v-else-if="item.type === 'select'">
               <el-tooltip effect="dark" content="可输入文本搜索选项" placement="top-start">
-                <el-select
-                  clearable
-                  filterable
-                  allow-create
-                  default-first-option
-                  v-model="form[item.model]"
-                  :type="item.type"
-                  :placeholder="getField('selectplaceholder', item)"
-                  v-bind="item.options"
-                  @change="dataChange(item.model)"
-                  style="width: 100%"
-                >
+                <el-select clearable filterable allow-create default-first-option v-model="form[item.model]" :type="item.type" :placeholder="getField('selectplaceholder', item)" v-bind="item.options" @change="dataChange(item.model)" style="width: 100%">
                   <slot :name="item.model" v-bind="{ item }"></slot>
                 </el-select>
               </el-tooltip>
             </template>
             <template v-else-if="item.type === 'selectMany'">
               <el-tooltip effect="dark" content="可输入文本搜索选项" placement="top-start">
-                <el-select
-                  filterable
-                  clearable
-                  multiple
-                  collapse-tags
-                  v-model="form[item.model]"
-                  :type="item.type"
-                  :placeholder="getField('selectplaceholder', item)"
-                  v-bind="item.options"
-                  @change="dataChange(item.model)"
-                  style="width: 100%"
-                >
+                <el-select filterable clearable multiple v-model="form[item.model]" :type="item.type" :placeholder="getField('selectplaceholder', item)" v-bind="item.options" @change="dataChange(item.model)" style="width: 100%">
                   <slot :name="item.model" v-bind="{ item }"></slot>
                 </el-select>
               </el-tooltip>
             </template>
             <template v-else-if="item.type === `year` || item.type == 'month' || item.type == 'date' || item.type == 'daterange' || item.type == 'datetime' || item.type == 'datetimerange'">
-              <el-date-picker
-                v-model="form[item.model]"
-                :type="item.type"
-                :placeholder="getField('selectplaceholder', item)"
-                :format="getDateFormat(item.type)"
-                :value-format="getDateFormat(item.type)"
-                v-bind="item.options"
-                @change="dataChange(item.model)"
-                range-separator="至"
-                style="width: 100%"
-              >
-              </el-date-picker>
+              <el-date-picker v-model="form[item.model]" :type="item.type" :placeholder="getField('selectplaceholder', item)" :format="getDateFormat(item.type)" :value-format="getDateFormat(item.type)" v-bind="item.options" @change="dataChange(item.model)" range-separator="至" style="width: 100%"> </el-date-picker>
             </template>
             <template v-else-if="item.type === `time`">
-              <el-time-picker
-                v-model="form[item.model]"
-                :placeholder="getField('selectplaceholder', item)"
-                :format="getDateFormat(item.type)"
-                :value-format="getDateFormat(item.type)"
-                v-bind="item.options"
-                @change="dataChange(item.model)"
-                style="width: 100%"
-              >
-              </el-time-picker>
+              <el-time-picker v-model="form[item.model]" :placeholder="getField('selectplaceholder', item)" :format="getDateFormat(item.type)" :value-format="getDateFormat(item.type)" v-bind="item.options" @change="dataChange(item.model)" style="width: 100%"> </el-time-picker>
             </template>
             <template v-else-if="item.type === `inputnumber`">
               <el-input-number v-model="form[item.model]" :placeholder="getField('placeholder', item)" v-bind="item.options" @change="dataChange(item.model)" style="width: 100%"></el-input-number>
             </template>
             <template v-else>
-              <el-input
-                clearable
-                v-model="form[item.model]"
-                :type="getField('type', item)"
-                :placeholder="getField('placeholder', item)"
-                :show-password="getField('type', item) === 'password'"
-                v-bind="item.options"
-                @change="dataChange(item.model)"
-              ></el-input>
+              <el-input clearable v-model="form[item.model]" :type="getField('type', item)" :placeholder="getField('placeholder', item)" :show-password="getField('type', item) === 'password'" v-bind="item.options" @change="dataChange(item.model)"></el-input>
             </template>
           </template>
         </el-form-item>

+ 5 - 1
src/lang/package/zh-cn/pages.js

@@ -237,7 +237,11 @@ export default {
     is_use: '是否启用',
     is_show: '是否在首页显示',
     order_num: '显示顺序',
-    titleMessage: '请输入需求名称',
+    titleMessage: '请输入赛事名称',
+    formMessage: '请选择类别',
+    scaleMessage: '请选择赛事规模',
+    typeMessage: '请选择赛事类型',
+    workMessage: '请输入组织单位',
     rules1: '大赛背景',
     rules2: '大赛主题和目标',
     rules3: '大赛基本情况介绍',

+ 6 - 2
src/views/information/parts/platform/match.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="main " v-loading="loading">
+  <div class="main" v-loading="loading">
     <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset">
       <template #type>
         <el-option v-for="i in typeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
@@ -263,7 +263,11 @@ const twoformFields = ref([
 ])
 const thrformFields = ref([{ label: t('pages.match.process'), model: 'process', custom: true }])
 const rules = reactive({
-  name: [{ required: true, message: t('pages.match.titleMessage'), trigger: 'blur' }]
+  name: [{ required: true, message: t('pages.match.titleMessage'), trigger: 'blur' }],
+  form: [{ required: true, message: t('pages.match.formMessage'), trigger: 'blur' }],
+  scale: [{ required: true, message: t('pages.match.scaleMessage'), trigger: 'blur' }],
+  match_type: [{ required: true, message: t('pages.match.typeMessage'), trigger: 'blur' }],
+  work: [{ required: true, message: t('pages.match.workMessage'), trigger: 'blur' }]
 })
 const dialog = ref({ type: '1', show: false, title: t('pages.match.addDialogTitle') })
 const form = ref({ rules: {}, video: [], file: [] })