sunkean il y a 3 ans
Parent
commit
3e0c3143b3
2 fichiers modifiés avec 240 ajouts et 255 suppressions
  1. 99 100
      src/main/vue/src/views/MetaResourcesEdit.vue
  2. 141 155
      src/main/vue/src/views/MetaResourcesList.vue

+ 99 - 100
src/main/vue/src/views/MetaResourcesEdit.vue

@@ -1,60 +1,60 @@
 <template>
-    <div class="edit-view">
-        <page-title>
-            <el-button @click="$router.go(-1)" :disabled="saving">取消</el-button>
-            <el-button @click="onDelete" :disabled="saving" type="danger" v-if="formData.id">
-                删除
-            </el-button>
-            <el-button @click="onSave" :loading="saving" type="primary">保存</el-button>
-        </page-title>
-        <div class="edit-view__content-wrapper">
-            <div class="edit-view__content-section">
-                <el-form :model="formData" :rules="rules" ref="form" label-width="52px" label-position="right" size="small"
-                    style="max-width: 500px;">
-                    <el-form-item prop="name" label="名称">
-                        <el-input v-model="formData.name"></el-input>
-                    </el-form-item>
-                    <el-form-item prop="pic" label="文件">
-                        <object-upload v-model="formData.pic[0]" compress width="3000" height="3000"></object-upload>
-                        <div class="tip">支持JPG、PNG、GIF、MP4,推荐长宽比1:1</div>
-                    </el-form-item>
-                    <el-form-item class="form-submit">
-                        <el-button @click="onSave" :loading="saving" type="primary">
-                            保存
-                        </el-button>
-                        <el-button @click="onDelete" :disabled="saving" type="danger" v-if="formData.id">
-                            删除
-                        </el-button>
-                        <el-button @click="$router.go(-1)" :disabled="saving">取消</el-button>
-                    </el-form-item>
-                </el-form>
-            </div>
-        </div>
-</div>
+	<div class="edit-view">
+		<page-title>
+			<el-button @click="$router.go(-1)" :disabled="saving">取消</el-button>
+			<el-button @click="onDelete" :disabled="saving" type="danger" v-if="formData.id">
+				删除
+			</el-button>
+			<el-button @click="onSave" :loading="saving" type="primary">保存</el-button>
+		</page-title>
+		<div class="edit-view__content-wrapper">
+			<div class="edit-view__content-section">
+				<el-form :model="formData" :rules="rules" ref="form" label-width="82px" label-position="right" size="small"
+					style="max-width: 500px;">
+					<el-form-item prop="name" label="文件名称">
+						<el-input v-model="formData.name"></el-input>
+					</el-form-item>
+					<el-form-item prop="pic" label="文件">
+						<object-upload v-model="formData.pic[0]" compress width="3000" height="3000"></object-upload>
+						<div class="tip">支持JPG、PNG、GIF、MP4,推荐长宽比1:1</div>
+					</el-form-item>
+					<el-form-item class="form-submit">
+						<el-button @click="onSave" :loading="saving" type="primary">
+							保存
+						</el-button>
+						<el-button @click="onDelete" :disabled="saving" type="danger" v-if="formData.id">
+							删除
+						</el-button>
+						<el-button @click="$router.go(-1)" :disabled="saving">取消</el-button>
+					</el-form-item>
+				</el-form>
+			</div>
+		</div>
+	</div>
 </template>
 <script>
 export default {
-	name: 'MetaResourcesEdit',
-	created() {
-		if (this.$route.query.id) {
-			this.$http
-				.get('metaResources/get/' + this.$route.query.id)
-				.then(res => {
-					this.formData = res;
-				})
-				.catch(e => {
-					console.log(e);
-					this.$message.error(e.error);
-				});
-		}
-	},
-	data() {
-		return {
-			saving: false,
-			formData: {
-				pic: []
-			},
-			rules: {
+    name: 'MetaResourcesEdit',
+    created() {
+        if (this.$route.query.id) {
+            this.$http
+                .get('metaResources/get/' + this.$route.query.id)
+                .then(res => {
+                    this.formData = res;
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        }
+    },
+    data() {
+        return {
+            saving: false,
+            formData: {
+                pic: []
+            },
+            rules: {
                 name: [
                     {
                         required: true,
@@ -68,55 +68,54 @@ export default {
                         message: '请上传文件',
                         trigger: 'blur'
                     }
-                ],
+                ]
             }
-			
-		};
-	},
-	methods: {
-		onSave() {
-			this.$refs.form.validate(valid => {
-				if (valid) {
-					this.submit();
-				} else {
-					return false;
-				}
-			});
-		},
-		submit() {
-			let data = { ...this.formData };
+        };
+    },
+    methods: {
+        onSave() {
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            let data = { ...this.formData };
 
-			this.saving = true;
-			this.$http
-				.post('/metaResources/save', data, { body: 'json' })
-				.then(res => {
-					this.saving = false;
-					this.$message.success('成功');
-					this.$router.go(-1);
-				})
-				.catch(e => {
-					console.log(e);
-					this.saving = false;
-					this.$message.error(e.error);
-				});
-		},
-		onDelete() {
-			this.$confirm('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
-				.then(() => {
-					return this.$http.post(`/metaResources/del/${this.formData.id}`);
-				})
-				.then(() => {
-					this.$message.success('删除成功');
-					this.$router.go(-1);
-				})
-				.catch(e => {
-					if (e !== 'cancel') {
-						console.log(e);
-						this.$message.error((e || {}).error || '删除失败');
-					}
-				});
-		}
-	}
+            this.saving = true;
+            this.$http
+                .post('/metaResources/save', data, { body: 'json' })
+                .then(res => {
+                    this.saving = false;
+                    this.$message.success('成功');
+                    this.$router.go(-1);
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.saving = false;
+                    this.$message.error(e.error);
+                });
+        },
+        onDelete() {
+            this.$confirm('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
+                .then(() => {
+                    return this.$http.post(`/metaResources/del/${this.formData.id}`);
+                })
+                .then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                })
+                .catch(e => {
+                    if (e !== 'cancel') {
+                        console.log(e);
+                        this.$message.error((e || {}).error || '删除失败');
+                    }
+                });
+        }
+    }
 };
 </script>
 <style lang="less" scoped></style>

+ 141 - 155
src/main/vue/src/views/MetaResourcesList.vue

@@ -1,166 +1,152 @@
 <template>
-    <div class="list-view">
-        <page-title>
-            <el-button @click="addRow" type="primary" icon="el-icon-plus" :disabled="fetchingData || downloading"
-                class="filter-item">
-                新增
-            </el-button>
-            <el-button @click="download" icon="el-icon-upload2" :loading="downloading" :disabled="fetchingData"
-                class="filter-item">
-                导出
-            </el-button>
-        </page-title>
-        <div class="filters-container">
-            <el-input placeholder="搜索..." v-model="search" clearable class="filter-item search"
-                @keyup.enter.native="getData">
-                <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
-            </el-input>
-        </div>
-        <el-table :data="tableData" row-key="id" ref="table" header-row-class-name="table-header-row"
-            header-cell-class-name="table-header-cell" row-class-name="table-row" cell-class-name="table-cell"
-            :height="tableHeight" v-loading="fetchingData">
-            <el-table-column v-if="multipleMode" align="center" type="selection" width="50">
-            </el-table-column>
-            <el-table-column prop="id" label="ID" width="100">
-            </el-table-column>
-            <el-table-column prop="name" label="名称" width="150" align="center">
-            </el-table-column>
-            <el-table-column prop="pic" label="文件"  align="center">
-                <template slot-scope="{ row }">
-                    <el-image
-                        style="width: 30px; height: 30px"
-                        :src="row.pic[0].thumb || row.pic[0].url"
-                        fit="cover"
-                        :preview-src-list="row.pic.map(i => i.thumb || i.url)"
-                    ></el-image>
-                </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center" fixed="right" width="150">
-                <template slot-scope="{row}">
-                    <el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>
-                    <el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-        <div class="pagination-wrapper">
-            <!-- <div class="multiple-mode-wrapper">
-                    <el-button v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
-                    <el-button-group v-else>
-                        <el-button @click="operation1">批量操作1</el-button>
-                        <el-button @click="operation2">批量操作2</el-button>
-                        <el-button @click="toggleMultipleMode(false)">取消</el-button>
-                    </el-button-group>
-                </div> -->
-            <el-pagination background @size-change="onSizeChange" @current-change="onCurrentChange" :current-page="page"
-                :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
-                :total="totalElements">
-            </el-pagination>
-        </div>
+	<div class="list-view">
+		<page-title>
+			<el-button @click="addRow" type="primary" icon="el-icon-plus" :disabled="fetchingData || downloading"
+				class="filter-item">
+				新增
+			</el-button>
+			<el-button @click="download" icon="el-icon-upload2" :loading="downloading" :disabled="fetchingData"
+				class="filter-item">
+				导出
+			</el-button>
+		</page-title>
+		<div class="filters-container">
+			<el-input placeholder="搜索..." v-model="search" clearable class="filter-item search"
+				@keyup.enter.native="getData">
+				<el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
+			</el-input>
+		</div>
+		<el-table :data="tableData" row-key="id" ref="table" header-row-class-name="table-header-row"
+			header-cell-class-name="table-header-cell" row-class-name="table-row" cell-class-name="table-cell"
+			:height="tableHeight" v-loading="fetchingData">
+			<el-table-column v-if="multipleMode" align="center" type="selection" width="50">
+			</el-table-column>
+			<el-table-column prop="name" label="文件名称" width="250" align="center">
+			</el-table-column>
+			<el-table-column prop="pic" label="文件" align="center">
+				<template slot-scope="{ row }">
+					<el-image style="width: 30px; height: 30px" :src="row.pic[0].thumb || row.pic[0].url" fit="cover"
+						:preview-src-list="row.pic.map(i => i.thumb || i.url)"></el-image>
+				</template>
+			</el-table-column>
+			<el-table-column label="操作" align="center" fixed="right" width="150">
+				<template slot-scope="{row}">
+					<el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>
+					<el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<div class="pagination-wrapper">
+			<el-pagination background @size-change="onSizeChange" @current-change="onCurrentChange" :current-page="page"
+				:page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
+				:total="totalElements">
+			</el-pagination>
+		</div>
 
-</div>
+	</div>
 </template>
 <script>
 import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 
 export default {
-	name: 'MetaResourcesList',
-	mixins: [pageableTable],
-	data() {
-		return {
-			multipleMode: false,
-			search: '',
-			url: '/metaResources/all',
-			downloading: false
-		};
-	},
-	computed: {
-		selection() {
-			return this.$refs.table.selection.map(i => i.id);
-		}
-	},
-	methods: {
-		typeFormatter(row, column, cellValue, index) {
-			let selectedOption = this.typeOptions.find(i => i.value === cellValue);
-			if (selectedOption) {
-				return selectedOption.label;
-			}
-			return '';
-		},
-		beforeGetData() {
-			return { search: this.search, query: { del: false } };
-		},
-		toggleMultipleMode(multipleMode) {
-			this.multipleMode = multipleMode;
-			if (!multipleMode) {
-				this.$refs.table.clearSelection();
-			}
-		},
-		addRow() {
-			this.$router.push({
-				path: '/metaResourcesEdit',
-				query: {
-					...this.$route.query
-				}
-			});
-		},
-		editRow(row) {
-			this.$router.push({
-				path: '/metaResourcesEdit',
-				query: {
-					id: row.id
-				}
-			});
-		},
-		download() {
-			this.downloading = true;
-			this.$axios
-				.get('/metaResources/excel', {
-					responseType: 'blob',
-					params: { size: 10000 }
-				})
-				.then(res => {
-					console.log(res);
-					this.downloading = false;
-					const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
-					const link = document.createElement('a');
-					link.href = downloadUrl;
-					link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
-					document.body.appendChild(link);
-					link.click();
-					link.remove();
-				})
-				.catch(e => {
-					console.log(e);
-					this.downloading = false;
-					this.$message.error(e.error);
-				});
-		},
-		operation1() {
-			this.$notify({
-				title: '提示',
-				message: this.selection
-			});
-		},
-		operation2() {
-			this.$message('操作2');
-		},
-		deleteRow(row) {
-			this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
-				.then(() => {
-					return this.$http.post(`/metaResources/del/${row.id}`);
-				})
-				.then(() => {
-					this.$message.success('删除成功');
-					this.getData();
-				})
-				.catch(e => {
-					if (e !== 'cancel') {
-						this.$message.error(e.error);
-					}
-				});
-		}
-	}
+    name: 'MetaResourcesList',
+    mixins: [pageableTable],
+    data() {
+        return {
+            multipleMode: false,
+            search: '',
+            url: '/metaResources/all',
+            downloading: false
+        };
+    },
+    computed: {
+        selection() {
+            return this.$refs.table.selection.map(i => i.id);
+        }
+    },
+    methods: {
+        typeFormatter(row, column, cellValue, index) {
+            let selectedOption = this.typeOptions.find(i => i.value === cellValue);
+            if (selectedOption) {
+                return selectedOption.label;
+            }
+            return '';
+        },
+        beforeGetData() {
+            return { search: this.search, query: { del: false } };
+        },
+        toggleMultipleMode(multipleMode) {
+            this.multipleMode = multipleMode;
+            if (!multipleMode) {
+                this.$refs.table.clearSelection();
+            }
+        },
+        addRow() {
+            this.$router.push({
+                path: '/metaResourcesEdit',
+                query: {
+                    ...this.$route.query
+                }
+            });
+        },
+        editRow(row) {
+            this.$router.push({
+                path: '/metaResourcesEdit',
+                query: {
+                    id: row.id
+                }
+            });
+        },
+        download() {
+            this.downloading = true;
+            this.$axios
+                .get('/metaResources/excel', {
+                    responseType: 'blob',
+                    params: { size: 10000 }
+                })
+                .then(res => {
+                    console.log(res);
+                    this.downloading = false;
+                    const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
+                    const link = document.createElement('a');
+                    link.href = downloadUrl;
+                    link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
+                    document.body.appendChild(link);
+                    link.click();
+                    link.remove();
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.downloading = false;
+                    this.$message.error(e.error);
+                });
+        },
+        operation1() {
+            this.$notify({
+                title: '提示',
+                message: this.selection
+            });
+        },
+        operation2() {
+            this.$message('操作2');
+        },
+        deleteRow(row) {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
+                .then(() => {
+                    return this.$http.post(`/metaResources/del/${row.id}`);
+                })
+                .then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                })
+                .catch(e => {
+                    if (e !== 'cancel') {
+                        this.$message.error(e.error);
+                    }
+                });
+        }
+    }
 };
 </script>
 <style lang="less" scoped></style>