| | |
| | | <el-container> |
| | | <el-main> |
| | | <basic-container> |
| | | <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page" |
| | | <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> |
| | | <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">停用</el-button> |
| | | <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-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 size="small" type="primary" icon="el-icon-plus" @click="addSave">新 增 |
| | | <el-button v-if="permissionList.add" icon="el-icon-plus" size="small" type="primary" |
| | | @click="addSave"> |
| | | 新 增 |
| | | </el-button> |
| | | <el-button size="small" icon="el-icon-share" @click="PUSH">同 步 |
| | | <el-button v-if="permissionList.sync" icon="el-icon-share" size="small" @click="PUSH">同 步 |
| | | </el-button> |
| | | <el-button size="small" icon="el-icon-search" @click="openAdvancedQuery">查 询 |
| | | <el-button v-if="permissionList.query" icon="el-icon-search" size="small" |
| | | @click="openAdvancedQuery">查 询 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </el-main> |
| | | <infoForm ref="infoForm" @refreshTable="refreshChange" :formData="editAttribute"></infoForm> |
| | | <infoForm ref="infoForm" :formData="editAttribute" @refreshTable="refreshChange"></infoForm> |
| | | <!-- 高级查询对话框 --> |
| | | <advanced-query |
| | | :ref="advancedQueryParam.ref" |
| | |
| | | |
| | | <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}, |
| | | components: {infoForm}, |
| | | |
| | | data() { |
| | | return { |
| | | //下拉总类型 |
| | | DropDownTheTotalType: [], |
| | | //接口类型下拉 |
| | | interfaceTypeList: [{ |
| | | label: 'webService', value: 'webService' |
| | |
| | | }, { |
| | | 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: '分类推送'}, |
| | |
| | | {value: '6', label: '含规则信息的分类查询'}, |
| | | {value: '7', label: '数据查询'}], |
| | | page: { |
| | | pageSize: 10, |
| | | pageSize: 20, |
| | | currentPage: 1, |
| | | total: 100 |
| | | }, |
| | |
| | | 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', |
| | | sortable: true, |
| | | label: '是否启用', |
| | | prop: 'usedFlag', |
| | | width: 150, |
| | | formatter:function (d){ |
| | | return this.pushTypeList[d.pushType] |
| | | } |
| | | formatter: res => res.usedFlag === "true" ? "启用" : "停用" |
| | | }, { |
| | | label: '系统名称', |
| | | label: '集成系统', |
| | | prop: 'sysBaseName', |
| | | sortable: 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] |
| | | // } |
| | | }, { |
| | | label: '系统编号', |
| | | prop: 'sysBaseId', |
| | | prop: 'id', |
| | | sortable: true, |
| | | hide: true, |
| | | width: 150 |
| | | }, { |
| | | label: '系统名称', |
| | | prop: 'name', |
| | | hide: true, |
| | | sortable: true, |
| | | width: 150 |
| | | }, { |
| | | label: '接口函数', |
| | | prop: 'interfaceFunction', |
| | | sortable: true, |
| | | label: '接口方式', |
| | | prop: 'interfaceType', |
| | | // sortable: true, |
| | | width: 150 |
| | | }, { |
| | | label: '命名空间', |
| | | prop: 'nameSpace', |
| | | sortable: true, |
| | | 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', |
| | | 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 |
| | | }, { |
| | |
| | | prop: 'paramType', |
| | | sortable: true, |
| | | width: 150, |
| | | formatter:function (d){ |
| | | formatter: (d) => { |
| | | return this.paramTypeList[d.paramType] |
| | | } |
| | | }, { |
| | |
| | | prop: 'returnType', |
| | | sortable: true, |
| | | width: 150, |
| | | formatter:function (d){ |
| | | formatter: (d) => { |
| | | 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 |
| | | }] |
| | | }, |
| | | // 高级查询对话框相关参数 |
| | |
| | | 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 => { |
| | |
| | | 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); |
| | |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | if(this.selectionList.length <= 0){ |
| | | if (this.selectionList.length <= 0) { |
| | | this.selectRow = null |
| | | } |
| | | if (this.selectionList.length > 0) { |
| | | this.selectRow = this.selectionList[list.length-1].$index; |
| | | this.selectRow = this.selectionList[list.length - 1].$index; |
| | | } |
| | | }, |
| | | selectionClear() { |
| | |
| | | addSave() { |
| | | this.$refs.infoForm.showSubmitDialog = true; |
| | | this.$refs.infoForm.formData = { |
| | | dataFlowType:'push', |
| | | pushType:'1', |
| | | sourceSystemName:'编码系统', |
| | | sourceSystemOid:'code00000001', |
| | | sourceSystemId:'CODE', |
| | | targetSystemName:'', |
| | | targetSystemOid:'', |
| | | targetSystemId:'', |
| | | sysIntParamVOs:[], |
| | | sysIntHeaderVOs:[] |
| | | dataFlowType: '', |
| | | pushType: '', |
| | | sourceSystemName: '', |
| | | sourceSystemOid: '', |
| | | sourceSystemId: '', |
| | | targetSystemName: '', |
| | | targetSystemOid: '', |
| | | targetSystemId: '', |
| | | sysIntParamVOs: [], |
| | | sysIntHeaderVOs: [] |
| | | }; |
| | | }, |
| | | updateSave(row,index) { |
| | | updateSave(row, index) { |
| | | this.selectRow = row; |
| | | this.editAttribute = row; |
| | | this.editAttribute.sysIntParamVOs = row.sysIntParamVOs||[]; |
| | | this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs||[]; |
| | | this.$refs.infoForm.formData = this.editAttribute; |
| | | this.editAttribute.sysIntParamVOs = row.sysIntParamVOs || []; |
| | | this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs || []; |
| | | 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) { |
| | | deleteSave(row, index) { |
| | | this.$confirm("删除数据将无法被恢复, 是否继续?", "提示", { |
| | | iconClass: 'el-icon-question', |
| | | confirmButtonText: "确定", |
| | |
| | | showClose: true, |
| | | type: "warning" |
| | | }).then(() => { |
| | | remove(row.oid).then(res => { |
| | | del({oids: row.oid}).then(res => { |
| | | this.$message.success("删除成功"); |
| | | this.refreshChange(); |
| | | }); |
| | | }); |
| | | }, |
| | | ENABLE(row,index){ |
| | | ENABLE(row, index) { |
| | | //启用 |
| | | this.updateStatus("enable"); |
| | | this.updateStatus(row, "enable"); |
| | | }, |
| | | DISABLE(row,index){ |
| | | DISABLE(row, index) { |
| | | //停用 |
| | | this.updateStatus("disable"); |
| | | this.updateStatus(row, "disable"); |
| | | }, |
| | | updateStatus(able){ |
| | | updateStatus(selectRow, able) { |
| | | var that = this; |
| | | var paramTemp = { |
| | | update:able, |
| | | oid:this.selectRow.oid, |
| | | ts:this.selectRow.ts |
| | | update: able, |
| | | oid: selectRow.oid, |
| | | ts: selectRow.ts |
| | | }; |
| | | this.$confirm("是否要"+(able == "enbale" ? "启用" : (able == "disable" ? "停用": "发布")) +"这条数据?", { |
| | | this.$confirm("是否要" + (able == "enbale" ? "启用" : (able == "disable" ? "停用" : "发布")) + "这条数据?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message:(able == "enbale" ? "启用成功" : (able == "disable" ? "停用成功": "发布成功")) |
| | | message: (able == "enbale" ? "启用成功" : (able == "disable" ? "停用成功" : "发布成功")) |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | PUSH(){ |
| | | PUSH() { |
| | | if (this.selectionList.length != 1) { |
| | | this.$message.error('请选择数据') |
| | | this.$message.warning('请选择数据') |
| | | return false; |
| | | } |
| | | this.$confirm("是否要"+ (this.selectionList[0].pushType == "1" ? "推送数据" : "推送分类"), { |
| | | this.$confirm("是否要" + (this.selectionList[0].pushType == "1" ? "推送数据" : "推送分类"), { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | // console.log(res) |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.data = res.data.data.records; |
| | | }); |
| | | }, |
| | | rowClick(row) { |
| | |
| | | this.$refs.crud.toggleRowSelection(row); //选中当前行 |
| | | }, |
| | | /** 高级查询对话框组件,组件返回的值是condtionMap[field]形式的查询条件,保留了和之前一样的方式 */ |
| | | echoSeniorContionMap(conditionMaps){ |
| | | if(JSON.stringify(conditionMaps)!='{}'){ |
| | | echoSeniorContionMap(conditionMaps) { |
| | | if (JSON.stringify(conditionMaps) != '{}') { |
| | | this.query = conditionMaps; |
| | | this.onLoad(this.page); |
| | | } else { |
| | | this.query = {}; |
| | | this.onLoad(this.page, this.query); |
| | | } |
| | | }, |
| | | openAdvancedQuery(){ |
| | | this.advancedQueryParam.options = [ |
| | | { |
| | | data: [], |
| | | title: '编号', |
| | | fieldType: 'text', |
| | | queryField: 'id', |
| | | },{ |
| | | data: [], |
| | | title: '名称', |
| | | fieldType: 'text', |
| | | queryField: 'name', |
| | | },{ |
| | | data: [], |
| | | title: '描述', |
| | | fieldType: 'text', |
| | | queryField: 'description', |
| | | },{ |
| | | data: [ |
| | | // { |
| | | // key: '编辑中', |
| | | // value: 'Editing', |
| | | // }, |
| | | // { |
| | | // key: '已发布', |
| | | // value: 'Released', |
| | | // }, |
| | | // { |
| | | // key: '停用', |
| | | // value: 'Disabled', |
| | | // }, |
| | | ], |
| | | title: '状态', |
| | | fieldType: 'combox', |
| | | queryField: 'lcStatus', |
| | | comboxKey: 'codeSearchLCStatus', |
| | | }, |
| | | ] |
| | | openAdvancedQuery() { |
| | | this.advancedQueryParam.options = [{ |
| | | data: this.pushTypeList, |
| | | title: '推送类型', |
| | | queryField: 'pushType', |
| | | fieldType: 'combox', |
| | | comboxKey: 'searchPushType' |
| | | }, { |
| | | title: '系统名称', |
| | | queryField: 'sysBaseName', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '系统编号', |
| | | queryField: 'sysBaseId', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '接口函数', |
| | | queryField: 'interfaceFunction', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '命名空间', |
| | | queryField: 'nameSpace', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: 'soapAction', |
| | | queryField: 'soapAction', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '参数名称', |
| | | queryField: 'targetName', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '调用方式', |
| | | queryField: 'cxfaxis', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '请求地址', |
| | | queryField: 'requestUrl', |
| | | fieldType: 'text' |
| | | }, { |
| | | title: '参数类型', |
| | | queryField: 'paramType', |
| | | fieldType: 'combox', |
| | | comboxKey: 'searchparamType', |
| | | data: this.paramTypeList |
| | | }, { |
| | | title: '返回值类型', |
| | | queryField: 'returnType', |
| | | fieldType: 'combox', |
| | | comboxKey: 'searchreturnType', |
| | | data: this.returnTypeList |
| | | }] |
| | | |
| | | this.advancedQueryParam.currentOpen = 'info'; |
| | | this.advancedQueryParam.advancedQuerySettingBox = true; |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { |
| | | <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> |