PictureSetting.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <div>
  3. <el-form :model="property" :label-position="labelPosition" label-width="72px">
  4. <el-form-item label="序号" class="serial-number">
  5. <el-input v-model="property.serial_number" />
  6. <SvgIcon icon-class="switch" size="14" @click="switchSerialNumber(property)" />
  7. </el-form-item>
  8. <el-form-item>
  9. <el-radio
  10. v-for="{ value, label } in snGenerationMethodList"
  11. :key="value"
  12. v-model="property.sn_generation_method"
  13. :label="value"
  14. >
  15. {{ label }}
  16. </el-radio>
  17. </el-form-item>
  18. <el-form-item label="序号位置">
  19. <SerialNumberPosition :position="property.sn_position" @changeNumberPosition="changeNumberPosition" />
  20. </el-form-item>
  21. <el-divider />
  22. <el-form-item label="查看方式">
  23. <el-radio v-for="{ value, label } in viewMethodList" :key="value" v-model="property.view_method" :label="value">
  24. {{ label }}
  25. </el-radio>
  26. </el-form-item>
  27. </el-form>
  28. </div>
  29. </template>
  30. <script>
  31. import SettingMixin from '@/views/book/courseware/create/components/common/SettingMixin';
  32. import { viewMethodList, snGenerationMethodList, checkString } from '@/views/book/courseware/data/common';
  33. export default {
  34. name: 'PictureSetting',
  35. mixins: [SettingMixin],
  36. data() {
  37. return {
  38. checkString,
  39. snGenerationMethodList,
  40. viewMethodList,
  41. labelPosition: 'left',
  42. property: {
  43. serial_number: 1, // 序号
  44. sn_type: 'number',
  45. sn_position: 'top-start', // 序号位置:top-start top top-end 等
  46. sn_generation_method: snGenerationMethodList[0].value, // 序号生成方式:recalculate 重新计算follow 跟随
  47. view_method: viewMethodList[0].value, // 查看方式:independent 独立 list 列表icon 图标
  48. },
  49. };
  50. },
  51. methods: {},
  52. };
  53. </script>
  54. <style lang="scss" scoped>
  55. .el-form {
  56. .serial-number {
  57. :deep .el-form-item__content {
  58. display: flex;
  59. align-items: center;
  60. justify-content: space-between;
  61. }
  62. }
  63. .el-input {
  64. margin-right: 16px;
  65. }
  66. .el-divider {
  67. margin: 16px 0;
  68. }
  69. }
  70. </style>