qianxj
2023-03-20 2e5dd7057fb4feaf4f5538e82f35252f40e3022d
ruoyi-ui/src/smartor/dataobject/dw_svytopicoption_maint.vue
@@ -1,92 +1,104 @@
<template>
    <div class="app-container">
      <!-- 添加或修改问卷题目对话框 -->
      <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
          <el-form-item label=" 老版本ID " prop="oldid">
            <el-input v-model="form.oldid" placeholder="请输入 老版本ID " />
          </el-form-item>
          <el-form-item label=" 问卷ID " prop="svyid">
    <div>
  <!--el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body-->
    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
      <el-row>
        <el-col :span="6"><el-form-item label=" 111题目ID " prop="topicid">
            <el-input v-model="form.topicid" placeholder="请输入 题目ID " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 问卷ID " prop="svyid">
            <el-input v-model="form.svyid" placeholder="请输入 问卷ID " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 选项Code " prop="optioncode">
            <el-input v-model="form.optioncode" placeholder="请输入 选项Code " />
          </el-form-item></el-col>
        <el-col :span="6"></el-col>
      </el-row>>
      <el-row>
        <el-form-item label=" 选项内容 ">
          <el-input v-model="form.optioncontent" placeholder="请输入 选项内容 " />
          </el-form-item>
          <el-form-item label=" 题目Code " prop="topiccode">
            <el-input v-model="form.topiccode" placeholder="请输入 题目Code " />
          </el-form-item>
          <el-form-item label=" 题目 " prop="topic">
            <el-input v-model="form.topic" type="textarea" placeholder="请输入内容" />
          </el-form-item>
          <el-form-item label=" 排序 " prop="sort">
      </el-row>
      <el-row>
        <el-col :span="6"><el-form-item label=" 是否存在明细 " prop="isexistdetail">
            <el-input v-model="form.isexistdetail" placeholder="请输入 是否存在明细 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 明细是否必填 " prop="detailismandatory">
            <el-input v-model="form.detailismandatory" placeholder="请输入 明细是否必填 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 是否异常项目 " prop="isexceptionitem">
            <el-input v-model="form.isexceptionitem" placeholder="请输入 是否异常项目 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 是否跟进 " prop="istrack">
            <el-input v-model="form.istrack" placeholder="请输入 是否跟进 " />
          </el-form-item></el-col>
      </el-row>
      <el-row>
        <el-col :span="6">
          <el-form-item label=" 分数 " prop="score">
            <el-input v-model="form.score" placeholder="请输入 分数 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 提示 " prop="prompt">
            <el-input v-model="form.prompt" placeholder="请输入 提示 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 跳转 " prop="jump">
            <el-input v-model="form.jump" placeholder="请输入 跳转 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 父选项ID " prop="parentoptionid">
            <el-input v-model="form.parentoptionid" placeholder="请输入 父选项ID " />
          </el-form-item></el-col>
      </el-row>
      <el-row>
        <el-col :span="6"><el-form-item label=" 是否互斥 " prop="ismutex">
            <el-input v-model="form.ismutex" placeholder="请输入 是否互斥 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 验证规则 " prop="verifyrule">
            <el-input v-model="form.verifyrule" placeholder="请输入 验证规则 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 排序 " prop="sort">
            <el-input v-model="form.sort" placeholder="请输入 排序 " />
          </el-form-item>
          <el-form-item label=" 是否必填 " prop="ismandatory">
            <el-select v-model="form.ismandatory" placeholder="请选择 是否必填 ">
              <el-option
                v-for="dict in dict.type.sys_yes_no"
                :key="dict.value"
                :label="dict.label"
                :value="parseInt(dict.value)"
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label=" 是否隐藏 " prop="ishide">
            <el-select v-model="form.ishide" placeholder="请选择 是否隐藏 ">
              <el-option
                v-for="dict in dict.type.sys_yes_no"
                :key="dict.value"
                :label="dict.label"
                :value="parseInt(dict.value)"
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label=" 删除标记 " prop="delFlag">
            <el-select v-model="form.delFlag" placeholder="请选择 删除标记 ">
              <el-option
                v-for="dict in dict.type.sys_yes_no"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label=" 机构ID " prop="orgid">
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 是否限制范围 " prop="isrange">
            <el-input v-model="form.isrange" placeholder="请输入 是否限制范围 " />
          </el-form-item></el-col>
      </el-row>
      <el-row>
        <el-col :span="6"><el-form-item label=" 最小范围 " prop="minrange">
            <el-input v-model="form.minrange" placeholder="请输入 最小范围 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 范围长度;用于小数保留位数 " prop="rangelength">
            <el-input v-model="form.rangelength" placeholder="请输入 范围长度;用于小数保留位数 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 范围长度;用于小数保留位数 " prop="rangelength">
            <el-input v-model="form.rangelength" placeholder="请输入 范围长度;用于小数保留位数 " />
          </el-form-item></el-col>
        <el-col :span="6"><el-form-item label=" 机构ID " prop="orgid">
            <el-input v-model="form.orgid" placeholder="请输入 机构ID " />
          </el-form-item>
          <el-form-item label=" 上传标记 " prop="isupload">
            <el-select v-model="form.isupload" placeholder="请选择 上传标记 ">
              <el-option
                v-for="dict in dict.type.sys_yes_no"
                :key="dict.value"
                :label="dict.label"
                :value="parseInt(dict.value)"
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label=" 上传时间 " prop="uploadTime">
            <el-date-picker clearable
              v-model="form.uploadTime"
              type="date"
              value-format="yyyy-MM-dd"
              placeholder="请选择 上传时间 ">
            </el-date-picker>
          </el-form-item>
          </el-form-item></el-col>
      </el-row>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="submitForm">确 定</el-button>
          <el-button @click="cancel">取 消</el-button>
        </div>
      </el-dialog>
  <!--/el-dialog-->
    </div>
  </template>
  
  <script>
  import { listSvytopic, getSvytopic, delSvytopic, addSvytopic, updateSvytopic } from "@/api/smartor/svytopic";
import { listSvytopicoption, getSvytopicoption, delSvytopicoption, addSvytopicoption, updateSvytopicoption } from "@/api/smartor/svytopicoption";
  
  export default {
    name: "Svytopic",
  name: "Svytopicoption",
    dicts: ['sys_yes_no'],
    data() {
      return {
        title: "修改选项",
      title: "",
        // 是否显示弹出层
        open: false,
        // 查询参数
@@ -104,18 +116,8 @@
      };
    },
    created() {
      this.getList();
    },
    methods: {
      /** 查询问卷题目列表 */
      getList() {
        this.loading = true;
        listSvytopic(this.queryParams).then(response => {
          this.svytopicList = response.rows;
          this.total = response.total;
          this.loading = false;
        });
      },
      // 取消按钮
      cancel() {
        this.open = false;
@@ -124,17 +126,31 @@
      // 表单重置
      reset() {
        this.form = {
        optionid: null,
          topicid: null,
          oldid: null,
          svyid: null,
          topictype: null,
          topiccode: null,
          topic: null,
        optioncode: null,
        optioncontent: null,
        isexistdetail: null,
        detailismandatory: null,
        isexceptionitem: null,
        istrack: null,
        score: null,
        prompt: null,
        jump: null,
        parentoptionid: null,
        ismutex: null,
        verifyrule: null,
          sort: null,
          ismandatory: null,
          ishide: null,
          delFlag: null,
        verificationtype: null,
        isrange: null,
        minrange: null,
        maxrange: null,
        rangelength: null,
          orgid: null,
        oldid: null,
        delFlag: null,
          createBy: null,
          createTime: null,
          updateBy: null,
@@ -144,74 +160,39 @@
        };
        this.resetForm("form");
      },
      /** 搜索按钮操作 */
      handleQuery() {
        this.queryParams.pageNum = 1;
        this.getList();
      },
      /** 重置按钮操作 */
      resetQuery() {
        this.resetForm("queryForm");
        this.handleQuery();
      },
      // 多选框选中数据
      handleSelectionChange(selection) {
        this.ids = selection.map(item => item.topicid)
        this.single = selection.length!==1
        this.multiple = !selection.length
      },
      /** 新增按钮操作 */
      handleAdd() {
        this.reset();
        this.open = true;
        this.title = "添加问卷题目";
      },
      /** 修改按钮操作 */
      handleUpdate(row) {
    handleUpdate(id) {
        this.reset();
        const topicid = row.topicid || this.ids
        getSvytopic(topicid).then(response => {
          this.form = response.data;
          this.open = true;
          this.title = "修改问卷题目";
      if (id != null) {
        const optionid = id;
        getSvytopicoption(optionid).then(response => {
          this.form = response.data;
          this.title = "修改问卷问题选项";
        });
      }else
      {
        this.title = "新增问卷问题选项";
      }
      },
      /** 提交按钮 */
      submitForm() {
        this.$refs["form"].validate(valid => {
          if (valid) {
            if (this.form.topicid != null) {
              updateSvytopic(this.form).then(response => {
          if (this.form.optionid != null) {
            updateSvytopicoption(this.form).then(response => {
                this.$modal.msgSuccess("修改成功");
                this.open = false;
                this.getList();
              });
            } else {
              addSvytopic(this.form).then(response => {
            addSvytopicoption(this.form).then(response => {
                this.$modal.msgSuccess("新增成功");
                this.open = false;
                this.getList();
              });
            }
          }
        });
      },
      /** 删除按钮操作 */
      handleDelete(row) {
        const topicids = row.topicid || this.ids;
        this.$modal.confirm('是否确认删除问卷题目编号为"' + topicids + '"的数据项?').then(function() {
          return delSvytopic(topicids);
        }).then(() => {
          this.getList();
          this.$modal.msgSuccess("删除成功");
        }).catch(() => {});
      },
      /** 导出按钮操作 */
      handleExport() {
        this.download('smartor/svytopic/export', {
          ...this.queryParams
        }, `svytopic_${new Date().getTime()}.xlsx`)
      }
    }
  };
  </script>