From 6b789e2eb07349f0423e7d064f625adb779faa6c Mon Sep 17 00:00:00 2001 From: kdyzm <zhengrongjun@haier.com> Date: 星期三, 02 六月 2021 18:13:34 +0800 Subject: [PATCH] 优化新增、修改页面的按钮动作loading从页面loading到按钮loading --- ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 108 insertions(+), 12 deletions(-) diff --git a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm index e139a13..f1247ab 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm +++ b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm @@ -38,20 +38,33 @@ <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> </el-select> </el-form-item> -#elseif($column.htmlType == "datetime") +#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") <el-form-item label="${comment}" prop="${column.javaField}"> - <el-date-picker clearable size="small" style="width: 200px" + <el-date-picker clearable size="small" v-model="queryParams.${column.javaField}" type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨${comment}"> </el-date-picker> </el-form-item> +#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") + <el-form-item label="${comment}"> + <el-date-picker + v-model="daterange${AttrName}" + size="small" + style="width: 240px" + value-format="yyyy-MM-dd" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + ></el-date-picker> + </el-form-item> #end #end #end <el-form-item> - <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <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> @@ -60,6 +73,7 @@ <el-col :span="1.5"> <el-button type="primary" + plain icon="el-icon-plus" size="mini" @click="handleAdd" @@ -94,7 +108,11 @@ #elseif($column.list && "" != $column.dictType) <el-table-column label="${comment}" align="center" prop="${javaField}" :formatter="${javaField}Format" /> #elseif($column.list && "" != $javaField) +#if(${foreach.index} == 1) + <el-table-column label="${comment}" prop="${javaField}" /> +#else <el-table-column label="${comment}" align="center" prop="${javaField}" /> +#end #end #end <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> @@ -106,6 +124,13 @@ @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']" >淇敼</el-button> + <el-button + size="mini" + type="text" + icon="el-icon-plus" + @click="handleAdd(scope.row)" + v-hasPermi="['${moduleName}:${businessName}:add']" + >鏂板</el-button> <el-button size="mini" type="text" @@ -138,6 +163,14 @@ #elseif($column.htmlType == "input") <el-form-item label="${comment}" prop="${field}"> <el-input v-model="form.${field}" placeholder="璇疯緭鍏�${comment}" /> + </el-form-item> +#elseif($column.htmlType == "imageUpload") + <el-form-item label="${comment}"> + <imageUpload v-model="form.${field}"/> + </el-form-item> +#elseif($column.htmlType == "fileUpload") + <el-form-item label="${comment}"> + <fileUpload v-model="form.${field}"/> </el-form-item> #elseif($column.htmlType == "editor") <el-form-item label="${comment}"> @@ -197,10 +230,10 @@ </el-form-item> #elseif($column.htmlType == "datetime") <el-form-item label="${comment}" prop="${field}"> - <el-date-picker clearable size="small" style="width: 200px" + <el-date-picker clearable size="small" v-model="form.${field}" - type="date" - value-format="yyyy-MM-dd" + type="datetime" + value-format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨${comment}"> </el-date-picker> </el-form-item> @@ -214,7 +247,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> @@ -226,6 +259,18 @@ import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; #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 @@ -236,6 +281,18 @@ 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 @@ -245,6 +302,8 @@ }, data() { return { + //鎸夐挳loading + buttonLoading: false, // 閬僵灞� loading: true, // 鏄剧ず鎼滅储鏉′欢 @@ -267,6 +326,10 @@ #if(${column.dictType} != '') // $comment瀛楀吀 ${column.javaField}Options: [], +#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) + // $comment鏃堕棿鑼冨洿 + daterange${AttrName}: [], #end #end // 鏌ヨ鍙傛暟 @@ -313,6 +376,21 @@ /** 鏌ヨ${functionName}鍒楄〃 */ getList() { this.loading = true; +#foreach ($column in $columns) +#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") + this.queryParams.params = {}; +#break +#end +#end +#foreach ($column in $columns) +#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) + if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) { + this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0]; + this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1]; + } +#end +#end list${BusinessName}(this.queryParams).then(response => { this.${businessName}List = this.handleTree(response.data, "${treeCode}", "${treeParentCode}"); this.loading = false; @@ -329,7 +407,7 @@ children: node.children }; }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ + /** 鏌ヨ${functionName}涓嬫媺鏍戠粨鏋� */ getTreeselect() { list${BusinessName}().then(response => { this.${businessName}Options = []; @@ -381,24 +459,37 @@ }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { +#foreach ($column in $columns) +#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) + this.daterange${AttrName} = []; +#end +#end this.resetForm("queryForm"); this.handleQuery(); }, /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { + handleAdd(row) { this.reset(); - this.getTreeselect(); + this.getTreeselect(); + if (row != null && row.${treeCode}) { + this.form.${treeParentCode} = row.${treeCode}; + } else { + this.form.${treeParentCode} = 0; + } this.open = true; this.title = "娣诲姞${functionName}"; }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { + this.loading = true; this.reset(); - this.getTreeselect(); + this.getTreeselect(); if (row != null) { this.form.${treeParentCode} = row.${treeCode}; } get${BusinessName}(row.${pkColumn.javaField}).then(response => { + this.loading = false; this.form = response.data; #foreach ($column in $columns) #if($column.htmlType == "checkbox") @@ -413,6 +504,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(","); @@ -420,12 +512,14 @@ #end if (this.form.${pkColumn.javaField} != null) { update${BusinessName}(this.form).then(response => { + this.buttonLoading = false; this.msgSuccess("淇敼鎴愬姛"); this.open = false; this.getList(); }); } else { add${BusinessName}(this.form).then(response => { + this.buttonLoading = false; this.msgSuccess("鏂板鎴愬姛"); this.open = false; this.getList(); @@ -440,9 +534,11 @@ confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" - }).then(function() { + }).then(() => { + this.loading = true; return del${BusinessName}(row.${pkColumn.javaField}); }).then(() => { + this.loading = false; this.getList(); this.msgSuccess("鍒犻櫎鎴愬姛"); }) -- Gitblit v1.9.3