From d8585d0ee7a80ca0847e1b9f61396422fee24397 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 27 十二月 2022 09:46:36 +0800 Subject: [PATCH] update 优化 删除 vue3 模板无用参数 --- ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm | 168 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 98 insertions(+), 70 deletions(-) diff --git a/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm index 06ec7b1..a93922e 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm +++ b/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm @@ -11,19 +11,18 @@ #else #set($comment=$column.columnComment) #end -#if($column.htmlType == "input") +#if($column.htmlType == "input" || $column.htmlType == "textarea") <el-form-item label="${comment}" prop="${column.javaField}"> <el-input v-model="queryParams.${column.javaField}" placeholder="璇疯緭鍏�${comment}" clearable - size="small" @keyup.enter="handleQuery" /> </el-form-item> #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType) <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="璇烽�夋嫨${comment}" clearable size="small"> + <el-select v-model="queryParams.${column.javaField}" placeholder="璇烽�夋嫨${comment}" clearable> <el-option v-for="dict in ${dictType}" :key="dict.value" @@ -34,25 +33,23 @@ </el-form-item> #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType) <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="璇烽�夋嫨${comment}" clearable size="small"> + <el-select v-model="queryParams.${column.javaField}" placeholder="璇烽�夋嫨${comment}" clearable> <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> </el-select> </el-form-item> #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") <el-form-item label="${comment}" prop="${column.javaField}"> - <el-date-picker clearable size="small" + <el-date-picker clearable v-model="queryParams.${column.javaField}" type="date" value-format="YYYY-MM-DD" - placeholder="閫夋嫨${comment}"> + placeholder="璇烽�夋嫨${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - <el-form-item label="${comment}"> + <el-form-item label="${comment}" style="width: 308px"> <el-date-picker v-model="daterange${AttrName}" - size="small" - style="width: 240px" value-format="YYYY-MM-DD" type="daterange" range-separator="-" @@ -64,8 +61,8 @@ #end #end <el-form-item> - <el-button type="primary" icon="Search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="Refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> @@ -75,7 +72,6 @@ type="primary" plain icon="Plus" - size="mini" @click="handleAdd" v-hasPermi="['${moduleName}:${businessName}:add']" >鏂板</el-button> @@ -85,7 +81,6 @@ type="success" plain icon="Edit" - size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['${moduleName}:${businessName}:edit']" @@ -96,7 +91,6 @@ type="danger" plain icon="Delete" - size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['${moduleName}:${businessName}:remove']" @@ -107,7 +101,6 @@ type="warning" plain icon="Download" - size="mini" @click="handleExport" v-hasPermi="['${moduleName}:${businessName}:export']" >瀵煎嚭</el-button> @@ -126,7 +119,7 @@ #set($comment=$column.columnComment) #end #if($column.pk) - <el-table-column label="${comment}" align="center" prop="${javaField}" /> + <el-table-column label="${comment}" align="center" prop="${javaField}" v-if="${column.list}"/> #elseif($column.list && $column.htmlType == "datetime") <el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> <template #default="scope"> @@ -135,11 +128,11 @@ </el-table-column> #elseif($column.list && $column.htmlType == "imageUpload") <el-table-column label="${comment}" align="center" prop="${javaField}" width="100"> - <template #default="scope"> - <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> - </template> + <template #default="scope"> + <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> + </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}"> <template #default="scope"> #if($column.htmlType == "checkbox") @@ -154,25 +147,13 @@ #end #end <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template #default="scope"> - <el-button - size="mini" - type="text" - icon="Edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="Delete" - @click="handleDelete(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:remove']" - >鍒犻櫎</el-button> - </template> + <template #default="scope"> + <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']">淇敼</el-button> + <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['${moduleName}:${businessName}:remove']">鍒犻櫎</el-button> + </template> </el-table-column> </el-table> - + <pagination v-show="total>0" :total="total" @@ -187,7 +168,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)) @@ -200,11 +180,11 @@ <el-input v-model="form.${field}" placeholder="璇疯緭鍏�${comment}" /> </el-form-item> #elseif($column.htmlType == "imageUpload") - <el-form-item label="${comment}"> + <el-form-item label="${comment}" prop="${field}"> <image-upload v-model="form.${field}"/> </el-form-item> #elseif($column.htmlType == "fileUpload") - <el-form-item label="${comment}"> + <el-form-item label="${comment}" prop="${field}"> <file-upload v-model="form.${field}"/> </el-form-item> #elseif($column.htmlType == "editor") @@ -218,8 +198,11 @@ v-for="dict in ${dictType}" :key="dict.value" :label="dict.label" - #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end - +#if($column.javaType == "Integer" || $column.javaType == "Long") + :value="parseInt(dict.value)" +#else + :value="dict.value" +#end ></el-option> </el-select> </el-form-item> @@ -230,7 +213,7 @@ </el-select> </el-form-item> #elseif($column.htmlType == "checkbox" && "" != $dictType) - <el-form-item label="${comment}"> + <el-form-item label="${comment}" prop="${field}"> <el-checkbox-group v-model="form.${field}"> <el-checkbox v-for="dict in ${dictType}" @@ -241,35 +224,38 @@ </el-checkbox-group> </el-form-item> #elseif($column.htmlType == "checkbox" && $dictType) - <el-form-item label="${comment}"> + <el-form-item label="${comment}" prop="${field}"> <el-checkbox-group v-model="form.${field}"> <el-checkbox>璇烽�夋嫨瀛楀吀鐢熸垚</el-checkbox> </el-checkbox-group> </el-form-item> #elseif($column.htmlType == "radio" && "" != $dictType) - <el-form-item label="${comment}"> + <el-form-item label="${comment}" prop="${field}"> <el-radio-group v-model="form.${field}"> <el-radio v-for="dict in ${dictType}" :key="dict.value" - #if($column.javaType == "Integer" || $column.javaType == "Long"):label="parseInt(dict.value)"#else:label="dict.value"#end - +#if($column.javaType == "Integer" || $column.javaType == "Long") + :label="parseInt(dict.value)" +#else + :label="dict.value" +#end >{{dict.label}}</el-radio> </el-radio-group> </el-form-item> #elseif($column.htmlType == "radio" && $dictType) - <el-form-item label="${comment}"> + <el-form-item label="${comment}" prop="${field}"> <el-radio-group v-model="form.${field}"> <el-radio label="1">璇烽�夋嫨瀛楀吀鐢熸垚</el-radio> </el-radio-group> </el-form-item> #elseif($column.htmlType == "datetime") <el-form-item label="${comment}" prop="${field}"> - <el-date-picker clearable size="small" + <el-date-picker clearable v-model="form.${field}" - type="date" - value-format="YYYY-MM-DD" - placeholder="閫夋嫨${comment}"> + type="datetime" + value-format="YYYY-MM-DD HH:mm:ss" + placeholder="璇烽�夋嫨${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "textarea") @@ -279,15 +265,14 @@ #end #end #end -#end #if($table.sub) <el-divider content-position="center">${subTable.functionName}淇℃伅</el-divider> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> - <el-button type="primary" icon="Plus" size="mini" @click="handleAdd${subClassName}">娣诲姞</el-button> + <el-button type="primary" icon="Plus" @click="handleAdd${subClassName}">娣诲姞</el-button> </el-col> <el-col :span="1.5"> - <el-button type="danger" icon="Delete" size="mini" @click="handleDelete${subClassName}">鍒犻櫎</el-button> + <el-button type="danger" icon="Delete" @click="handleDelete${subClassName}">鍒犻櫎</el-button> </el-col> </el-row> <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}"> @@ -302,10 +287,42 @@ #set($comment=$column.columnComment) #end #if($column.pk || $javaField == ${subTableFkclassName}) -#elseif($column.list && "" != $javaField) - <el-table-column label="$comment" prop="${javaField}"> +#elseif($column.list && $column.htmlType == "input") + <el-table-column label="$comment" prop="${javaField}" width="150"> <template #default="scope"> <el-input v-model="scope.row.$javaField" placeholder="璇疯緭鍏�$comment" /> + </template> + </el-table-column> +#elseif($column.list && $column.htmlType == "datetime") + <el-table-column label="$comment" prop="${javaField}" width="240"> + <template #default="scope"> + <el-date-picker clearable + v-model="scope.row.$javaField" + type="date" + value-format="YYYY-MM-DD" + placeholder="璇烽�夋嫨$comment"> + </el-date-picker> + </template> + </el-table-column> +#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) + <el-table-column label="$comment" prop="${javaField}" width="150"> + <template #default="scope"> + <el-select v-model="scope.row.$javaField" placeholder="璇烽�夋嫨$comment"> + <el-option + v-for="dict in $column.dictType" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </template> + </el-table-column> +#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) + <el-table-column label="$comment" prop="${javaField}" width="150"> + <template #default="scope"> + <el-select v-model="scope.row.$javaField" placeholder="璇烽�夋嫨$comment"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> </template> </el-table-column> #end @@ -315,7 +332,7 @@ </el-form> <template #footer> <div 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> </template> @@ -337,6 +354,7 @@ const ${subclassName}List = ref([]); #end const open = ref(false); +const buttonLoading = ref(false); const loading = ref(true); const showSearch = ref(true); const ids = ref([]); @@ -359,14 +377,14 @@ queryParams: { pageNum: 1, pageSize: 10, - #foreach ($column in $columns) +#foreach ($column in $columns) #if($column.query) - $column.javaField: null#if($foreach.count != $columns.size()),#end + $column.javaField: undefined#if($foreach.count != $columns.size()),#end #end #end }, rules: { - #foreach ($column in $columns) +#foreach ($column in $columns) #if($column.required) #set($parentheseIndex=$column.columnComment.indexOf("锛�")) #if($parentheseIndex != -1) @@ -375,7 +393,7 @@ #set($comment=$column.columnComment) #end $column.javaField: [ - { required: true, message: "$comment涓嶈兘涓虹┖", trigger: #if($column.htmlType == "select")"change"#else"blur"#end } + { required: true, message: "$comment涓嶈兘涓虹┖", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end } ]#if($foreach.count != $columns.size()),#end #end #end @@ -419,9 +437,7 @@ function reset() { form.value = { #foreach ($column in $columns) -#if($column.htmlType == "radio") - $column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end -#elseif($column.htmlType == "checkbox") +#if($column.htmlType == "checkbox") $column.javaField: []#if($foreach.count != $columns.size()),#end #else $column.javaField: null#if($foreach.count != $columns.size()),#end @@ -468,9 +484,11 @@ /** 淇敼鎸夐挳鎿嶄綔 */ function handleUpdate(row) { + loading.value = true reset(); - const ${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value - get${BusinessName}(${pkColumn.javaField}).then(response => { + const _${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value + get${BusinessName}(_${pkColumn.javaField}).then(response => { + loading.value = false; form.value = response.data; #foreach ($column in $columns) #if($column.htmlType == "checkbox") @@ -489,6 +507,7 @@ function submitForm() { proxy.#[[$]]#refs["${businessName}Ref"].validate(valid => { if (valid) { + buttonLoading.value = true; #foreach ($column in $columns) #if($column.htmlType == "checkbox") form.value.$column.javaField = form.value.${column.javaField}.join(","); @@ -502,12 +521,16 @@ proxy.#[[$modal]]#.msgSuccess("淇敼鎴愬姛"); open.value = false; getList(); + }).finally(() => { + buttonLoading.value = false; }); } else { add${BusinessName}(form.value).then(response => { proxy.#[[$modal]]#.msgSuccess("鏂板鎴愬姛"); open.value = false; getList(); + }).finally(() => { + buttonLoading.value = false; }); } } @@ -516,13 +539,18 @@ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ function handleDelete(row) { - const ${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value; + const _${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value; proxy.#[[$modal]]#.confirm('鏄惁纭鍒犻櫎${functionName}缂栧彿涓�"' + ${pkColumn.javaField}s + '"鐨勬暟鎹」锛�').then(function() { - return del${BusinessName}(${pkColumn.javaField}s); + loading.value = true; + return del${BusinessName}(_${pkColumn.javaField}s); }).then(() => { + loading.value = true; getList(); proxy.#[[$modal]]#.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); + }).catch(() => { + }).finally(() => { + loading.value = false; + }); } #if($table.sub) -- Gitblit v1.9.3