screen.tsx 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { useEditor } from "@/modules/editor"
  2. import { Select } from "ant-design-vue"
  3. import { defineComponent } from "vue"
  4. export default defineComponent({
  5. setup(props, ctx) {
  6. const editor = useEditor();
  7. const ctrl = editor.controls.screenCtrl;
  8. return ()=>{
  9. return (
  10. <div class="px-16px">
  11. <div class="flex items-center">
  12. <span class="w-70px">屏幕类型</span>
  13. <Select value={ctrl.state.screen.useFor} onChange={(v)=>{
  14. const s = {useFor: v, pageMode: ctrl.state.screen.pageMode, pageSizeType: ctrl.state.screen.pageSizeType}
  15. ctrl.saveScreenPage();
  16. ctrl.state.setScreen(s as any);
  17. }} class = "flex-1 overflow-hidden" options={[{ label: "手机", value: "mobile" }, { label: "PC", value: "pc" }]} />
  18. </div>
  19. <div class="flex items-center mt-5px">
  20. <span class="w-70px">页面模式</span>
  21. <Select onChange={(v)=>{
  22. ctrl.saveScreenPage();
  23. const s = {useFor: ctrl.state.screen.useFor, pageMode:v, pageSizeType: ctrl.state.screen.pageSizeType}
  24. if( v == "long") {
  25. s.pageSizeType = "normal";
  26. }
  27. ctrl.state.setScreen(s as any);
  28. editor.controls.editorCtrl.autoInScreen();
  29. }} value={ctrl.state.screen.pageMode} class = "flex-1 overflow-hidden" options={[{ label: "长页", value: "long" }, { label: "翻页", value: "short" }]} />
  30. </div>
  31. {
  32. ctrl.state.screen.pageMode == "short" && <div class="flex items-center mt-5px">
  33. <span class="w-70px">屏幕长度</span>
  34. <Select onChange={(v)=>{
  35. ctrl.saveScreenPage();
  36. const s = {useFor: ctrl.state.screen.useFor, pageMode:ctrl.state.screen.pageMode, pageSizeType: v}
  37. ctrl.state.setScreen(s as any);
  38. }} value={ctrl.state.screen.pageSizeType} class = "flex-1 overflow-hidden" options={[{ label: "短屏幕", value: "short" }, { label: "普通屏幕", value: "normal"}, { label: "长屏幕", value: "long"}]} />
  39. </div>
  40. }
  41. </div>
  42. )
  43. }
  44. },
  45. })