{"version":3,"file":"QuestionNumber.cjs","sources":["../../../../../packages/components/question/QuestionNumber.vue"],"sourcesContent":["<template>\n    <div class=\"question-number\">\n        <div class=\"question-item-num\">\n            <div class=\"number\" @click=\"editNumber\">\n                <span v-show=\"!dataList.hideTitle\">{{ dataList.questionNumber }}</span>\n            </div>\n            <div class=\"number-input\" v-show=\"showInput\">\n                <el-input ref=\"input\" v-model=\"inputValue\" @blur.stop=\"inputBlur\" @input=\"inputEdit\"></el-input>\n            </div>\n        </div>\n    </div>\n</template>\n<script setup>\nimport { ref } from \"vue\";\nimport { numEditReg } from \"@/utils/regRule\";\nimport { ElMessage } from \"element-plus\";\n\nconst props = defineProps({\n    dataList: {\n        type: Object,\n        default: () => ({}),\n    },\n});\n\nconst emits = defineEmits([\"numberBlur\"]);\n// 用于存储数据的接口\nlet showInput = ref(false);\nlet inputValue = ref(\"\");\nlet input = ref(null);\ninputValue.value = props.dataList.questionNumber;\n\nfunction editNumber() {\n    showInput.value = true;\n    input.value.focus();\n}\n// 失焦，存储数据\nfunction inputBlur(e) {\n    // 调接口保存到接口里面, saveData , 保存成功后执行下面\n    // 修改原有数组库里题号\n    let originalNumber = props.dataList.questionNumber;\n    props.dataList.questionNumber = e.target.value ? e.target.value : props.dataList.questionNumber;\n\n    showInput.value = false;\n    emits(\"numberBlur\", {\n        originalNumber,\n        currentNumber: props.dataList.questionNumber,\n    });\n}\n\n// 实时输入，校验输入格式\nfunction inputEdit(e) {\n    // 判断输入格式的是否正确\n    if (e && !numEditReg.test(e)) {\n        ElMessage.error(\"只能输入【字母+数字 】或数字\");\n        inputValue.value = \"\";\n    }\n}\n</script>\n<style lang=\"scss\" scoped>\n.question-item-num {\n    position: relative;\n    .number {\n        height: 37px;\n        line-height: 37px;\n        padding: 0 5px;\n        text-align: center;\n        border: 1px solid rgba(0, 0, 0, 0);\n        font-size: 18px;\n        &:hover {\n            border-color: rgb(155, 173, 252);\n        }\n    }\n    .number-input {\n        position: absolute;\n        top: 2px;\n        left: 0;\n        z-index: 999;\n        width: 140px;\n    }\n}\n</style>\n"],"names":["showInput","ref","inputValue","input","props","editNumber","inputBlur","e","originalNumber","emits","inputEdit","numEditReg","ElMessage"],"mappings":"kfA0BA,IAAAA,EAAAC,EAAAA,IAAA,EAAA,EACAC,EAAAD,EAAAA,IAAA,EAAA,EACAE,EAAAF,EAAAA,IAAA,IAAA,EACAC,EAAA,MAAAE,EAAA,SAAA,eAEA,SAAAC,GAAA,CACAL,EAAA,MAAA,GACAG,EAAA,MAAA,OACA,CAEA,SAAAG,EAAAC,EAAA,CAGA,IAAAC,EAAAJ,EAAA,SAAA,eACAA,EAAA,SAAA,eAAAG,EAAA,OAAA,MAAAA,EAAA,OAAA,MAAAH,EAAA,SAAA,eAEAJ,EAAA,MAAA,GACAS,EAAA,aAAA,CACA,eAAAD,EACA,cAAAJ,EAAA,SAAA,cACA,CAAA,CACA,CAGA,SAAAM,EAAAH,EAAA,CAEAA,GAAA,CAAAI,EAAAA,WAAA,KAAAJ,CAAA,IACAK,YAAA,MAAA,iBAAA,EACAV,EAAA,MAAA,GAEA"}