From fa69c4fed092597de0d7e6bb522942da847bb641 Mon Sep 17 00:00:00 2001 From: zh <314079846@qq.com> Date: 星期一, 25 十一月 2024 10:13:18 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/project_management-vue --- src/views/process/modelManagement.vue | 432 +++++++++++++++++++++++++++-------------------------- 1 files changed, 220 insertions(+), 212 deletions(-) diff --git a/src/views/process/modelManagement.vue b/src/views/process/modelManagement.vue index 52ee3fe..c67b284 100644 --- a/src/views/process/modelManagement.vue +++ b/src/views/process/modelManagement.vue @@ -1,237 +1,245 @@ <template> - <div class="c-model"> - <div class="search-bar"> - <div> - <label>妯″瀷鏍囪瘑</label> - <el-input v-model="searchParams.key" size="small"></el-input> - </div> - <div> - <label>妯″瀷鍚嶇О</label> - <el-input v-model="searchParams.name" size="small"></el-input> - </div> - <div> - <el-button type="primary" @click="search" size="mini" icon="el-icon-search">鎼滅储</el-button> - <el-button type="default" @click="reset" size="mini" icon="el-icon-refresh">閲嶇疆</el-button> - </div> - </div> - <div class="c-model__content"> - <table-template - :data="tableData" - :total="total" - @page-change="handlePageChange" - > - <template #toolbar> - <el-button type="primary" @click="showAddDialog = true" size="mini" plain icon="el-icon-plus">鏂板缓妯″瀷</el-button> - </template> - <template #columns> - <el-table-column - prop="key" - label="妯″瀷鏍囪瘑" - width="180"> - </el-table-column> - <el-table-column - prop="name" - label="妯″瀷鍚嶇О" - width="180"> - </el-table-column> - <el-table-column - prop="category" - label="鍒嗙被"> - </el-table-column> - <el-table-column - prop="version" - label="鐗堟湰"> - </el-table-column> - <el-table-column - width="320" - prop="lastUpdateTime" - :formatter="handleDateTime" - label="鍒涘缓鏃堕棿"> - </el-table-column> - <el-table-column - prop="address" - width="320" - label="鎿嶄綔"> - <template slot-scope="scope"> - <!--primary / success / warning / danger / info / text--> - <el-button - size="mini" - type="text" - @click="handleDesign(scope.$index, scope.row)">璁捐</el-button> - <el-button - v-if="!scope.row.deploymentId" - size="mini" - type="text" - @click="handlePublish(scope.$index, scope.row)">鍙戝竷</el-button> - <el-button - size="mini" - type="text" - @click="handleExport(scope.$index, scope.row)">瀵煎嚭</el-button> - <el-button - size="mini" - type="text" - @click="handleDelete(scope.$index, scope.row)">鍒犻櫎</el-button> - </template> - </el-table-column> - </template> - </table-template> - </div> - <el-dialog - title="鏂板缓妯″瀷" - :visible.sync="showAddDialog" - > - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="妯″瀷鏍囪瘑"> - <el-input v-model="form.key"></el-input> - </el-form-item> - <el-form-item label="妯″瀷鍚嶇О"> - <el-input v-model="form.name"></el-input> - </el-form-item> - <el-form-item label="鍒嗙被"> - <el-input v-model="form.category"></el-input> - </el-form-item> - <el-form-item label="鎻忚堪"> - <el-input type="textarea" v-model="form.description"></el-input> - </el-form-item> - </el-form> - <span slot="footer" class="dialog-footer"> + <div class="c-model"> + <div class="search-bar"> + <div> + <label>妯″瀷鏍囪瘑</label> + <el-input v-model="searchParams.key" size="small"></el-input> + </div> + <div> + <label>妯″瀷鍚嶇О</label> + <el-input v-model="searchParams.name" size="small"></el-input> + </div> + <div> + <el-button type="primary" @click="search" size="mini" icon="el-icon-search">鎼滅储</el-button> + <el-button type="default" @click="reset" size="mini" icon="el-icon-refresh">閲嶇疆</el-button> + </div> + </div> + <div class="c-model__content"> + <table-template + :data="tableData" + :total="total" + @page-change="handlePageChange" + > + <template #toolbar> + <el-button type="primary" @click="showAddDialog = true" size="mini" plain icon="el-icon-plus">鏂板缓妯″瀷</el-button> + </template> + <template #columns> + <el-table-column + prop="key" + label="妯″瀷鏍囪瘑" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="妯″瀷鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="category" + label="鍒嗙被"> + </el-table-column> + <el-table-column + prop="version" + label="鐗堟湰"> + </el-table-column> + <el-table-column + width="320" + prop="lastUpdateTime" + :formatter="handleDateTime" + label="鍒涘缓鏃堕棿"> + </el-table-column> + <el-table-column + prop="address" + width="320" + label="鎿嶄綔"> + <template slot-scope="scope"> + <!--primary / success / warning / danger / info / text--> + <el-button + size="mini" + type="text" + @click="handleDesign(scope.$index, scope.row)">璁捐 + </el-button> + <el-button + v-if="!scope.row.deploymentId" + size="mini" + type="text" + @click="handlePublish(scope.$index, scope.row)">鍙戝竷 + </el-button> + <el-button + size="mini" + type="text" + @click="handleExport(scope.$index, scope.row)">瀵煎嚭 + </el-button> + <el-button + size="mini" + type="text" + @click="handleDelete(scope.$index, scope.row)">鍒犻櫎 + </el-button> + </template> + </el-table-column> + </template> + </table-template> + </div> + <el-dialog + title="鏂板缓妯″瀷" + :visible.sync="showAddDialog" + > + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="妯″瀷鏍囪瘑"> + <el-input v-model="form.key"></el-input> + </el-form-item> + <el-form-item label="妯″瀷鍚嶇О"> + <el-input v-model="form.name"></el-input> + </el-form-item> + <el-form-item label="鍒嗙被"> + <el-input v-model="form.category"></el-input> + </el-form-item> + <el-form-item label="鎻忚堪"> + <el-input type="textarea" v-model="form.description"></el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> <el-button @click="showAddDialog = false">鍙� 娑�</el-button> <el-button type="primary" @click="handleAddModel">纭� 瀹�</el-button> </span> - </el-dialog> - </div> + </el-dialog> + </div> </template> <script> import {getModelLists, addModel, publishModelById, deleteModelById} from "./api/model.js"; import commonHelper from "@/utils/common.js" import TableTemplate from "@/components/TableTemplate"; + export default { - name: "ModelManagement", - components: { - TableTemplate + name: "ModelManagement", + components: { + TableTemplate + }, + data() { + return { + responseData: {}, + showAddDialog: false, + form: { + key: "", + name: "", + category: "", + description: "", + }, + searchParams: { + name: "", + key: "", + pageSize: 10, + pageNum: 1, + orderByColumn: "modelSort", + isAsc: "asc", + }, + }; + }, + computed: { + tableData() { + return this.responseData.rows || [] }, - data() { - return { - responseData: {}, - showAddDialog: false, - form: { - key: "", - name: "", - category: "", - description: "", - }, - searchParams: { - name: "", - key: "", - pageSize: 10, - pageNum: 1, - orderByColumn: "modelSort", - isAsc: "asc", - }, - }; - }, - computed: { - tableData() { - return this.responseData.rows || [] - }, - total() { - return this.responseData.total || 0 - } - }, - created() { - this.getModelByParams(this.searchParams); - }, - methods: { - getModelByParams(params) { - getModelLists(params).then(res => { - this.responseData = res; - }); - }, - handleAddModel() { - const formData = commonHelper.objectToFormData(this.form); - addModel(formData).then(res => { - console.log(res); - this.showAddDialog = false; - this.getModelByParams(this.searchParams) - this.$message.success("娣诲姞鎴愬姛!"); - ["key", "name", "category", "description"].forEach(key => { - this.form[key] = ""; - }); - }); - }, - handleDateTime(row) { - const {createTime} = row; - return commonHelper.normalizeDateTimeString(createTime); - }, - handleDesign(index, row) { - // flowable鏀瑰彉璁捐鐨勮矾寰� - const path = "/designer/index.html#/editor/" + row.id; - // const path = "/editor?modelId=" + row.id; - commonHelper.openWindow(path); - }, - handlePublish(index, row) { - const id = row.id; - publishModelById(id).then(res => { - this.$message.success("閮ㄧ讲鎴愬姛!"); - this.getModelByParams(this.searchParams); - }); - }, - handleExport(index, row) { - const {key ,id} = row; - const a = document.createElement("a"); - const url = process.env.VUE_APP_TAB_URL_PREFIX + "/model/manage/export/" + id; - a.href = url; - a.click(); - }, - handleDelete(index, row) { - this.$confirm('纭畾鍒犻櫎璇ユ潯妯″瀷淇℃伅鍚楋紵', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const id = row.id; - deleteModelById(id).then(res => { - this.$message.success("鍒犻櫎鎴愬姛!"); - this.getModelByParams(this.searchParams); - }); - }); - - }, - search() { - this.getModelByParams(this.searchParams); - }, - reset() { - this.searchParams.name = ""; - this.searchParams.key = ""; - this.getModelByParams(this.searchParams); - }, - handlePageChange({pageNum, pageSize}) { - this.searchParams.pageNum = pageNum; - this.searchParams.pageSize = pageSize; - this.getModelByParams(this.searchParams); - }, + total() { + return this.responseData.total || 0 } + }, + created() { + this.getModelByParams(this.searchParams); + }, + methods: { + getModelByParams(params) { + getModelLists(params).then(res => { + this.responseData = res; + }); + }, + handleAddModel() { + const formData = commonHelper.objectToFormData(this.form); + addModel(formData).then(res => { + console.log(res); + this.showAddDialog = false; + this.getModelByParams(this.searchParams) + this.$message.success("娣诲姞鎴愬姛!"); + ["key", "name", "category", "description"].forEach(key => { + this.form[key] = ""; + }); + }); + }, + handleDateTime(row) { + const {createTime} = row; + return commonHelper.normalizeDateTimeString(createTime); + }, + handleDesign(index, row) { + // flowable鏀瑰彉璁捐鐨勮矾寰� + const path = process.env.VUE_APP_FLOWABLE_PREFIX + "/designer/index.html#/editor/" + row.id; + // const path = "/editor?modelId=" + row.id; + window.open(path, '') + }, + handlePublish(index, row) { + const id = row.id; + publishModelById(id).then(res => { + this.$message.success("閮ㄧ讲鎴愬姛!"); + this.getModelByParams(this.searchParams); + }); + }, + handleExport(index, row) { + const {key, id} = row; + const a = document.createElement("a"); + const url = process.env.VUE_APP_FLOWABLE_PREFIX + "/model/manage/export/" + id; + a.href = url; + a.click(); + }, + handleDelete(index, row) { + this.$confirm('纭畾鍒犻櫎璇ユ潯妯″瀷淇℃伅鍚楋紵', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + const id = row.id; + deleteModelById(id).then(res => { + this.$message.success("鍒犻櫎鎴愬姛!"); + this.getModelByParams(this.searchParams); + }); + }); + + }, + search() { + this.getModelByParams(this.searchParams); + }, + reset() { + this.searchParams.name = ""; + this.searchParams.key = ""; + this.getModelByParams(this.searchParams); + }, + handlePageChange({pageNum, pageSize}) { + this.searchParams.pageNum = pageNum; + this.searchParams.pageSize = pageSize; + this.getModelByParams(this.searchParams); + }, + } }; </script> <style> label { - font-size: 14px; - color: #606266; - margin-right: 8px; + font-size: 14px; + color: #606266; + margin-right: 8px; } + .search-bar { - display: flex; - margin-top: 8px; - margin-left: 8px; + display: flex; + margin-top: 8px; + margin-left: 8px; } + .el-input { - display: inline-block; - width: 300px; - margin-right: 10px; + display: inline-block; + width: 300px; + margin-right: 10px; } + .el-textarea { - width: 300px; + width: 300px; } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0