|
@@ -5,36 +5,25 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Activity zone">
|
|
|
<el-select v-model="form.region" placeholder="please select your zone">
|
|
|
- <el-option label="Zone one" value="shanghai" />
|
|
|
- <el-option label="Zone two" value="beijing" />
|
|
|
+ <el-option label="1" value="shanghai" />
|
|
|
+ <el-option label="2" value="beijing" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="Activity time">
|
|
|
- <el-col :span="11">
|
|
|
- <el-date-picker v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="2" class="text-center">
|
|
|
- <span class="text-gray-500">-</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="11">
|
|
|
- <el-time-picker v-model="form.date2" placeholder="Pick a time" style="width: 100%" />
|
|
|
- </el-col>
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="Instant delivery">
|
|
|
<el-switch v-model="form.delivery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Activity type">
|
|
|
<el-checkbox-group v-model="form.type">
|
|
|
- <el-checkbox value="Online activities" name="type"> Online activities </el-checkbox>
|
|
|
- <el-checkbox value="Promotion activities" name="type"> Promotion activities </el-checkbox>
|
|
|
- <el-checkbox value="Offline activities" name="type"> Offline activities </el-checkbox>
|
|
|
- <el-checkbox value="Simple brand exposure" name="type"> Simple brand exposure </el-checkbox>
|
|
|
+ <el-checkbox label="1" name="type"> Online activities </el-checkbox>
|
|
|
+ <el-checkbox label="2" name="type"> Promotion activities </el-checkbox>
|
|
|
+ <el-checkbox label="3" name="type"> Offline activities </el-checkbox>
|
|
|
+ <el-checkbox label="4" name="type"> Simple brand exposure </el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Resources">
|
|
|
<el-radio-group v-model="form.resource">
|
|
|
- <el-radio value="Sponsor">Sponsor</el-radio>
|
|
|
- <el-radio value="Venue">Venue</el-radio>
|
|
|
+ <el-radio label="Sponsor">Sponsor</el-radio>
|
|
|
+ <el-radio label="Venue">Venue</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Activity form">
|
|
@@ -44,26 +33,25 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
-import { reactive } from 'vue'
|
|
|
+import { reactive, ref, defineExpose, inject, nextTick, onMounted, watch } from 'vue'
|
|
|
+import { get, set } from 'lodash'
|
|
|
|
|
|
-// do not use same name with ref
|
|
|
-const form = reactive({
|
|
|
- name: '',
|
|
|
- region: '',
|
|
|
- date1: '',
|
|
|
- date2: '',
|
|
|
- delivery: false,
|
|
|
- type: [],
|
|
|
- resource: '',
|
|
|
- desc: ''
|
|
|
-})
|
|
|
+const dyVueForm = inject('dyVueForm')
|
|
|
|
|
|
-const onSubmit = () => {
|
|
|
- console.log('submit!')
|
|
|
-}
|
|
|
+const form = ref(get(dyVueForm.value, 'dy', dyVueForm.value))
|
|
|
+set(dyVueForm.value, 'dy', form.value)
|
|
|
+
|
|
|
+watch(
|
|
|
+ () => get(dyVueForm.value, 'dy'),
|
|
|
+ vl => (form.value = vl)
|
|
|
+)
|
|
|
+watch(
|
|
|
+ () => form.value,
|
|
|
+ v => set(dyVueForm.value, 'dy', v)
|
|
|
+)
|
|
|
|
|
|
const getData = () => {
|
|
|
- return form
|
|
|
+ return form.value
|
|
|
}
|
|
|
|
|
|
defineExpose({
|