| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568 | <template>  <div class="app-container">    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px" @submit.prevent>      {[range $index, $item := .Columns]}{[if eq $item.IsQuery "1"]}{[if eq $item.HtmlType "input"]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <el-input            v-model="queryParams.{[$item.ColumnNameLower]}"            placeholder="请输入{[$item.ColumnComment]}"            clearable            size="small"            @keyup.enter.native="handleQuery"        />      </el-form-item>      {[else if or (eq $item.HtmlType "select")  (eq $item.HtmlType "switch") ]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <el-select v-model="queryParams.{[$item.ColumnNameLower]}" placeholder="{[$item.ColumnComment]}" clearable size="small">          <el-option              v-for="dict in {[$item.ColumnNameLower]}Options"              {[if eq $item.Source "2"]}              :key="dict.id"              :label="dict.title"              :value="dict.id"              {[else]}              :key="dict.dictValue"              :label="dict.dictLabel"              :value="dict.dictValue"{[end]}          />        </el-select>      </el-form-item>{[else if eq $item.HtmlType "treeSelect"]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <treeselect            v-model="queryParams.{[$item.ColumnNameLower]}"            :options="{[$item.ColumnNameLower]}Options"            :normalizer="normalizer"            :show-count="true"            placeholder="选择{[$item.ColumnComment]}"          />      </el-form-item>{[else if eq $item.HtmlType "radio"]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <el-radio-group v-model="queryParams.{[$item.ColumnNameLower]}">          <el-radio              v-for="dict in {[$item.ColumnNameLower]}Options"              :key="dict.dictValue"              :label="dict.dictValue"          >{{ dict.dictLabel }}          </el-radio>        </el-radio-group>      </el-form-item>      {[else if  eq $item.HtmlType "textarea"]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <el-input v-model="queryParams.{[$item.ColumnNameLower]}" type="textarea" placeholder="请输入{[$item.ColumnComment]}" />      </el-form-item>      {[else if  eq $item.HtmlType "datetime"]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <DatePicker            v-model="queryParams.{[$item.ColumnNameLower]}"            placeholder="选择日期"          />      </el-form-item>      {[else if  eq $item.HtmlType "editor"]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <editor v-model="queryParams.{[$item.ColumnNameLower]}" :min-height="192"/>      </el-form-item>      {[else]}      <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">        <el-input            v-model="queryParams.{[$item.ColumnNameLower]}"            placeholder="请输入{[$item.ColumnComment]}"            clearable            size="small"            @keyup.enter.native="handleQuery"        />      </el-form-item>{[end]}{[end]}{[end]}      <el-form-item>        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>      </el-form-item>    </el-form>    <el-divider v-if="showSearch"></el-divider>    <el-row :gutter="10" class="mb8">      <el-col :span="1.5">        <el-button          type="primary"          plain          icon="el-icon-plus"          size="mini"          @click="handleAdd"          v-hasPermi="['{[.ModuleName]}:{[.ClassNameCamel]}:add']"        >新增</el-button>      </el-col>      <el-col :span="1.5">        <el-button          type="primary"          plain          icon="el-icon-edit"          size="mini"          :disabled="single"          @click="handleUpdate"          v-hasPermi="['{[.ModuleName]}:{[.ClassNameCamel]}:edit']"        >修改</el-button>      </el-col>      <el-col :span="1.5">        <el-button          type="danger"          plain          icon="el-icon-delete"          size="mini"          :disabled="multiple"          @click="handleDelete"          v-hasPermi="['{[.ModuleName]}:{[.ClassNameCamel]}:remove']"        >删除</el-button>      </el-col>      <el-col :span="1.5">        <el-button          type="primary"          plain          icon="el-icon-download"          size="mini"          :loading="exportLoading"          @click="handleExport"          v-hasPermi="['{[.ModuleName]}:{[.ClassNameCamel]}:export']"        >导出</el-button>      </el-col>      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>    </el-row>    <el-table v-loading="loading"  {[if eq .TplCategory "tree" ]} row-key="id"  :tree-props="{children: 'children', hasChildren: 'hasChildren'}"    {[end]}:data="{[.ClassNameCamel]}List" @selection-change="handleSelectionChange">      <el-table-column type="selection" width="55" align="center" />{[range $index, $item := .Columns]}{[if eq $item.IsList "1"]}{[if eq $item.HtmlType "input"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" />{[else if eq $item.HtmlType "select"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" :formatter="{[$item.ColumnNameLower]}Format" />{[else if eq $item.HtmlType "treeSelect"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" :formatter="{[$item.ColumnNameLower]}Format" />{[else if eq $item.HtmlType "radio"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" :formatter="{[$item.ColumnNameLower]}Format" />{[else if  eq $item.HtmlType "textarea"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" />{[else if  eq $item.HtmlType "imageUpload"]}      <el-table-column prop="icon" label="等级图标">        <template slot-scope="scope">          <a :href="formatUrl(scope.row.{[$item.ColumnNameLower]})" style="color: #42b983" target="_blank">            <img :src="formatUrl(scope.row.{[$item.ColumnNameLower]})" v-default-img="$store.state.settings.defaultUrl" alt="点击打开" class="el-avatar"></a>        </template>      </el-table-column>{[else if  eq $item.HtmlType "datetime"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" width="180">        <template slot-scope="scope">          <span>{{ $moment(scope.row.{[$item.ColumnNameLower]}).format('YYYY-MM-DD')  }}</span>        </template>      </el-table-column>{[else if  eq $item.HtmlType "editor"]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" /> {[else ]}      <el-table-column label="{[$item.ColumnComment]}" align="center" prop="{[$item.ColumnNameLower]}" />{[end]}{[end]}{[end]}      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">        <template slot-scope="scope">          <el-button            size="mini"            type="text"            icon="el-icon-edit"            @click="handleUpdate(scope.row)"            v-hasPermi="['{[.ModuleName]}:{[.ClassNameCamel]}:edit']"          >修改</el-button>          <el-button            size="mini"            type="text"            icon="el-icon-delete"            @click="handleDelete(scope.row)"            v-hasPermi="['{[.ModuleName]}:{[.ClassNameCamel]}:remove']"          >删除</el-button>        </template>      </el-table-column>    </el-table>    <pagination      v-show="total>0"      :total="total"      :page.sync="queryParams.pageNum"      :limit.sync="queryParams.pageSize"      @pagination="getList"    />    <!-- 添加或修改{[.FunctionName]}对话框 -->    {[if eq .IsDrawer 2]}    <el-drawer      :title="title"      :wrapperClosable="false"      :visible.sync="open"      :size="this.isMobile()?'100%':'40%'"      direction="rtl">      <el-card class="box-card">    {[else]}    <el-dialog :title="title" :visible.sync="open" :width="this.isMobile()?'100%':'40%'" append-to-body>{[end]}          <el-form ref="form" :size="this.$store.getters.size" :model="form" :rules="rules" label-width="80px">          <el-row :gutter="20">{[range $index, $item := .SubColumns]}{[if eq $item.IsEdit "1"]}{[if eq $item.HtmlType "input"]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}">{[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">            <el-input                v-model="form.{[$item.ColumnNameLower]}"                placeholder="请输入{[$item.ColumnComment]}"            />          </el-form-item>          </el-col>{[else if eq $item.HtmlType "number"]}{[if eq $item.IsRow "1"]}            <el-col :span="24">{[else]}            <el-col :span="{[$.Span]}">{[end]}            <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">               <el-input-number                  v-model="form.{[$item.ColumnNameLower]}"                  placeholder="请输入{[$item.ColumnComment]}"              />            </el-form-item>            </el-col>{[else if eq $item.HtmlType "select"]}{[if eq $item.IsRow "1"]}              <el-col :span="24">{[else]}              <el-col :span="{[$.Span]}">{[end]}              <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">                <el-select v-model="form.{[$item.ColumnNameLower]}" placeholder="{[$item.ColumnComment]}">                  <el-option                      v-for="dict in {[$item.ColumnNameLower]}Options"                      {[if eq $item.Source "2"]}                      :key="dict.id"                      :label="dict.label"                      :value="dict.id"                      {[else]}                      :key="dict.dictValue"                      :label="dict.dictLabel"                      :value="dict.dictValue"{[end]}                  />                </el-select>          </el-form-item>          </el-col>{[else if eq $item.HtmlType "switch"]}{[if eq $item.IsRow "1"]}             <el-col :span="24">{[else]}             <el-col :span="{[$.Span]}">{[end]}             <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">             <el-switch               v-model="form.{[$item.ColumnNameLower]}"               :active-value="1"               :inactive-value="2"               active-text="是"               inactive-text="否">             </el-switch>         </el-form-item>         </el-col>{[else if eq $item.HtmlType "treeSelect"]}{[if eq $item.IsRow "1"]}             <el-col :span="24">{[else]}             <el-col :span="{[$.Span]}">{[end]}             <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">             <treeselect                  v-model="form.{[$item.ColumnNameLower]}"                  :options="{[$item.ColumnNameLower]}Options"                  :normalizer="normalizer"                  :show-count="true"                  placeholder="选择{[$item.ColumnComment]}"                />          </el-form-item>          </el-col>{[else if eq $item.HtmlType "imageUpload"]}{[if eq $item.IsRow "1"]}            <el-col :span="24">{[else]}            <el-col :span="{[$.Span]}">{[end]}            <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">            <image-upload                v-model="form.{[$item.ColumnNameLower]}"                :limit="1"            />         </el-form-item>         </el-col>{[else if eq $item.HtmlType "fileUpload"]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}">{[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">          <file-upload              v-model="form.{[$item.ColumnNameLower]}"              :limit="1"          />          </el-form-item>          </el-col> {[else if eq $item.HtmlType "radio"]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}"> {[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">            <el-radio-group v-model="form.{[$item.ColumnNameLower]}">              <el-radio                  v-for="dict in {[$item.ColumnNameLower]}Options"                  :key="dict.dictValue"                  :label="dict.dictValue"              >{{ dict.dictLabel }}              </el-radio>            </el-radio-group>          </el-form-item>          </el-col>{[else if  eq $item.HtmlType "textarea"]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}">{[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">            <el-input v-model="form.{[$item.ColumnNameLower]}" type="textarea" placeholder="请输入{[$item.ColumnComment]}" />          </el-form-item> </el-col>{[else if  eq $item.HtmlType "datetime"]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}">{[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">          <el-date-picker           v-model="form.{[$item.ColumnNameLower]}"           type="date"           placeholder="选择日期">          </el-date-picker>          </el-form-item>          </el-col>{[else if  eq $item.HtmlType "editor"]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}">{[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">            <editor v-model="form.{[$item.ColumnNameLower]}" :min-height="192"/>          </el-form-item>          </el-col>{[else]}{[if eq $item.IsRow "1"]}          <el-col :span="24">{[else]}          <el-col :span="{[$.Span]}">{[end]}          <el-form-item label="{[$item.ColumnComment]}" prop="{[$item.ColumnNameLower]}">            <el-input                v-model="form.{[$item.ColumnNameLower]}"                placeholder="请输入{[$item.ColumnComment]}"            />          </el-form-item>          </el-col> {[end]} {[end]} {[end]}          </el-row>          </el-form>{[if eq .IsDrawer 2]}      </el-card>      <div  class="dialog-footer">        <el-button type="primary" @click="submitForm">确 定</el-button>        <el-button @click="cancel">取 消</el-button>      </div>    </el-drawer>{[else]}      <div slot="footer" class="dialog-footer">        <el-button type="primary" @click="submitForm">确 定</el-button>        <el-button @click="cancel">取 消</el-button>      </div>    </el-dialog>{[end]}  </div></template>{[htmlSafe "<script>"]}import { list{[.ClassNameUpper]}, get{[.ClassNameUpper]}, del{[.ClassNameUpper]}, add{[.ClassNameUpper]}, update{[.ClassNameUpper]}, export{[.ClassNameUpper]} } from "@/api/{[.ModuleName]}/{[toMiddle .ClassNameCamel]}";import { getToken } from '@/utils/auth'import axios from 'axios'import fileDownload from 'js-file-download'import { Message } from 'element-ui'{[range $index, $item := .Columns]}{[if  eq $item.Source "2"]}import { listAll{[toUpper $item.Menu]} } from "@/api/{[$.ModuleName]}/{[toMiddle $item.Menu]}";{[end]}{[end]}{[if eq .IsHaveTree "1"]}import Treeselect from '@riophae/vue-treeselect'import '@riophae/vue-treeselect/dist/vue-treeselect.css'{[end]}export default {  name: "{[.ClassNameUpper]}",  components: {{[if eq .IsHaveTree "1"]}Treeselect{[end]}},  data() {    return {      // 遮罩层      loading: true,      // 导出遮罩层      exportLoading: false,      // 选中数组      ids: [],      // 非单个禁用      single: true,      // 非多个禁用      multiple: true,      // 显示搜索条件      showSearch: true,      // 总条数      total: 0,      // {[.FunctionName]}表格数据      {[.ClassNameCamel]}List: [],      // 弹出层标题      title: "",{[range $index, $item := .Columns]}{[if eq $item.HtmlType "treeSelect"]}      //{[$item.ColumnComment]}存放原始列表数据      {[$item.ColumnNameLower]}List: [],      {[end]}{[end]}      // 是否显示弹出层      open: false,{[range $index, $item := .Columns]}{[if eq $item.Source "1"]}      //{[$item.ColumnComment]}数据字典      {[$item.ColumnNameLower]}Options: [],{[else if eq $item.Source "2"]}      //{[$item.ColumnComment]}数据菜单      {[$item.ColumnNameLower]}Options: [],{[else if eq $item.Source "3"]}      //{[$item.ColumnComment]}本地数据      {[if eq $item.GoType "string"]}      {[$item.ColumnNameLower]}Options: [ {[range $i, $it := $item.Data]}           {dictValue:'{[$it.Id]}',dictLabel:"{[$it.Label]}"}{[if not (isLast $i (len $item.Data))]},{[end]}{[end]}],      {[else]}      {[$item.ColumnNameLower]}Options: [ {[range $i, $it := $item.Data]}                 {dictValue:{[$it.Id]},dictLabel:"{[$it.Label]}"}{[if not (isLast $i (len $item.Data))]},{[end]}{[end]}],      {[end]}{[end]}{[end]}      // 查询参数      queryParams: {{[range $index, $item := .Columns]}{[if eq $item.IsQuery "1"]}       //{[$item.ColumnComment]}查询字段      {[$item.ColumnNameLower]}: undefined,{[end]}{[end]}      pageNum: 1,      pageSize: 10      },      // 表单参数      form: {},      // 表单校验      rules: {{[range $index, $item := .Columns]}{[if eq $item.IsRequired "1"]}        {[$item.ColumnNameLower]}: [          { required: true, message: "{[$item.ColumnComment]}不能为空", trigger: "blur" }        ],{[end]}{[end]}      }    };  },  created() {    //获取列表数据    this.getList();{[range $index, $item := .Columns]}{[if eq $item.Source "1"]}    //获取{[$item.ColumnComment]}数据字典    this.getDicts("{[$item.DictType]}").then(response => {        this.{[$item.ColumnNameLower]}Options = response.data;    });{[else if eq $item.Source "2"]}   //获取{[$item.ColumnComment]}菜单   this.getList{[$item.ColumnNameUpper]}();   {[end]}{[end]}  },  methods: { {[range $index, $item := .Columns]}{[if eq $item.Source "2"]}     //查询{[$item.ColumnComment]}菜单     getList{[$item.ColumnNameUpper]}() {       listAll{[toUpper $item.Menu]}().then(response =>{ {[if eq $item.HtmlType "select"]}        this.{[$item.ColumnNameLower]}Options = response.data;{[else if eq $item.HtmlType "treeSelect"]}      //  response.data.push({ id: 0, menuName: '顶级节点', children: [] });        this.{[$item.ColumnNameLower]}List= Object.assign([],response.data);        this.{[$item.ColumnNameLower]}List.push({ id: 0, menuName: '顶级节点', children: []})        const root = { id: 0, label: '顶级节点', children: [] }        root.children = this.handleTree(response.data, 'id')        this.{[$item.ColumnNameLower]}Options.push(root){[end]}       });     },{[end]}{[end]}    /** 查询{[.FunctionName]}列表 */    getList() {      this.loading = true;      {[if eq .TplCategory "tree" ]}       listAll{[.ClassNameUpper]}(this.queryParams).then(response => {{[if eq .TplCategory "tree" ]}          this.{[.ClassNameCamel]}List = this.handleTree(response.data, 'id');{[else]}          this.{[.ClassNameCamel]}List = response.data.list;          this.total = response.data.total;{[end]}          this.loading = false;        });      {[else]}        list{[.ClassNameUpper]}(this.queryParams).then(response => {{[if eq .TplCategory "tree" ]}            this.{[.ClassNameCamel]}List = this.handleTree(response.data, 'id');{[else]}            this.{[.ClassNameCamel]}List = response.data.list;            this.total = response.data.total;{[end]}            this.loading = false;          });      {[end]}    },{[range $index, $item := .Columns]}{[if or (eq $item.Source "1") (eq $item.Source "3")]}      //获取{[$item.ColumnComment]}字典翻译     {[.ColumnNameLower]}Format(row, column) {       return this.selectDictLabel(this.{[.ColumnNameLower]}Options, row.{[.ColumnNameLower]});     },{[end]}{[if eq $item.Source "2"]}        //获取{[$item.ColumnComment]}字典翻译     {[.ColumnNameLower]}Format(row, column){ {[if eq $item.HtmlType "treeSelect" ]}       return this.selectLabel(this.{[.ColumnNameLower]}List, row.{[.ColumnNameLower]});{[else]}       return this.selectLabel(this.{[.ColumnNameLower]}Options, row.{[.ColumnNameLower]});{[end]}     },{[end]}{[end]}    // 取消按钮    cancel() {      this.open = false;      this.reset();    },    // 表单重置    reset() {      this.form = {{[range $index, $item := .Columns]}{[if eq $item.IsEdit "1"]}{[if $item.ColumnDefault]}{[if eq $item.GoType "string"]}        {[$item.ColumnNameLower]}: '{[$item.ColumnDefault]}',{[else]}        {[$item.ColumnNameLower]}: {[$item.ColumnDefault]},{[end]}{[else]}        //{[$item.ColumnComment]}字段        {[$item.ColumnNameLower]}: undefined,{[end]} {[end]}{[end]}      };      this.resetForm("form");    },    /** 搜索按钮操作 */    handleQuery() {      this.queryParams.pageNum = 1;      this.getList();    },    /** 重置按钮操作 */    resetQuery() {      this.resetForm("queryForm");      this.handleQuery();    },    // 多选框选中数据    handleSelectionChange(selection) {      this.ids = selection.map(item => item.id)      this.single = selection.length!=1      this.multiple = !selection.length    },    /** 新增按钮操作 */    handleAdd() {      this.reset();      this.open = true;      this.title = "添加{[.FunctionName]}";    },    /** 修改按钮操作 */    handleUpdate(row) {      this.reset();      const id = row.id || this.ids      get{[.ClassNameUpper]}(id).then(response => {        this.form = response.data;        this.open = true;        this.title = "修改{[.FunctionName]}";      });    },    /** 提交按钮 */    submitForm: function() {      this.$refs["form"].validate(valid => {        if (valid) {          if (this.form.id != undefined) {            update{[.ClassNameUpper]}(this.form).then(response => {              this.msgSuccess("修改成功");              this.open = false;              this.getList();            });          } else {            add{[.ClassNameUpper]}(this.form).then(response => {              this.msgSuccess("新增成功");              this.open = false;              this.getList();            });          }        }      });    },    /** 删除按钮操作 */    handleDelete(row) {      const ids = row.id || this.ids;      this.$confirm('是否确认删除{[.FunctionName]}编号为"' + ids + '"的数据项?', "警告", {          confirmButtonText: "确定",          cancelButtonText: "取消",          type: "warning"        }).then(function() {          return del{[.ClassNameUpper]}(ids);        }).then(() => {          this.getList();          this.msgSuccess("删除成功");        }).catch(() => {});    },{[if eq .IsHaveTree "1"]}    /** 转换数据结构 */    normalizer(node) {      if (node.children && !node.children.length) {        delete node.children      }      return {        id: node.id,        label: node.label,        children: node.children      }    },{[end]}    /** 导出按钮操作 */    handleExport() {      const queryParams = this.queryParams;      this.$confirm('是否确认导出所有{[.FunctionName]}数据项?', "警告", {          confirmButtonText: "确定",          cancelButtonText: "取消",          type: "warning"        }).then(() => {        this.exportLoading = true        axios.get(process.env.VUE_APP_BASE_API + '/api/v1/{[toLower .ClassNameLower]}/export',          {            headers: {              'Authorization': 'Bearer ' + getToken()            },            responseType: 'blob',            params: queryParams          }        ).then(res => {          if (!res.headers.filename){            Message({              message: "演示模式,不允许操作",              type: 'error'            })            this.exportLoading = false            return          }          fileDownload(res.data,res.headers.filename)          this.exportLoading = false        })      }).catch(() => {});    }  }};{[htmlSafe "</script>"]}
 |