Forráskód Böngészése

Merge pull request #534 from flipped-aurora/gva_gormv2_dev

前端模板eslit修改
奇淼(piexlmax 3 éve
szülő
commit
a89a0a76b8

+ 41 - 44
server/resource/template/web/api.js.tpl

@@ -9,13 +9,12 @@ import service from '@/utils/request'
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /{{.Abbreviation}}/create{{.StructName}} [post]
 export const create{{.StructName}} = (data) => {
-     return service({
-         url: "/{{.Abbreviation}}/create{{.StructName}}",
-         method: 'post',
-         data
-     })
- }
-
+  return service({
+    url: '/{{.Abbreviation}}/create{{.StructName}}',
+    method: 'post',
+    data
+  })
+}
 
 // @Tags {{.StructName}}
 // @Summary 删除{{.StructName}}
@@ -25,13 +24,13 @@ export const create{{.StructName}} = (data) => {
 // @Param data body model.{{.StructName}} true "删除{{.StructName}}"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
 // @Router /{{.Abbreviation}}/delete{{.StructName}} [delete]
- export const delete{{.StructName}} = (data) => {
-     return service({
-         url: "/{{.Abbreviation}}/delete{{.StructName}}",
-         method: 'delete',
-         data
-     })
- }
+export const delete{{.StructName}} = (data) => {
+  return service({
+    url: '/{{.Abbreviation}}/delete{{.StructName}}',
+    method: 'delete',
+    data
+  })
+}
 
 // @Tags {{.StructName}}
 // @Summary 删除{{.StructName}}
@@ -41,13 +40,13 @@ export const create{{.StructName}} = (data) => {
 // @Param data body request.IdsReq true "批量删除{{.StructName}}"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
 // @Router /{{.Abbreviation}}/delete{{.StructName}} [delete]
- export const delete{{.StructName}}ByIds = (data) => {
-     return service({
-         url: "/{{.Abbreviation}}/delete{{.StructName}}ByIds",
-         method: 'delete',
-         data
-     })
- }
+export const delete{{.StructName}}ByIds = (data) => {
+  return service({
+    url: '/{{.Abbreviation}}/delete{{.StructName}}ByIds',
+    method: 'delete',
+    data
+  })
+}
 
 // @Tags {{.StructName}}
 // @Summary 更新{{.StructName}}
@@ -57,14 +56,13 @@ export const create{{.StructName}} = (data) => {
 // @Param data body model.{{.StructName}} true "更新{{.StructName}}"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
 // @Router /{{.Abbreviation}}/update{{.StructName}} [put]
- export const update{{.StructName}} = (data) => {
-     return service({
-         url: "/{{.Abbreviation}}/update{{.StructName}}",
-         method: 'put',
-         data
-     })
- }
-
+export const update{{.StructName}} = (data) => {
+  return service({
+    url: '/{{.Abbreviation}}/update{{.StructName}}',
+    method: 'put',
+    data
+  })
+}
 
 // @Tags {{.StructName}}
 // @Summary 用id查询{{.StructName}}
@@ -74,14 +72,13 @@ export const create{{.StructName}} = (data) => {
 // @Param data body model.{{.StructName}} true "用id查询{{.StructName}}"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
 // @Router /{{.Abbreviation}}/find{{.StructName}} [get]
- export const find{{.StructName}} = (params) => {
-     return service({
-         url: "/{{.Abbreviation}}/find{{.StructName}}",
-         method: 'get',
-         params
-     })
- }
-
+export const find{{.StructName}} = (params) => {
+  return service({
+    url: '/{{.Abbreviation}}/find{{.StructName}}',
+    method: 'get',
+    params
+  })
+}
 
 // @Tags {{.StructName}}
 // @Summary 分页获取{{.StructName}}列表
@@ -91,10 +88,10 @@ export const create{{.StructName}} = (data) => {
 // @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /{{.Abbreviation}}/get{{.StructName}}List [get]
- export const get{{.StructName}}List = (params) => {
-     return service({
-         url: "/{{.Abbreviation}}/get{{.StructName}}List",
-         method: 'get',
-         params
-     })
- }
+export const get{{.StructName}}List = (params) => {
+  return service({
+    url: '/{{.Abbreviation}}/get{{.StructName}}List',
+    method: 'get',
+    params
+  })
+}

+ 77 - 80
server/resource/template/web/form.vue.tpl

@@ -1,124 +1,121 @@
 <template>
-<div>
+  <div>
     <el-form :model="formData" label-position="right" label-width="80px">
-        {{- range .Fields}}
-             <el-form-item label="{{.FieldDesc}}:">
-          {{- if eq .FieldType "bool" }}
-                <el-switch active-color="#13ce66" inactive-color="#ff4949" active-text="是" inactive-text="否" v-model="formData.{{.FieldJson}}" clearable ></el-switch>
-          {{ end -}}
-          {{- if eq .FieldType "string" }}
-                <el-input v-model="formData.{{.FieldJson}}" clearable placeholder="请输入" ></el-input>
-          {{ end -}}
-          {{- if eq .FieldType "int" }}
-          {{- if .DictType}}
-                 <el-select v-model="formData.{{ .FieldJson }}" placeholder="请选择" clearable>
-                     <el-option v-for="(item,key) in {{ .DictType }}Options" :key="key" :label="item.label" :value="item.value"></el-option>
-                 </el-select>
-          {{ else -}}
-                 <el-input v-model.number="formData.{{ .FieldJson }}" clearable placeholder="请输入"></el-input>
-          {{ end -}}
-          {{ end -}}
-          {{- if eq .FieldType "time.Time" }}
-                  <el-date-picker type="date" placeholder="选择日期" v-model="formData.{{ .FieldJson }}" clearable></el-date-picker>
-           {{ end -}}
-           {{- if eq .FieldType "float64" }}
-                  <el-input-number v-model="formData.{{ .FieldJson }}" :precision="2" clearable></el-input-number>
-           {{ end -}}
-              </el-form-item>
-           {{ end -}}
-
-           <el-form-item>
-           <el-button @click="save" type="primary">保存</el-button>
-           <el-button @click="back" type="primary">返回</el-button>
-           </el-form-item>
+    {{- range .Fields}}
+      <el-form-item label="{{.FieldDesc}}:">
+    {{ if eq .FieldType "bool" -}}
+      <el-switch active-color="#13ce66" inactive-color="#ff4949" active-text="是" inactive-text="否" v-model="formData.{{.FieldJson}}" clearable ></el-switch>
+    {{ end -}}
+    {{ if eq .FieldType "string" -}}
+      <el-input v-model="formData.{{.FieldJson}}" clearable placeholder="请输入" />
+    {{ end -}}
+    {{ if eq .FieldType "int" -}}
+    {{ if .DictType -}}
+      <el-select v-model="formData.{{ .FieldJson }}" placeholder="请选择" clearable>
+        <el-option v-for="(item,key) in {{ .DictType }}Options" :key="key" :label="item.label" :value="item.value"></el-option>
+      </el-select>
+    {{ else -}}
+      <el-input v-model.number="formData.{{ .FieldJson }}" clearable placeholder="请输入"/>
+    {{ end -}}
+    {{ end -}}
+    {{ if eq .FieldType "time.Time" }}
+      <el-date-picker type="date" placeholder="选择日期" v-model="formData.{{ .FieldJson }}" clearable></el-date-picker>
+    {{ end -}}
+    {{ if eq .FieldType "float64" }}
+      <el-input-number v-model="formData.{{ .FieldJson }}" :precision="2" clearable></el-input-number>
+    {{ end -}}
+      </el-form-item>
+    {{ end -}}
+      <el-form-item>
+        <el-button type="primary" @click="save">保存</el-button>
+        <el-button type="primary" @click="back">返回</el-button>
+      </el-form-item>
     </el-form>
 </div>
 </template>
 
 <script>
 import {
-    create{{.StructName}},
-    update{{.StructName}},
-    find{{.StructName}}
-} from "@/api/{{.PackageName}}";  //  此处请自行替换地址
-import infoList from "@/mixins/infoList";
+  create{{.StructName}},
+  update{{.StructName}},
+  find{{.StructName}}
+} from '@/api/{{.PackageName}}' //  此处请自行替换地址
+import infoList from '@/mixins/infoList'
 export default {
-  name: "{{.StructName}}",
+  name: '{{.StructName}}',
   mixins: [infoList],
   data() {
     return {
-      type: "",
-
-      {{- range .Fields}}
+      type: '',
+      {{range .Fields}}
           {{- if .DictType }}
-      {{ .DictType }}Options:[],
+      {{ .DictType }}Options: [],
           {{ end -}}
       {{end -}}
-
       formData: {
             {{range .Fields}}
             {{- if eq .FieldType "bool" -}}
-               {{.FieldJson}}:false,
+         {{.FieldJson}}: false,
             {{ end -}}
             {{- if eq .FieldType "string" -}}
-               {{.FieldJson}}:"",
+         {{.FieldJson}}: '',
             {{ end -}}
             {{- if eq .FieldType "int" -}}
-               {{.FieldJson}}:0,
+         {{.FieldJson}}: 0,
             {{ end -}}
             {{- if eq .FieldType "time.Time" -}}
-               {{.FieldJson}}:new Date(),
+         {{.FieldJson}}: new Date(),
             {{ end -}}
             {{- if eq .FieldType "float64" -}}
-               {{.FieldJson}}:0,
+         {{.FieldJson}}: 0,
             {{ end -}}
             {{ end }}
       }
-    };
+    }
+  },
+  async created() {
+    // 建议通过url传参获取目标数据ID 调用 find方法进行查询数据操作 从而决定本页面是create还是update 以下为id作为url参数示例
+    if (this.$route.query.id) {
+      const res = await find{{.StructName}}({ ID: this.$route.query.id })
+      if (res.code === 0) {
+        this.formData = res.data.re{{.Abbreviation}}
+        this.type = 'update'
+      }
+    } else {
+      this.type = 'create'
+    }
+    {{ range .Fields -}}
+      {{- if .DictType }}
+    await this.getDict("{{.DictType}}")
+      {{ end -}}
+    {{- end }}
   },
   methods: {
     async save() {
-      let res;
+      let res
       switch (this.type) {
-        case "create":
-          res = await create{{.StructName}}(this.formData);
-          break;
-        case "update":
-          res = await update{{.StructName}}(this.formData);
-          break;
+        case 'create':
+          res = await create{{.StructName}}(this.formData)
+          break
+        case 'update':
+          res = await update{{.StructName}}(this.formData)
+          break
         default:
-          res = await create{{.StructName}}(this.formData);
-          break;
+          res = await create{{.StructName}}(this.formData)
+          break
       }
-      if (res.code == 0) {
+      if (res.code === 0) {
         this.$message({
-          type:"success",
-          message:"创建/更改成功"
+          type: 'success',
+          message: '创建/更改成功'
         })
       }
     },
-    back(){
-        this.$router.go(-1)
+    back() {
+      this.$router.go(-1)
     }
-  },
-  async created() {
-   // 建议通过url传参获取目标数据ID 调用 find方法进行查询数据操作 从而决定本页面是create还是update 以下为id作为url参数示例
-    if(this.$route.query.id){
-    const res = await find{{.StructName}}({ ID: this.$route.query.id })
-    if(res.code == 0){
-       this.formData = res.data.re{{.Abbreviation}}
-       this.type = "update"
-     }
-    }else{
-     this.type = "create"
-   }
-  {{ range .Fields -}}
-    {{- if .DictType }}
-    await this.getDict("{{.DictType}}");
-    {{ end -}}
-  {{- end }}
+  }
 }
-};
 </script>
 
 <style>

+ 174 - 178
server/resource/template/web/table.vue.tpl

@@ -19,61 +19,61 @@
             </el-form-item>
                   {{- else }}
         <el-form-item label="{{.FieldDesc}}">
-          <el-input placeholder="搜索条件" v-model="searchInfo.{{.FieldJson}}"></el-input>
+          <el-input placeholder="搜索条件" v-model="searchInfo.{{.FieldJson}}" />
         </el-form-item> {{ end }} {{ end }}  {{ end }}
         <el-form-item>
-          <el-button @click="onSubmit" type="primary">查询</el-button>
+          <el-button type="primary" @click="onSubmit">查询</el-button>
         </el-form-item>
         <el-form-item>
-          <el-button @click="openDialog" type="primary">新增{{.Description}}</el-button>
+          <el-button type="primary" @click="openDialog">新增{{.Description}}</el-button>
         </el-form-item>
         <el-form-item>
-          <el-popover placement="top" v-model="deleteVisible" width="160">
+          <el-popover v-model="deleteVisible" placement="top" width="160">
             <p>确定要删除吗?</p>
-              <div style="text-align: right; margin: 0">
-                <el-button @click="deleteVisible = false" size="mini" type="text">取消</el-button>
-                <el-button @click="onDelete" size="mini" type="primary">确定</el-button>
-              </div>
-            <el-button icon="el-icon-delete" size="mini" slot="reference" type="danger">批量删除</el-button>
+            <div style="text-align: right; margin: 0">
+              <el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
+              <el-button size="mini" type="primary" @click="onDelete">确定</el-button>
+            </div>
+            <el-button slot="reference" icon="el-icon-delete" size="mini" type="danger">批量删除</el-button>
           </el-popover>
         </el-form-item>
       </el-form>
     </div>
     <el-table
-      :data="tableData"
-      @selection-change="handleSelectionChange"
-      border
       ref="multipleTable"
+      border
       stripe
       style="width: 100%"
       tooltip-effect="dark"
+      :data="tableData"
+      @selection-change="handleSelectionChange"
     >
-    <el-table-column type="selection" width="55"></el-table-column>
-    <el-table-column label="日期" width="180">
-         <template slot-scope="scope">{{ "{{scope.row.CreatedAt|formatDate}}" }}</template>
-    </el-table-column>
-    {{range .Fields}}
-    {{- if .DictType}}
+      <el-table-column type="selection" width="55" />
+      <el-table-column label="日期" width="180">
+        <template slot-scope="scope">{{ "{{ scope.row.CreatedAt|formatDate }}" }}</template>
+      </el-table-column>
+      {{- range .Fields}}
+      {{- if .DictType}}
       <el-table-column label="{{.FieldDesc}}" prop="{{.FieldJson}}" width="120">
         <template slot-scope="scope">
           {{"{{"}}filterDict(scope.row.{{.FieldJson}},"{{.DictType}}"){{"}}"}}
         </template>
       </el-table-column>
-    {{- else if eq .FieldType "bool" }}
-    <el-table-column label="{{.FieldDesc}}" prop="{{.FieldJson}}" width="120">
-         <template slot-scope="scope">{{ "{{scope.row."}}{{.FieldJson}}{{"|formatBoolean}}" }}</template>
-    </el-table-column> {{- else }}
-    <el-table-column label="{{.FieldDesc}}" prop="{{.FieldJson}}" width="120"></el-table-column> {{ end }}
-    {{ end }}
+      {{- else if eq .FieldType "bool" }}
+      <el-table-column label="{{.FieldDesc}}" prop="{{.FieldJson}}" width="120">
+        <template slot-scope="scope">{{ "{{scope.row."}}{{.FieldJson}}{{"|formatBoolean}}" }}</template>
+      </el-table-column> {{- else }}
+      <el-table-column label="{{.FieldDesc}}" prop="{{.FieldJson}}" width="120" /> {{ end -}}
+      {{ end -}}
       <el-table-column label="按钮组">
         <template slot-scope="scope">
-          <el-button class="table-button" @click="update{{.StructName}}(scope.row)" size="small" type="primary" icon="el-icon-edit">变更</el-button>
+          <el-button size="small" type="primary" icon="el-icon-edit" class="table-button" @click="update{{.StructName}}(scope.row)">变更</el-button>
           <el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteRow(scope.row)">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
-
     <el-pagination
+      layout="total, sizes, prev, pager, next, jumper"
       :current-page="page"
       :page-size="pageSize"
       :page-sizes="[10, 30, 50, 100]"
@@ -81,40 +81,38 @@
       :total="total"
       @current-change="handleCurrentChange"
       @size-change="handleSizeChange"
-      layout="total, sizes, prev, pager, next, jumper"
-    ></el-pagination>
-
+    />
     <el-dialog :before-close="closeDialog" :visible.sync="dialogFormVisible" title="弹窗操作">
       <el-form :model="formData" label-position="right" label-width="80px">
     {{- range .Fields}}
-         <el-form-item label="{{.FieldDesc}}:">
-      {{- if eq .FieldType "bool" }}
-            <el-switch active-color="#13ce66" inactive-color="#ff4949" active-text="是" inactive-text="否" v-model="formData.{{.FieldJson}}" clearable ></el-switch>
+        <el-form-item label="{{.FieldDesc}}:">
+      {{ if eq .FieldType "bool" }}
+          <el-switch active-color="#13ce66" inactive-color="#ff4949" active-text="是" inactive-text="否" v-model="formData.{{.FieldJson}}" clearable ></el-switch>
       {{ end -}}
-      {{- if eq .FieldType "string" }}
-            <el-input v-model="formData.{{.FieldJson}}" clearable placeholder="请输入" ></el-input>
+      {{ if eq .FieldType "string" }}
+          <el-input v-model="formData.{{.FieldJson}}" clearable placeholder="请输入" />
       {{ end -}}
-      {{- if eq .FieldType "int" }}
+      {{ if eq .FieldType "int" }}
       {{- if .DictType}}
-             <el-select v-model="formData.{{ .FieldJson }}" placeholder="请选择" clearable>
-                 <el-option v-for="(item,key) in {{ .DictType }}Options" :key="key" :label="item.label" :value="item.value"></el-option>
-             </el-select>
-      {{ else -}}
-             <el-input v-model.number="formData.{{ .FieldJson }}" clearable placeholder="请输入"></el-input>
+          <el-select v-model="formData.{{ .FieldJson }}" placeholder="请选择" clearable>
+            <el-option v-for="(item,key) in {{ .DictType }}Options" :key="key" :label="item.label" :value="item.value" />
+          </el-select>
+      {{ else }}
+          <el-input v-model.number="formData.{{ .FieldJson }}" clearable placeholder="请输入" />
       {{ end -}}
       {{ end -}}
-      {{- if eq .FieldType "time.Time" }}
-              <el-date-picker type="date" placeholder="选择日期" v-model="formData.{{ .FieldJson }}" clearable></el-date-picker>
+      {{ if eq .FieldType "time.Time" }}
+          <el-date-picker type="date" placeholder="选择日期" v-model="formData.{{ .FieldJson }}" clearable />
        {{ end -}}
        {{- if eq .FieldType "float64" }}
-              <el-input-number v-model="formData.{{ .FieldJson }}" :precision="2" clearable></el-input-number>
-       {{ end -}}
-          </el-form-item>
+          <el-input-number v-model="formData.{{ .FieldJson }}" :precision="2" clearable />
        {{ end -}}
-      </el-form>
-      <div class="dialog-footer" slot="footer">
+            </el-form-item>
+       {{- end }}
+     </el-form>
+      <div slot="footer" class="dialog-footer">
         <el-button @click="closeDialog">取 消</el-button>
-        <el-button @click="enterDialog" type="primary">确 定</el-button>
+        <el-button type="primary" @click="enterDialog">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -122,198 +120,196 @@
 
 <script>
 import {
-    create{{.StructName}},
-    delete{{.StructName}},
-    delete{{.StructName}}ByIds,
-    update{{.StructName}},
-    find{{.StructName}},
-    get{{.StructName}}List
-} from "@/api/{{.PackageName}}";  //  此处请自行替换地址
-import { formatTimeToStr } from "@/utils/date";
-import infoList from "@/mixins/infoList";
+  create{{.StructName}},
+  delete{{.StructName}},
+  delete{{.StructName}}ByIds,
+  update{{.StructName}},
+  find{{.StructName}},
+  get{{.StructName}}List
+} from '@/api/{{.PackageName}}' //  此处请自行替换地址
+import { formatTimeToStr } from '@/utils/date'
+import infoList from '@/mixins/infoList'
 export default {
-  name: "{{.StructName}}",
+  name: '{{.StructName}}',
   mixins: [infoList],
   data() {
     return {
       listApi: get{{ .StructName }}List,
       dialogFormVisible: false,
-      type: "",
+      type: '',
       deleteVisible: false,
       multipleSelection: [],
-
-      {{- range .Fields}}
+      {{ range .Fields}}
           {{- if .DictType }}
-      {{ .DictType }}Options:[],
+      {{ .DictType }}Options: [],
           {{ end -}}
-      {{end -}}
-
+      {{ end }}
       formData: {
-            {{range .Fields}}
-            {{- if eq .FieldType "bool" -}}
-               {{.FieldJson}}:false,
-            {{ end -}}
-            {{- if eq .FieldType "string" -}}
-               {{.FieldJson}}:"",
-            {{ end -}}
-            {{- if eq .FieldType "int" -}}
-               {{.FieldJson}}:0,
-            {{ end -}}
-            {{- if eq .FieldType "time.Time" -}}
-               {{.FieldJson}}:new Date(),
-            {{ end -}}
-            {{- if eq .FieldType "float64" -}}
-               {{.FieldJson}}:0,
-            {{ end -}}
-            {{ end }}
+        {{range .Fields}}
+          {{- if eq .FieldType "bool" -}}
+        {{.FieldJson}}: false,
+          {{ end -}}
+          {{- if eq .FieldType "string" -}}
+        {{.FieldJson}}: '',
+          {{ end -}}
+          {{- if eq .FieldType "int" -}}
+        {{.FieldJson}}: 0,
+          {{ end -}}
+          {{- if eq .FieldType "time.Time" -}}
+        {{.FieldJson}}: new Date(),
+          {{ end -}}
+          {{- if eq .FieldType "float64" -}}
+        {{.FieldJson}}: 0,
+          {{ end -}}
+        {{ end }}
       }
-    };
+    }
   },
   filters: {
     formatDate: function(time) {
-      if (time != null && time != "") {
+      if (time !== null && time !== '') {
         var date = new Date(time);
-        return formatTimeToStr(date, "yyyy-MM-dd hh:mm:ss");
+        return formatTimeToStr(date, 'yyyy-MM-dd hh:mm:ss');
       } else {
-        return "";
+        return ''
       }
     },
     formatBoolean: function(bool) {
       if (bool != null) {
-        return bool ? "是" :"否";
+        return bool ? '是' : '否'
       } else {
-        return "";
+        return ''
       }
     }
   },
+  async created() {
+    await this.getTableData()
+    {{ range .Fields -}}
+      {{- if .DictType }}
+    await this.getDict('{{.DictType}}')
+      {{ end -}}
+    {{- end }}
+  },
   methods: {
-      //条件搜索前端看此方法
-      onSubmit() {
-        this.page = 1
-        this.pageSize = 10
-        {{- range .Fields}} {{- if eq .FieldType "bool" }}      
-        if (this.searchInfo.{{.FieldJson}}==""){
-          this.searchInfo.{{.FieldJson}}=null
-        } {{ end }} {{ end }}    
-        this.getTableData()
-      },
-      handleSelectionChange(val) {
-        this.multipleSelection = val
-      },
-      deleteRow(row){
-        this.$confirm('确定要删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-           this.delete{{.StructName}}(row);
-        });
-      },
-      async onDelete() {
-        const ids = []
-        if(this.multipleSelection.length == 0){
-          this.$message({
-            type: 'warning',
-            message: '请选择要删除的数据'
-          })
-          return
-        }
-        this.multipleSelection &&
-          this.multipleSelection.map(item => {
-            ids.push(item.ID)
-          })
-        const res = await delete{{.StructName}}ByIds({ ids })
-        if (res.code == 0) {
-          this.$message({
-            type: 'success',
-            message: '删除成功'
-          })
-          if (this.tableData.length == ids.length && this.page > 1) {
-              this.page--;
-          }
-          this.deleteVisible = false
-          this.getTableData()
+  // 条件搜索前端看此方法
+    onSubmit() {
+      this.page = 1
+      this.pageSize = 10
+      {{- range .Fields}} {{- if eq .FieldType "bool" }}
+      if (this.searchInfo.{{.FieldJson}} === ""){
+        this.searchInfo.{{.FieldJson}}=null
+      } {{ end }} {{ end }}
+      this.getTableData()
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val
+    },
+    deleteRow(row) {
+      this.$confirm('确定要删除吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.delete{{.StructName}}(row)
+      })
+    },
+    async onDelete() {
+      const ids = []
+      if (this.multipleSelection.length === 0) {
+        this.$message({
+          type: 'warning',
+          message: '请选择要删除的数据'
+        })
+        return
+      }
+      this.multipleSelection &&
+        this.multipleSelection.map(item => {
+          ids.push(item.ID)
+        })
+      const res = await delete{{.StructName}}ByIds({ ids })
+      if (res.code === 0) {
+        this.$message({
+          type: 'success',
+          message: '删除成功'
+        })
+        if (this.tableData.length === ids.length && this.page > 1) {
+          this.page--
         }
-      },
+        this.deleteVisible = false
+        this.getTableData()
+      }
+    },
     async update{{.StructName}}(row) {
-      const res = await find{{.StructName}}({ ID: row.ID });
-      this.type = "update";
-      if (res.code == 0) {
-        this.formData = res.data.re{{.Abbreviation}};
-        this.dialogFormVisible = true;
+      const res = await find{{.StructName}}({ ID: row.ID })
+      this.type = 'update'
+      if (res.code === 0) {
+        this.formData = res.data.re{{.Abbreviation}}
+        this.dialogFormVisible = true
       }
     },
     closeDialog() {
-      this.dialogFormVisible = false;
+      this.dialogFormVisible = false
       this.formData = {
-          {{range .Fields}}
+        {{range .Fields}}
           {{- if eq .FieldType "bool" -}}
-             {{.FieldJson}}:false,
+        {{.FieldJson}}: false,
           {{ end -}}
           {{- if eq .FieldType "string" -}}
-             {{.FieldJson}}:"",
+        {{.FieldJson}}: '',
           {{ end -}}
           {{- if eq .FieldType "int" -}}
-             {{.FieldJson}}:0,
+        {{.FieldJson}}: 0,
           {{ end -}}
           {{- if eq .FieldType "time.Time" -}}
-             {{.FieldJson}}:new Date(),
+        {{.FieldJson}}: new Date(),
           {{ end -}}
           {{- if eq .FieldType "float64" -}}
-             {{.FieldJson}}:0,
+        {{.FieldJson}}: 0,
           {{ end -}}
-          {{ end }}
-      };
+        {{ end }}
+      }
     },
     async delete{{.StructName}}(row) {
-      const res = await delete{{.StructName}}({ ID: row.ID });
-      if (res.code == 0) {
+      const res = await delete{{.StructName}}({ ID: row.ID })
+      if (res.code === 0) {
         this.$message({
-          type: "success",
-          message: "删除成功"
-        });
-        if (this.tableData.length == 1 && this.page > 1 ) {
-            this.page--;
+          type: 'success',
+          message: '删除成功'
+        })
+        if (this.tableData.length === 1 && this.page > 1 ) {
+          this.page--
         }
-        this.getTableData();
+        this.getTableData()
       }
     },
     async enterDialog() {
-      let res;
+      let res
       switch (this.type) {
         case "create":
-          res = await create{{.StructName}}(this.formData);
-          break;
+          res = await create{{.StructName}}(this.formData)
+          break
         case "update":
-          res = await update{{.StructName}}(this.formData);
-          break;
+          res = await update{{.StructName}}(this.formData)
+          break
         default:
-          res = await create{{.StructName}}(this.formData);
-          break;
+          res = await create{{.StructName}}(this.formData)
+          break
       }
-      if (res.code == 0) {
+      if (res.code === 0) {
         this.$message({
-          type:"success",
-          message:"创建/更改成功"
+          type: 'success',
+          message: '创建/更改成功'
         })
-        this.closeDialog();
-        this.getTableData();
+        this.closeDialog()
+        this.getTableData()
       }
     },
     openDialog() {
-      this.type = "create";
-      this.dialogFormVisible = true;
+      this.type = 'create'
+      this.dialogFormVisible = true
     }
   },
-  async created() {
-    await this.getTableData();
-  {{ range .Fields -}}
-    {{- if .DictType }}
-    await this.getDict("{{.DictType}}");
-    {{ end -}}
-  {{- end }}
 }
-};
 </script>
 
 <style>