From d6f94d02fd033c1c0a68fe2d4e987eb233d2afb1 Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期三, 05 三月 2025 18:05:03 +0800 Subject: [PATCH] 整合代码 --- Source/UBCS-WEB/src/views/docking/info.vue | 296 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 190 insertions(+), 106 deletions(-) diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue index 5d7cff7..08f7265 100644 --- a/Source/UBCS-WEB/src/views/docking/info.vue +++ b/Source/UBCS-WEB/src/views/docking/info.vue @@ -2,28 +2,45 @@ <el-container> <el-main> <basic-container> - <avue-crud ref="crud" v-model="form" :data="data" :option="option" :page.sync="page" @on-load="onLoad" + <avue-crud ref="crud" v-model="form" :cell-style="cellStyle" :data="data" :option="option" :page.sync="page" + :permission="permissionList" + @on-load="onLoad" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" @row-click="rowClick"> + @size-change="sizeChange" @refresh-change="refreshChange" @row-click="rowClick"> <template slot="menu" slot-scope="{row,index}"> - <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)">缂栬緫</el-button> - <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button> - <el-button v-if="row.usedflag=='false'" icon="el-icon-position" size="small" type="text" - @click="ENABLE(row,index)">鍚敤 + <el-button v-if="permissionList.edit" :disabled="row.usedFlag === 'true' ? false :true" + icon="el-icon-edit" size="small" + type="text" + @click="updateSave(row,index)">缂栬緫 </el-button> - <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">鍋滅敤 + <el-button v-if="permissionList.delete" icon="el-icon-delete" size="small" type="text" + @click="deleteSave(row,index)">鍒犻櫎 </el-button> + <span v-if="permissionList.enable"> + + <el-button v-if="row.usedFlag=='false' || row.usedFlag==''" icon="el-icon-position" size="small" + type="text" @click="ENABLE(row,index)">鍚敤 + </el-button> + </span> + <span v-if="permissionList.stop"> + <el-button v-if="row.usedFlag !== 'false' && row.usedFlag !== ''" icon="el-icon-finished" + size="small" + type="text" @click="DISABLE(row, index)">鍋滅敤 + </el-button> + </span> </template> <template slot="menuLeft"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addSave">鏂� 澧� + <el-button v-if="permissionList.add" icon="el-icon-plus" size="small" type="primary" + @click="addSave"> + 鏂� 澧� </el-button> - <el-button icon="el-icon-share" size="small" @click="PUSH">鍚� 姝� + <el-button v-if="permissionList.sync" icon="el-icon-share" size="small" @click="PUSH">鍚� 姝� </el-button> - <el-button icon="el-icon-search" size="small" @click="openAdvancedQuery">鏌� 璇� + <el-button v-if="permissionList.query" icon="el-icon-search" size="small" + @click="openAdvancedQuery">鏌� 璇� </el-button> </template> </avue-crud> @@ -42,38 +59,20 @@ <script> import { - getList, add, edit, del, push, updateStatus + getList, add, edit, del, push, updateStatus, HeaderRequest, ParmRequest } from "@/api/docking/info"; import {getDictionary} from "@/api/omd/enum"; import infoForm from "./infoForm.vue"; +import {mapGetters} from "vuex"; export default { name: "info", components: {infoForm}, + data() { return { - add: [ - { - pushType: '1', - name: '灏忔槑', - }, - { - pushType: '1', - name: '灏忔槑1', - }, - { - pushType: '2', - name: '灏忔槑12', - }, - { - pushType: '5', - name: '灏忔槑123', - }, - { - pushType: '2', - name: '灏忕孩123', - } - ], + //涓嬫媺鎬荤被鍨� + DropDownTheTotalType: [], //鎺ュ彛绫诲瀷涓嬫媺 interfaceTypeList: [{ label: 'webService', value: 'webService' @@ -94,6 +93,14 @@ }, { label: 'Json', value: 'json' }], + //鍐呭绫诲瀷 + contentTypeList: [{ + label:'application/json',value:'application/json' + },{ + label:'application/x-www-form-urlencoded',value:'application/x-www-form-urlencoded' + },{ + label:'multipart/form-data',value:'multipart/form-data' + }], //鎺ㄩ�佺被鍨� pushTypeList: [{value: '1', label: '鏁版嵁鎺ㄩ��'}, {value: '2', label: '鍒嗙被鎺ㄩ��'}, @@ -103,7 +110,7 @@ {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, {value: '7', label: '鏁版嵁鏌ヨ'}], page: { - pageSize: 10, + pageSize: 20, currentPage: 1, total: 100 }, @@ -115,96 +122,118 @@ option: { height: "auto", calcHeight: 20, + columnBtn: false, tip: false, headerAlign: "center", border: true, index: true, selection: true, + indexFixed: false, + selectionFixed: false, searchShow: false, + refreshBtn: false, searchMenuSpan: 6, rowKey: "id", tabs: true, stripe: true, - indexFixed: false, menuWidth: 180, highlightCurrentRow: true, addBtn: false, editBtn: false, delBtn: false, - columnBtn: false, column: [{ - label: '鎺ㄩ�佺被鍨�', - prop: 'pushType', + label: '鏄惁鍚敤', + prop: 'usedFlag', + width: 150, + formatter: res => res.usedFlag === "true" ? "鍚敤" : "鍋滅敤" + }, { + label: '闆嗘垚绯荤粺', + prop: 'sysBaseName', sortable: true, - overHidden:true, + width: 150 + }, { + label: '鍒嗙被閫夋嫨', + prop: 'classifyName', + align: 'center', + // sortable: true, + width: 150 + }, { + label: '缂栫爜绫诲瀷', + prop: 'isGroupCodeFlag', + sortable: true, + width: 150, + formatter: res => res.isGroupCodeFlag === 'true' ? '闆嗗洟鐮�' : '浼佷笟缂栫爜' + }, { + label: '鎺ュ彛绫诲瀷', + prop: 'dataFlowTypeText', + align: 'center', + sortable: true, + width: 150, + }, { + label: '鎺ㄩ�佺被鍨�', + prop: 'pushTypeText', + sortable: true, + overHidden: true, + align: 'center', width: 150, //pushTypeList浣滅敤鍩� - formatter: (d) => { - return this.pushTypeList[d.pushType] - } + // formatter: (d) => { + // return this.pushTypeList[d.pushType] + // } }, { label: '绯荤粺缂栧彿', prop: 'id', sortable: true, + hide: true, width: 150 }, { label: '绯荤粺鍚嶇О', prop: 'name', + hide: true, sortable: true, width: 150 }, { - label: '鎺ュ彛鍑芥暟', - prop: 'interfaceFunction', - sortable: true, - width: 150 - }, { - label: '鍛藉悕绌洪棿', - prop: 'nameSpace', - sortable: true, - width: 150 - },{ - label: '鍒嗙被閫夋嫨', - prop: 'classifyName', - // sortable: true, - width: 150 - }, { - label: '闆嗘垚绯荤粺', - prop: 'targetSystemName', - // sortable: true, - width: 150 - },{ label: '鎺ュ彛鏂瑰紡', prop: 'interfaceType', // sortable: true, width: 150 - },{ + }, { label: '绫昏矾寰�', prop: 'classPath', // sortable: true, width: 150 - },{ + }, { label: 'soapAction', prop: 'soapAction', + overHidden: true, sortable: true, - width: 150 - }, { - label: '鍙傛暟鍚嶇О', - prop: 'targName', - sortable: true, - width: 150 + width: 200 }, { label: '璋冪敤鏂瑰紡', prop: 'cxfaxis', sortable: true, width: 150 }, { - label: '璇锋眰鏂瑰紡', - prop: 'requestMethod', - // sortable: true, - width: 150 - }, { + label: '璇锋眰鏂瑰紡', + prop: 'requestMethod', + align: 'center', + // sortable: true, + width: 150 + }, { label: '璇锋眰鍦板潃', prop: 'requestUrl', + sortable: true, + overHidden: true, + width: 200 + }, { + label: '鎺ュ彛鍑芥暟', + prop: 'interfaceFunction', + sortable: true, + align: 'center', + width: 150 + }, { + label: '鍙傛暟鍚嶇О', + prop: 'targetName', sortable: true, width: 150 }, { @@ -224,6 +253,19 @@ return this.returnTypeList[d.returnType] } }, { + label: '鍛藉悕绌洪棿', + prop: 'nameSpace', + sortable: true, + width: 150 + }, { + label: '鍐呭绫诲瀷', + prop: 'contentType', + sortable: true, + width: 150, + formatter: (d) => { + return this.contentTypeList[d.contentType] + } + },{ label: '绯荤粺鎻忚堪', prop: 'description', width: 150 @@ -242,6 +284,18 @@ created() { }, computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + sync: this.vaildData(this.permission.info.info_sync, false), + add: this.vaildData(this.permission.info.info_add, false), + query: this.vaildData(this.permission.info.info_query, false), + edit: this.vaildData(this.permission.info.info_edit, false), + delete: this.vaildData(this.permission.info.info_delete, false), + enable: this.vaildData(this.permission.info.info_enable, false), + stop: this.vaildData(this.permission.info.info_stop, false), + } + }, oids() { let oids = []; this.selectionList.forEach(ele => { @@ -250,7 +304,27 @@ return oids.join(","); } }, + watch: { + // editAttribute:{ + // immediate: true, + // handler(newData) { + // this.$refs.infoForm.formData = Object.assign({}, newData); + // } + // } + }, methods: { + //鍗曞厓鏍兼牱寮� + cellStyle(row, column, rowIndex, columnIndex) { + if (row.columnIndex == 2) { + if (row.row.usedFlag == '' || row.row.usedFlag == 'false') { + return { + color: 'red', + fontWeight: 'bold', + fontSize: '20' + } + } + } + }, searchReset() { this.query = {}; this.onLoad(this.page); @@ -286,11 +360,11 @@ addSave() { this.$refs.infoForm.showSubmitDialog = true; this.$refs.infoForm.formData = { - dataFlowType: 'push', - pushType: '1', - sourceSystemName: '缂栫爜绯荤粺', - sourceSystemOid: 'code00000001', - sourceSystemId: 'CODE', + dataFlowType: '', + pushType: '', + sourceSystemName: '', + sourceSystemOid: '', + sourceSystemId: '', targetSystemName: '', targetSystemOid: '', targetSystemId: '', @@ -303,8 +377,18 @@ this.editAttribute = row; this.editAttribute.sysIntParamVOs = row.sysIntParamVOs || []; this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs || []; - this.$refs.infoForm.formData = this.editAttribute; + this.editAttribute.type = 'edit'; + this.$refs.infoForm.formData = row; + this.$refs.infoForm.groupCode = row.isGroupCodeFlag === 'true' ? true : false; this.$refs.infoForm.showSubmitDialog = true; + //header瀵硅薄 + HeaderRequest(1, -1, {'conditionMap[infoOid]': row.oid}).then(res => { + this.$refs.infoForm.formData.sysIntHeaderVOs = res.data.data.records; + }) + //鍙傛暟瀵硅薄 + ParmRequest(1, -1, {'conditionMap[infoOid]': row.oid}).then(res => { + this.$refs.infoForm.formData.sysIntParamVOs = res.data.data.records; + }) }, deleteSave(row, index) { this.$confirm("鍒犻櫎鏁版嵁灏嗘棤娉曡鎭㈠, 鏄惁缁х画?", "鎻愮ず", { @@ -314,7 +398,7 @@ showClose: true, type: "warning" }).then(() => { - remove(row.oid).then(res => { + del({oids: row.oid}).then(res => { this.$message.success("鍒犻櫎鎴愬姛"); this.refreshChange(); }); @@ -376,30 +460,10 @@ onLoad(page, params = {}) { this.loading = true; getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => { - console.log(res) + // console.log(res) const data = res.data.data; this.page.total = data.total; this.data = data.records; - // const Props = { - // paramType: '', - // returnType: '', - // dataFlowType: '', - // pushType: '', - // classifyName: '', - // sourceSystemName: '', - // targetSystemName: '', - // classPath:'', - // requestMethod:'', - // requestUrl:'', - // interfaceFunction:'', - // nameSpace:'', - // soapAction:'', - // targName:'', - // cxfaxis:'' - // }; - // this.pushTypeList.forEach(item => { - // Object.assign(item, Props); - // }); this.loading = false; }); }, @@ -413,6 +477,9 @@ if (JSON.stringify(conditionMaps) != '{}') { this.query = conditionMaps; this.onLoad(this.page); + } else { + this.query = {}; + this.onLoad(this.page, this.query); } }, openAdvancedQuery() { @@ -444,7 +511,7 @@ fieldType: 'text' }, { title: '鍙傛暟鍚嶇О', - queryField: 'targName', + queryField: 'targetName', fieldType: 'text' }, { title: '璋冪敤鏂瑰紡', @@ -475,8 +542,25 @@ } </script> -<style lang="scss"> +<style lang="scss" scoped> .applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu { display: none !important; } + +// 婊氬姩鏉℃牱寮忎慨鏀� +// 婊氬姩鏉$殑瀹藉害 +/deep/ .el-table__body-wrapper::-webkit-scrollbar { + height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓 + background: white; + border: white; + width: 10px; + +} + +// 婊氬姩鏉$殑婊戝潡 +/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #ececec; + border-radius: 20px; + border: #ececec; +} </style> -- Gitblit v1.9.3