疯狂的狮子li
2021-08-17 52d0d62c35d01ee73d9dba7b1be99a29adc35ef2
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -108,6 +108,7 @@
          plain
          icon="el-icon-download"
          size="mini"
          :loading="exportLoading"
          @click="handleExport"
          v-hasPermi="['${moduleName}:${businessName}:export']"
        >导出</el-button>
@@ -133,7 +134,7 @@
          <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column>
#elseif($column.list && "" != $column.dictType)
#elseif($column.list && $column.dictType && "" != $column.dictType)
      <el-table-column label="${comment}" align="center" prop="${javaField}" :formatter="${javaField}Format" />
#elseif($column.list && "" != $javaField)
      <el-table-column label="${comment}" align="center" prop="${javaField}" />
@@ -158,7 +159,7 @@
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
      :total="total"
@@ -173,7 +174,6 @@
#foreach($column in $columns)
#set($field=$column.javaField)
#if($column.insert && !$column.pk)
#if(($column.usableColumn) || (!$column.superColumn))
#set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
@@ -265,7 +265,6 @@
#end
#end
#end
#end
#if($table.sub)
        <el-divider content-position="center">${subTable.functionName}信息</el-divider>
        <el-row :gutter="10" class="mb8">
@@ -300,7 +299,7 @@
#end
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
@@ -308,52 +307,19 @@
</template>
<script>
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
#foreach($column in $columns)
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "imageUpload")
import ImageUpload from '@/components/ImageUpload';
#break
#end
#end
#foreach($column in $columns)
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "fileUpload")
import FileUpload from '@/components/FileUpload';
#break
#end
#end
#foreach($column in $columns)
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
import Editor from '@/components/Editor';
#break
#end
#end
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
import { downLoadExcel } from "@/utils/download";
export default {
  name: "${BusinessName}",
  components: {
#foreach($column in $columns)
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "imageUpload")
    ImageUpload,
#break
#end
#end
#foreach($column in $columns)
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "fileUpload")
    FileUpload,
#break
#end
#end
#foreach($column in $columns)
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
    Editor,
#break
#end
#end
  },
  data() {
    return {
      // 按钮loading
      buttonLoading: false,
      // 遮罩层
      loading: true,
      // 导出遮罩层
      exportLoading: false,
      // 选中数组
      ids: [],
#if($table.sub)
@@ -385,7 +351,7 @@
#else
#set($comment=$column.columnComment)
#end
#if(${column.dictType} != '')
#if(${column.dictType} && ${column.dictType} != '')
      // $comment字典
      ${column.javaField}Options: [],
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
@@ -429,7 +395,7 @@
  created() {
    this.getList();
#foreach ($column in $columns)
#if(${column.dictType} != '')
#if(${column.dictType} && ${column.dictType} != '')
    this.getDicts("${column.dictType}").then(response => {
      this.${column.javaField}Options = response.data;
    });
@@ -462,7 +428,7 @@
      });
    },
#foreach ($column in $columns)
#if(${column.dictType} != '')
#if(${column.dictType} && ${column.dictType} != '')
#set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
@@ -531,9 +497,11 @@
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.loading = true;
      this.reset();
      const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids
      get${BusinessName}(${pkColumn.javaField}).then(response => {
        this.loading = false;
        this.form = response.data;
#foreach ($column in $columns)
#if($column.htmlType == "checkbox")
@@ -551,6 +519,7 @@
    submitForm() {
      this.#[[$]]#refs["form"].validate(valid => {
        if (valid) {
          this.buttonLoading = true;
#foreach ($column in $columns)
#if($column.htmlType == "checkbox")
          this.form.$column.javaField = this.form.${column.javaField}.join(",");
@@ -564,12 +533,16 @@
              this.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            }).finally(() => {
              this.buttonLoading = false;
            });
          } else {
            add${BusinessName}(this.form).then(response => {
              this.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            }).finally(() => {
              this.buttonLoading = false;
            });
          }
        }
@@ -582,12 +555,16 @@
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(function() {
        }).then(() => {
          this.loading = true;
          return del${BusinessName}(${pkColumn.javaField}s);
        }).then(() => {
          this.loading = false;
          this.getList();
          this.msgSuccess("删除成功");
        })
      }).finally(() => {
          this.loading = false;
      });
    },
#if($table.sub)
   /** ${subTable.functionName}序号 */
@@ -608,33 +585,23 @@
    /** ${subTable.functionName}删除按钮操作 */
    handleDelete${subClassName}() {
      if (this.checked${subClassName}.length == 0) {
        this.$alert("请先选择要删除的${subTable.functionName}数据", "提示", { confirmButtonText: "确定", });
        this.msgError("请先选择要删除的${subTable.functionName}数据");
      } else {
        this.${subclassName}List.splice(this.checked${subClassName}[0].index - 1, 1);
        const ${subclassName}List = this.${subclassName}List;
        const checked${subClassName} = this.checked${subClassName};
        this.${subclassName}List = ${subclassName}List.filter(function(item) {
          return checked${subClassName}.indexOf(item.index) == -1
        });
      }
    },
    /** 单选框选中数据 */
    /** 复选框选中数据 */
    handle${subClassName}SelectionChange(selection) {
      if (selection.length > 1) {
        this.$refs.${subclassName}.clearSelection();
        this.$refs.${subclassName}.toggleRowSelection(selection.pop());
      } else {
        this.checked${subClassName} = selection;
      }
      this.checked${subClassName} = selection.map(item => item.index)
    },
#end
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$confirm('是否确认导出所有${functionName}数据项?', "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(function() {
          return export${BusinessName}(queryParams);
        }).then(response => {
          this.download(response.msg);
        })
      downLoadExcel('/${moduleName}/${businessName}/export', this.queryParams);
    }
  }
};