From 4508f5eb86b063a0f3ec01e6ad68c6ce8ccd1392 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 29 二月 2024 14:34:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/views/code/code.vue | 12 +- Source/UBCS-WEB/src/views/docking/info.vue | 16 +++ Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 2 Source/UBCS-WEB/src/components/file/main.vue | 203 ++++++++++++++++++++-------------------- Source/UBCS-WEB/src/views/docking/infoForm.vue | 50 ++++++--- Source/UBCS-WEB/src/const/code/mdmrule.js | 1 6 files changed, 161 insertions(+), 123 deletions(-) diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index e0e64c2..a5e7dc5 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -439,6 +439,8 @@ fileDocClassifyName: '', hasDownload: true, hasUpload: true, + hasEdit:true, + hasDel:true, height: 'auto' } } else { diff --git a/Source/UBCS-WEB/src/components/file/main.vue b/Source/UBCS-WEB/src/components/file/main.vue index fd673bf..1ce4b26 100644 --- a/Source/UBCS-WEB/src/components/file/main.vue +++ b/Source/UBCS-WEB/src/components/file/main.vue @@ -1,81 +1,82 @@ <template> <basic-container> - <avue-crud :option="option" - :table-loading="loading" - :data="data" - :page.sync="page" - :before-open="beforeOpen" - :permission="permissionList" - v-model="form" - ref="crud" - @row-del="rowDel" - @search-change="searchChange" - @search-reset="searchReset" - @selection-change="selectionChange" - @row-click="selectedRowClick" - @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" - @on-load="onLoad"> + <avue-crud ref="crud" + v-model="form" + :before-open="beforeOpen" + :data="data" + :option="option" + :page.sync="page" + :permission="permissionList" + :table-loading="loading" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @row-click="selectedRowClick" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> <template slot="menuLeft"> - <el-button v-if="hasUpload" type="primary" - size="small" + <el-button v-if="hasUpload" icon="el-icon-upload2" plain - icon="el-icon-upload2" + size="small" + type="primary" @click="handleUpload">涓� 浼� </el-button> - <el-button v-if="hasEdit" type="primary" - size="small" + <el-button v-if="hasEdit" icon="el-icon-edit" plain - icon="el-icon-edit" + size="small" + type="primary" @click="handleEdit">淇� 鏀� </el-button> - <el-button v-if="hasDownload" type="primary" - size="small" - icon="el-icon-download" - plain - @click="handleDownload">涓� 杞� - </el-button> - <el-button v-if="hasDel" type="danger" - size="small" - icon="el-icon-delete" + <el-button v-if="hasDownload" icon="el-icon-download" plain + size="small" + type="primary" + @click="handleDownload">涓� 杞� + </el-button> + <el-button v-if="hasDel" icon="el-icon-delete" + plain + size="small" + type="danger" @click="handleDelete">鍒� 闄� </el-button> </template> - <template slot-scope="scope" slot="menu"> - <el-button v-if="hasDownload" type="text" - icon="el-icon-download" + <template slot="menu" slot-scope="scope"> + <el-button v-if="hasDownload" icon="el-icon-download" size="small" + type="text" @click="handleDownload(scope.row)">涓嬭浇 </el-button> </template> </avue-crud> - <el-dialog title="闄勪欢绠$悊" + <el-dialog :visible.sync="attachBox" append-to-body - :visible.sync="attachBox" + title="闄勪欢绠$悊" width="555px"> - <avue-form ref="form" :option="attachOption" v-model="attachForm" :upload-before="uploadBefore" :upload-after="uploadAfter" :upload-error="uploadError"> + <avue-form ref="form" v-model="attachForm" :option="attachOption" :upload-after="uploadAfter" + :upload-before="uploadBefore" :upload-error="uploadError"> </avue-form> </el-dialog> </basic-container> </template> <script> -import {getList, getFile,upload,update, remove,download} from "@/api/resource/file"; +import {getList, getFile, upload, update, remove, download} from "@/api/resource/file"; import {mapGetters} from "vuex"; import {validatenull} from "@/util/validate"; import func from "@/util/func"; export default { - props: ["options","visible","ownbizOid"], + props: ["options", "visible", "ownbizOid"], data() { return { form: {}, query: {}, - params:{}, + params: {}, loading: false, - hasPage:this.options.hasPage||false, + hasPage: this.options.hasPage || false, page: { pageSize: 10, currentPage: 1, @@ -83,12 +84,13 @@ }, attachBox: false, selectionList: [], - hasUpload:validatenull(this.options.hasUpload) ? true :this.options.hasUpload, - hasEdit:validatenull(this.options.hasEdit) ? true :this.options.hasEdit, - hasDel:validatenull(this.options.hasDel) ? true :this.options.hasDel, - hasDownload:validatenull(this.options.hasDownload) ? true :this.options.hasDownload, + //榛樿涓簄ull鍏ㄩ儴鏄痶rue + hasUpload: validatenull(this.options.hasUpload) ? true : this.options.hasUpload, + hasEdit: validatenull(this.options.hasEdit) ? true : this.options.hasEdit, + hasDel: validatenull(this.options.hasDel) ? true : this.options.hasDel, + hasDownload: validatenull(this.options.hasDownload) ? true : this.options.hasDownload, option: { - height:(this.options.tableHeight?this.options.tableHeight:'300'), + height: (this.options.tableHeight ? this.options.tableHeight : '300'), calcHeight: 30, tip: false, searchShow: false, @@ -96,6 +98,7 @@ border: true, index: true, viewBtn: true, + refreshBtn: false, selection: true, dialogClickModal: false, column: [ @@ -115,21 +118,21 @@ { label: "鏂囦欢澶у皬", prop: "fileSize", - formatter:function(d){ - if(!d.fileSize || d.fileSize == null || d.fileSize*1 == 0 || isNaN(d.fileSize*1) ){ + formatter: function (d) { + if (!d.fileSize || d.fileSize == null || d.fileSize * 1 == 0 || isNaN(d.fileSize * 1)) { return "鏈煡澶у皬"; - }else{ + } else { //鍘熷澶у皬鏄疊 - var filesize = d.fileSize*1; - if(filesize>1024*1024*1024*1024){ - return parseInt(filesize/(1024*1024*1024*1024)) + "TB"; - }else if(filesize> 1024*1024*1024){ - return parseInt(filesize/(1024*1024*1024)) + "GB"; - }else if(filesize> 1024*1024){ - return parseInt(filesize/(1024*1024)) + "MB"; - }else if(filesize> 1024){ - return parseInt(filesize/1024) + "KB"; - }else { + var filesize = d.fileSize * 1; + if (filesize > 1024 * 1024 * 1024 * 1024) { + return parseInt(filesize / (1024 * 1024 * 1024 * 1024)) + "TB"; + } else if (filesize > 1024 * 1024 * 1024) { + return parseInt(filesize / (1024 * 1024 * 1024)) + "GB"; + } else if (filesize > 1024 * 1024) { + return parseInt(filesize / (1024 * 1024)) + "MB"; + } else if (filesize > 1024) { + return parseInt(filesize / 1024) + "KB"; + } else { return filesize + "B"; } } @@ -190,7 +193,7 @@ prop: 'attachFile', type: 'upload', dragFile: true, - showFileList:false, + showFileList: false, accept: this.options.uploadAccept || 'file', loadText: '鏂囦欢涓婁紶涓紝璇风◢绛�', span: 24, @@ -198,10 +201,10 @@ res: 'data' }, data: { - ownbizOid:this.options.ownbizOid || "share", - ownBtmName:this.options.ownbizBtm || "share", - fileDocClassify:this.options.fileDocClassify || "ADMIN_SHARE", - fileDocClassifyName:this.options.fileDocClassifyName || "绠$悊鍛樺叡浜枃浠�" + ownbizOid: this.options.ownbizOid || "share", + ownBtmName: this.options.ownbizBtm || "share", + fileDocClassify: this.options.fileDocClassify || "ADMIN_SHARE", + fileDocClassifyName: this.options.fileDocClassifyName || "绠$悊鍛樺叡浜枃浠�" }, action: "/api/ubcs-resource/fileController/uploadFile" } @@ -210,7 +213,7 @@ }; }, computed: { - ...mapGetters([ "permission"]), + ...mapGetters(["permission"]), permissionList() { return { addBtn: false, @@ -234,21 +237,21 @@ mounted() { }, - watch:{ - ownbizOid(val){ + watch: { + ownbizOid(val) { this.setParams() this.refreshChange() - } + }, }, methods: { - setFormItem(){ + setFormItem() { /*this.options.formItems=[{ field: 'fileDocClassify11', title: '鏂囦欢绫诲瀷', type: 'combox', data: [{key: 'text', value: '鏂囨湰妗�'},{key: 'number', value: '鏁板瓧妗�'}] }]*/ - if(this.options && this.options.formItems){ + if (this.options && this.options.formItems) { this.options.formItems.forEach(item => { // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰 let message = "璇烽�夋嫨"; @@ -257,7 +260,7 @@ message = "璇疯緭鍏�"; trigger = "blur"; } - this.attachOption.column.push( { + this.attachOption.column.push({ ...item, label: item.title, prop: item.field, @@ -267,12 +270,12 @@ type: this.columnType[item.type], dicData: this.getDataList(item.type, item.data), change: () => { - if(item.type !== "text" && item.type !== "number" && item.type !== "textarea"){ + if (item.type !== "text" && item.type !== "number" && item.type !== "textarea") { this.changeFun(item.field); } }, blur: () => { - if(item.type == "text" || item.type == "number" || item.type == "textarea"){ + if (item.type == "text" || item.type == "number" || item.type == "textarea") { this.changeFun(item.field); } }, @@ -297,8 +300,8 @@ }) } }, - changeFun( prop) { - this.attachOption.column[1].data[prop]=this.attachForm[prop] + changeFun(prop) { + this.attachOption.column[1].data[prop] = this.attachForm[prop] }, getDataList(type, dicData) { if (type === "truefalse") { @@ -346,25 +349,25 @@ }, handleUpload() { - this.attachOption.column[1].data.fileOid=''; + this.attachOption.column[1].data.fileOid = ''; delete this.attachOption.column[1].data.oid; delete this.attachOption.column[1].data.updateFileFlag; this.attachBox = true; }, handleEdit() { - if(this.selectionList.length==0){ + if (this.selectionList.length == 0) { this.$message.warning('璇烽�夋嫨闇�瑕佷慨鏀圭殑鏂囦欢') return false; - }else if(this.selectionList.length>1){ + } else if (this.selectionList.length > 1) { this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') return false; } - this.attachOption.column[1].data.fileOid=this.oids; - this.attachOption.column[1].data.oid=this.oids; - this.attachOption.column[1].data.updateFileFlag=true + this.attachOption.column[1].data.fileOid = this.oids; + this.attachOption.column[1].data.oid = this.oids; + this.attachOption.column[1].data.updateFileFlag = true this.attachBox = true; }, - uploadBefore(file, done, loading,column) { + uploadBefore(file, done, loading, column) { done(); }, uploadAfter(res, done, loading, column) { @@ -378,23 +381,23 @@ }, handleDownload(row) { //window.open(`${row.link}`); - let data=new FormData(); - if(row && row.oid){ - data.append('fileOids',row.oid) + let data = new FormData(); + if (row && row.oid) { + data.append('fileOids', row.oid) this.downloadFile(data); - }else{ + } else { if (this.selectionList.length === 0) { this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); return; } - data.append('fileOids',this.oids) + data.append('fileOids', this.oids) this.downloadFile(data); } }, - downloadFile(data){ - download(data).then(res=>{ + downloadFile(data) { + download(data).then(res => { // console.log(res); - if(res){ + if (res) { func.downloadFileByBlobHandler(res); } }); @@ -458,9 +461,9 @@ }, selectionChange(list) { this.selectionList = list; - this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]); + this.$refs.crud.setCurrentRow(this.selectionList[list.length - 1]); }, - selectedRowClick(row){ + selectedRowClick(row) { this.selectionList = row; this.$refs.crud.toggleSelection(); this.$refs.crud.setCurrentRow(row); @@ -479,33 +482,33 @@ refreshChange() { this.onLoad(this.page); }, - onLoad(page, params={}) { + onLoad(page, params = {}) { this.loading = true; - var query={} + var query = {} if (this.query) { for (var key in this.query) { query['conditionMap["' + key + '"]'] = this.query[key]; } } - getList(page.currentPage, page.pageSize, Object.assign(params,this.params, query,this.query)).then(res => { + getList(page.currentPage, page.pageSize, Object.assign(params, this.params, query, this.query)).then(res => { const data = res.data.data; this.page.total = data.total; - if(this.options.fileDocClassifyCombox){ + if (this.options.fileDocClassifyCombox) { this.data = data.records.map(item => { - if(validatenull(item.fileDocClassifyName)&& !validatenull(item.fileDocClassify)){ + if (validatenull(item.fileDocClassifyName) && !validatenull(item.fileDocClassify)) { item.fileDocClassifyName = this.options.fileDocClassifyCombox[item.fileDocClassify] || ''; } return { ...item } }) - }else{ + } else { this.data = data.records; } this.loading = false; this.selectionClear(); - }).catch(error=>{ + }).catch(error => { this.$message.error(error); this.loading = false; }); diff --git a/Source/UBCS-WEB/src/const/code/mdmrule.js b/Source/UBCS-WEB/src/const/code/mdmrule.js index 0b1d4c3..bdb06b9 100644 --- a/Source/UBCS-WEB/src/const/code/mdmrule.js +++ b/Source/UBCS-WEB/src/const/code/mdmrule.js @@ -2,6 +2,7 @@ tip: false, searchShow: true, searchMenuSpan: 6, + height:340, border: true, index: true, viewBtn: false, diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 3043cc7..fad06a0 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -2,7 +2,7 @@ <basic-container class="code-total" style=" height: 100%"> <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 --> <basic-container class="code-rule-container"> - <div style="height: 40vh;overflow: auto;"> + <div style="height: 55vh;overflow: auto;"> <p style=" margin-top: -5px; @@ -220,7 +220,7 @@ <!-- 鍩虹鐮佹灞曠ず鍖哄煙 --> <basic-container class="code-basicsec-container"> - <div style="height: 38.5vh;overflow: auto"> + <div style="height: 23.5vh;overflow: auto"> <p style="margin-top: -5px; margin-bottom: 4px; @@ -1306,7 +1306,6 @@ </refer-config-dialog> </el-dialog> - <!--鑷畾涔夋祦姘村弬鐓х粍浠�--> </basic-container> </template> @@ -1408,7 +1407,7 @@ showField: 'customCodeSerialClassText', field: 'customCodeSerialClass', fieldMap: { - serialType: "serialType" + serialType: "serialType", }, placeholder: '璇烽�夋嫨鑷畾涔夋祦姘�', options: { @@ -1765,7 +1764,7 @@ this.form[data.field] = data.value || ""; this.form[data.showField] = data.text || ""; this.form.serialType = data.rawData[0].serialType || ""; - + this.form.customCodeSerialType = data.rawData[0].serialType || ""; } }, /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */ @@ -2141,7 +2140,7 @@ ); } }, - /** + /** * 鍙敤瀛楃闆嗙爜鍊兼鍒欐牎楠� * @return true:婊¤冻闄愬埗锛宖alse锛氫笉婊¤冻闄愬埗 */ @@ -2837,7 +2836,6 @@ }, /** 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�*/ openBasicDialog(condition, row) { - //console.log(row); if (condition == "add") { this.basicSecDialogTitle = "娣诲姞鐮佹淇℃伅"; this.showbtn = true; diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue index eea767b..4a6681e 100644 --- a/Source/UBCS-WEB/src/views/docking/info.vue +++ b/Source/UBCS-WEB/src/views/docking/info.vue @@ -93,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: '鍒嗙被鎺ㄩ��'}, @@ -250,6 +258,14 @@ sortable: true, width: 150 }, { + label: '鍐呭绫诲瀷', + prop: 'contentType', + sortable: true, + width: 150, + formatter: (d) => { + return this.contentTypeList[d.contentType] + } + },{ label: '绯荤粺鎻忚堪', prop: 'description', width: 150 diff --git a/Source/UBCS-WEB/src/views/docking/infoForm.vue b/Source/UBCS-WEB/src/views/docking/infoForm.vue index 2651165..de69e9c 100644 --- a/Source/UBCS-WEB/src/views/docking/infoForm.vue +++ b/Source/UBCS-WEB/src/views/docking/infoForm.vue @@ -22,12 +22,19 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="杩斿洖鍊肩被鍨�" prop="returnType"> - <el-select v-model="formData.returnType" placeholder="璇烽�夋嫨"> - <el-option v-for="item in returnTypeList" :key="item.value" :label="item.label" :value="item.value"> + <el-form-item label="杩斿洖鍊肩被鍨�" prop="returnType"> + <el-select v-model="formData.returnType" placeholder="璇烽�夋嫨"> + <el-option v-for="item in returnTypeList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍐呭绫诲瀷" prop="contentType"> + <el-select v-model="formData.contentType" placeholder="璇烽�夋嫨"> + <el-option v-for="item in contentTypeList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> + <el-divider></el-divider> <div v-if="formData.dataFlowType=='push'"> <el-form-item label="鍒嗙被閫夋嫨" prop="classifyName"> <vciWebRefer @@ -105,25 +112,13 @@ @setReferValue="setReferValue" ></vciWebRefer> </el-form-item> - </div> <el-form-item label="鎺ュ彛鏂瑰紡" prop="interfaceType"> <el-select v-model="formData.interfaceType" clearable placeholder="璇烽�夋嫨"> <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> - <el-form-item v-if="formData.pushType=='1'" label="鏄惁鎺ㄩ�侀泦鍥㈢爜" prop="isGroupCodeFlag"> - <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> - </el-form-item> - <el-form-item v-if="formData.pushType=='3'" label="鏄惁鐢宠闆嗗洟鐮�" prop="isGroupCodeFlag"> - <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> - </el-form-item> - <el-form-item v-if="formData.pushType=='4'" label="鏄惁缁存姢闆嗗洟鐮�" prop="isGroupCodeFlag"> - <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> - </el-form-item> - <el-form-item v-if="formData.pushType=='7'" label="鏄惁鏌ヨ闆嗗洟鐮�" prop="isGroupCodeFlag"> - <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> - </el-form-item> + </div> <el-form-item label="绯荤粺鎻忚堪" style="width: 850px;" prop="description"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 5}" v-model="formData.description" style="width: 740px;"></el-input> </el-form-item> @@ -153,6 +148,18 @@ </el-form-item> <el-form-item v-if="formData.interfaceType=='classPath'" label="绫昏矾寰�" prop="classPath"> <el-input v-model="formData.classPath" ></el-input> + </el-form-item> + <el-form-item v-if="formData.pushType=='1'" label="鏄惁鎺ㄩ�侀泦鍥㈢爜" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item v-if="formData.pushType=='3'" label="鏄惁鐢宠闆嗗洟鐮�" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item v-if="formData.pushType=='4'" label="鏄惁缁存姢闆嗗洟鐮�" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item v-if="formData.pushType=='7'" label="鏄惁鏌ヨ闆嗗洟鐮�" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> </el-form-item> <el-tabs v-model="activeName" @tab-click="tabClick"> <el-tab-pane label="鍙傛暟瀵硅薄" name="paramTab"> @@ -255,6 +262,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' + }], dataFlowTypeList: [{ label: '鎺ㄩ��', value: 'push' }, { @@ -316,6 +331,9 @@ ], cxfaxis: [ {required: true, message: '璇疯緭鍏xfaxis', trigger: 'blur'} + ], + contentType: [ + {required: true, message: 'contentType', trigger: 'blur'} ] }, // 琛ㄦ牸閰嶇疆 -- Gitblit v1.9.3