| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <template>
- <div>
- <el-form :model="property" label-width="72px">
- <SerailNumber :property="property" />
- <el-form-item label="选项序号" class="serial-number">
- <el-input v-model="optionSerialType" disabled />
- <SvgIcon icon-class="switch" height="16" width="16" @click="switchSNType" />
- </el-form-item>
- <el-form-item label="选择类型">
- <el-radio v-for="{ value, label } in selectTypeList" :key="value" v-model="property.select_type" :label="value">
- {{ label }}
- </el-radio>
- </el-form-item>
- <el-form-item label="排列">
- <el-radio
- v-for="{ value, label } in arrangeTypeList"
- :key="value"
- v-model="property.arrange_type"
- :label="value"
- >
- {{ label }}
- </el-radio>
- </el-form-item>
- <el-form-item label="拼音">
- <el-switch v-model="property.view_pinyin" active-value="true" inactive-value="false" />
- </el-form-item>
- <el-form-item v-show="isEnable(property.view_pinyin)" label="拼音位置">
- <el-radio
- v-for="{ value, label } in pinyinPositionList"
- :key="value"
- v-model="property.pinyin_position"
- :label="value"
- :disabled="!isEnable(property.view_pinyin)"
- >
- {{ label }}
- </el-radio>
- </el-form-item>
- <el-form-item v-show="isEnable(property.view_pinyin)" label="">
- <el-checkbox
- v-model="property.is_first_sentence_first_hz_pinyin_first_char_upper_case"
- :disabled="!isEnable(property.view_pinyin)"
- true-label="true"
- false-label="false"
- >句首大写</el-checkbox
- >
- </el-form-item>
- </el-form>
- </div>
- </template>
- <script>
- import SettingMixin from '@/views/book/courseware/create/components/common/SettingMixin';
- import { arrangeTypeList, getSelectProperty, selectTypeList } from '@/views/book/courseware/data/select';
- import { serialNumberTypeList } from '@/views/book/courseware/data/common';
- export default {
- name: 'SelectSetting',
- mixins: [SettingMixin],
- data() {
- return {
- arrangeTypeList,
- selectTypeList,
- property: getSelectProperty(),
- };
- },
- computed: {
- optionSerialType() {
- let type = serialNumberTypeList.find((item) => item.value === this.property.option_serial_type)?.value;
- let val = '1';
- switch (type) {
- case serialNumberTypeList[0].value:
- val = '1';
- break;
- case serialNumberTypeList[1].value:
- val = '(1)';
- break;
- case serialNumberTypeList[2].value:
- val = 'a';
- break;
- case serialNumberTypeList[3].value:
- val = 'A';
- break;
- default:
- val = '1';
- break;
- }
- return val;
- },
- },
- methods: {
- /**
- * @description 切换选项序号类型
- */
- switchSNType() {
- const currentIndex = serialNumberTypeList.findIndex((item) => item.value === this.property.option_serial_type);
- const nextIndex = (currentIndex + 1) % serialNumberTypeList.length;
- this.updateProperty('option_serial_type', serialNumberTypeList[nextIndex].value);
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- @use '@/styles/mixin.scss' as *;
- .el-form {
- @include setting-base;
- }
- </style>
|