/*
* XmlDigitalTeaching v0.0.1
* Copyright ©Thu Jul 24 2025 15:16:57 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

// import '../block.scss'
// import { isRadio } from '@/utils/questionType'
// import { defaultCover } from '@/assets/remote'

/***
 * 试卷块儿
 */
var script = {
  name: 'XmlTestPaperRender',
  // dicts: ['question_type', 'difficulty', 'examine_status', 'answer_platform', 'answer_situation'],
  props: {
    //模式：preview 预览 (默认)，editor 编辑
    mode: {
      type: String,
      default: function () {
        return 'editor';
      }
    },
    //属性中传递过来的块儿数据
    pBlockData: {},
    //块儿数据名
    blockDataName: String,
    //页面类型，取值h5、pc、pad
    pageType: {
      type: String,
      default: 'h5'
    },
    //当前所处组的规则
    currentRule: {
      type: Object,
      default: function () {
        return {};
      }
    },
    reader: {
      type: Boolean,
      default: false
    },
    ruleIndex: Number,
    extendParams: {
      type: Object,
      default: function () {
        return {};
      }
    },
    isShowAi: {
      type: String,
      default: '1'
    },
    BookName: {
      type: String,
      default: ''
    }
  },
  computed: {},
  watch: {
    pBlockData: {
      handler(newValue) {
        this.$nextTick(() => {
          console.log('Question组件(ruleIndex:' + this.ruleIndex + ')，watch触发，变量pBlockData：', newValue);
          this.blockData = Object.assign({}, this.blockData, newValue);
        });
      },
      deep: true,
      immediate: true
    },
    pageType: {
      deep: true,
      immediate: true,
      handler(newValue) {
        this.tmpPageType = newValue;
      }
    }
  },
  data() {
    return {
      blockId: 'blockId' + Math.random(),
      //当前块儿数据，一般用不到，因为一般的块儿中不会在块儿内更改数据
      blockData: {},
      //属性组件名
      propertyComponentsName: 'xml-test-paper-property',
      radio1: null,
      tmpPageType: ''
      // defaultCover
    };
  },
  methods: {
    // 此方法必须要，用户注册块儿点击事件
    blockClick() {
      this.$emit('blockclick', {
        blockData: this.blockData,
        dataName: this.blockDataName,
        propertyComponentsName: this.propertyComponentsName,
        blockId: this.blockId,
        ruleIndex: this.ruleIndex
      });
    },
    pageClick(info) {
      this.$emit('openTestPaper', {
        info: info,
        showRobot: this.isShowAi == '0' ? 'true' : 'false'
      });
      // console.log(this.BookName, '打印的info')
      //info.link 跳转地址
      // window.href = info.link
      // if (this.reader) {
      //   this.$emit('openTestPaper', { info: info, showRobot: this.isShowAi == '0' ? 'true' : 'false' })
      //   return
      // }
      // if (this.mode === 'preview') {
      //   if (this.tmpPageType === 'h5' || this.tmpPageType === 'pad') {
      // const url =
      //   process.env.VUE_APP_TESTPAPER_WEB +
      //   `/mobile-answer?testPaperId=${info.id}&showRobot=${this.isShowAi == '0' ? 'true' : 'false'}&BookName=${
      //     this.BookName
      //   }`
      // // const url = info.link
      // console.log('跳转url:' + url)
      // // window.location.href = url
      // this.$router.push({
      //   path: '/webView',
      //   query: {
      //     baseUrl: encodeURIComponent(url),
      //     title: info.paperName
      //   }
      // })
      //   } else {
      //     console.log(this.blockData)
      //     // window.location.href = process.env.VUE_APP_TESTPAPER_WEB + `/answer?testPaperId=${info.id}`
      //     this.$router.push({
      //       path: '/webView',
      //       query: {
      //         baseUrl: encodeURIComponent(
      //           process.env.VUE_APP_TESTPAPER_WEB +
      //             `/answer?testPaperId=${info.id}&showRobot=${this.isShowAi == '0' ? 'true' : 'false'}&BookName=${
      //               this.BookName
      //             }`
      //         ),
      //         title: info.paperName
      //       }
      //     })
      //     // window.location.href = info.link
      //   }
      // }
    }
  },
  created() {}
};

var __$_require_static_images_default_over_test_aper_png__ = "data:image/png;base64,[encoded data, 18764 characters]";

function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
  if (typeof shadowMode !== 'boolean') {
    createInjectorSSR = createInjector;
    createInjector = shadowMode;
    shadowMode = false;
  }
  // Vue.extend constructor export interop.
  const options = typeof script === 'function' ? script.options : script;
  // render functions
  if (template && template.render) {
    options.render = template.render;
    options.staticRenderFns = template.staticRenderFns;
    options._compiled = true;
    // functional template
    if (isFunctionalTemplate) {
      options.functional = true;
    }
  }
  // scopedId
  if (scopeId) {
    options._scopeId = scopeId;
  }
  let hook;
  if (moduleIdentifier) {
    // server build
    hook = function (context) {
      // 2.3 injection
      context = context ||
      // cached call
      this.$vnode && this.$vnode.ssrContext ||
      // stateful
      this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__;
      }
      // inject component styles
      if (style) {
        style.call(this, createInjectorSSR(context));
      }
      // register component module identifier for async chunk inference
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier);
      }
    };
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook;
  } else if (style) {
    hook = shadowMode ? function (context) {
      style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
    } : function (context) {
      style.call(this, createInjector(context));
    };
  }
  if (hook) {
    if (options.functional) {
      // register for functional component in vue file
      const originalRender = options.render;
      options.render = function renderWithStyleInjection(h, context) {
        hook.call(context);
        return originalRender(h, context);
      };
    } else {
      // inject component registration as beforeCreate hook
      const existing = options.beforeCreate;
      options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
    }
  }
  return script;
}

/* script */
const __vue_script__ = script;
var __vue_render__ = function () {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c(
    "div",
    {
      class: "xml-question-container-" + _vm.pageType,
      attrs: { id: _vm.blockId },
      on: { click: _vm.blockClick },
    },
    [
      _c(
        "div",
        { staticClass: "question", staticStyle: { height: "100%" } },
        _vm._l(_vm.blockData.testPaperSetList, function (item, index) {
          return _c(
            "div",
            {
              key: index + Math.random(),
              staticClass: "workbench-shop-item xml-group-item",
              on: {
                click: function ($event) {
                  return _vm.pageClick(item)
                },
              },
            },
            [
              _vm._m(0, true),
              _vm._v(" "),
              _c("div", { staticClass: "text" }, [
                _c("div", { staticClass: "xml-paper-title title" }, [
                  _vm._v(_vm._s(item.paperName || item.title)),
                ]),
                _vm._v(" "),
                _c("div", { staticClass: "info" }, [
                  _c(
                    "span",
                    {
                      directives: [
                        {
                          name: "show",
                          rawName: "v-show",
                          value: item.questionNum,
                          expression: "item.questionNum",
                        },
                      ],
                    },
                    [_vm._v("共" + _vm._s(item.questionNum) + "题")]
                  ),
                  _vm._v(" "),
                  _c("span"),
                  _vm._v(" "),
                  _c(
                    "span",
                    {
                      directives: [
                        {
                          name: "show",
                          rawName: "v-show",
                          value: item.fullMark > 0,
                          expression: "item.fullMark > 0",
                        },
                      ],
                    },
                    [
                      _vm._v("\n            满分"),
                      _c("span", [_vm._v(_vm._s(item.fullMark))]),
                      _vm._v("分"),
                    ]
                  ),
                ]),
              ]),
            ]
          )
        }),
        0
      ),
    ]
  )
};
var __vue_staticRenderFns__ = [
  function () {
    var _vm = this;
    var _h = _vm.$createElement;
    var _c = _vm._self._c || _h;
    return _c("div", { staticClass: "shop-item-img" }, [
      _c("img", {
        staticClass: "question-img",
        attrs: {
          src: __$_require_static_images_default_over_test_aper_png__,
        },
      }),
    ])
  },
];
__vue_render__._withStripped = true;

  /* style */
  const __vue_inject_styles__ = undefined;
  /* scoped */
  const __vue_scope_id__ = "data-v-d8637fba";
  /* module identifier */
  const __vue_module_identifier__ = undefined;
  /* functional template */
  const __vue_is_functional_template__ = false;
  /* style inject */
  
  /* style inject SSR */
  
  /* style inject shadow dom */
  

  
  const __vue_component__ = /*#__PURE__*/normalizeComponent(
    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
    __vue_inject_styles__,
    __vue_script__,
    __vue_scope_id__,
    __vue_is_functional_template__,
    __vue_module_identifier__,
    false,
    undefined,
    undefined,
    undefined
  );

let componentNamespace = 'xml';
// 组件前缀命名只能更新一次，防止重复执行修改组件注册出错
let isUpdated = false;
function createNamespace(name, {
  prefix,
  isUnPrefix
}) {
  let useNamespace;
  if (!isUpdated) {
    isUpdated = true;
    useNamespace = prefix || componentNamespace; // 更改前缀
  }
  if (prefix) {
    if (name.indexOf(componentNamespace) === 0) {
      return name.replace(componentNamespace, prefix);
    }
    return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
  }
  if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
    return name.charAt(0).toUpperCase() + name.substr(1);
  }
  return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
}

__vue_component__.install = (Vue, options = {}) => {
  Vue.component(createNamespace('test-paper-render', {
    prefix: options.prefix
  }), __vue_component__);
};

export { __vue_component__ as default };
