{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/admin/projects/dms/src/dealer_admin/src/views/examination/components/subject_form.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/admin/projects/dms/src/dealer_admin/src/views/examination/components/subject_form.vue","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport * as API from \"@/api/examination_subject.js\";\nimport _ from \"lodash\";\nimport QuillEditor from '@/components/QuillEditor/index.vue';\nimport SinglePdfUpload from '@/components/Upload/SinglePdf.vue';\nimport SingleVideoUpload from '@/components/Upload/SingleVideo.vue';\nexport default {\n  components: {QuillEditor,SinglePdfUpload,SingleVideoUpload},\n  data() {\n    return {\n      editorOption: {},\n      dialogFormVisible: false,\n      textMap: {\n        add: \"新增\",\n        update: \"编辑\",\n      },\n      value: '',\n      // 新增更新相关\n      dialogStatus: \"add\",\n      disabled: false,\n      form: {\n        name: \"\",\n        disable: \"\"\n      },\n      singleChoiseList:[\n        {\n          key: 'A',\n          value: 1,\n          content: ''\n        },\n        {\n          key: 'B',\n          value: 2,\n          content: ''\n        },\n        {\n          key: 'C',\n          value: 3,\n          content: ''\n        },\n        {\n          key: 'D',\n          value: 4,\n          content: ''\n        },\n      ]\n    };\n  },\n  computed: {\n  },\n  props:{\n    subjectTypeList:{\n      type: Array,\n      default:[]\n    }\n  },\n  created() {\n    this.$forceUpdate();\n  },\n  methods: {\n    subjectTypeChange(e){\n      this.initContent();\n    },\n    initContent(){\n      //单选题\n      if(this.form.type == 1){\n        this.form.content = \"\";\n        this.form.content = _.cloneDeep(this.singleChoiseList);\n        this.form.answer = \"\";\n      }\n    },\n    resetForm() {\n      this.form = {};\n    },\n    change(e) {\n      this.$forceUpdate();\n    },\n    async init(id,examination_id,) {\n      this.resetForm();\n      this.form.examination_id = examination_id;\n      if (id) {\n        this.handleUpdate(id);\n      } else {\n        this.handleAdd();\n      }\n    },\n\n    /** 处理更新 */\n    async handleUpdate(_id) {\n      const resData = await API.detail(_id);\n      this.form = Object.assign(this.form, resData.result.detail);\n      this.form.content = JSON.parse(this.form.content);\n      this.form.answer = JSON.parse(this.form.answer);\n      if(this.form.type == 1){\n        //单选\n        this.form.answer = parseInt(this.form.answer);\n      }\n      this.dialogStatus = \"update\";\n      this.dialogFormVisible = true;\n      this.$nextTick(() => {\n        this.$refs[\"dataForm\"].clearValidate();\n      });\n    },\n\n    /** 处理新增 */\n    async handleAdd() {\n      this.dialogStatus = \"add\";\n      this.dialogFormVisible = true;\n      this.$nextTick(() => {\n        this.$refs[\"dataForm\"].clearValidate();\n      });\n    },\n\n    /** 表单提交，区分好 是 新增 、 更新 */\n    async dataFormSubmit() {\n      await this.$confirm(`确认？`, \"提示\", {\n        type: \"warning\"\n      });\n      this.$refs[\"dataForm\"].validate(async valid => {\n        if (valid) {\n          const tempData = _.cloneDeep(this.form);\n          tempData.content = JSON.stringify(tempData.content);\n          tempData.answer = JSON.stringify(tempData.answer);\n          let res;\n          if (this.dialogStatus === \"update\") {\n            tempData.id = this.form._id;\n            res = await API.update(tempData);\n          } else if (this.dialogStatus === \"add\") {\n            res = await API.create(tempData);\n          }\n\n\n          this.dialogFormVisible = false;\n\n          this.$message({\n            message: `${this.textMap[this.dialogStatus]}成功`,\n            type: \"success\",\n            duration: 1501,\n            onClose: () => {\n            }\n          });\n\n          setTimeout(() => {\n            this.$emit(\"refreshDataList\");\n          }, 500);\n        }\n      });\n    }\n  }\n};\n",null]}