From d6e4a1f930946ecaecaec3a3daa9d07dd370e9b1 Mon Sep 17 00:00:00 2001 From: zzw <wander.zheng@qq.com> Date: 星期五, 17 十一月 2023 11:40:08 +0800 Subject: [PATCH] 编号 --- web/src/views/modules/project/SoftwareTestOrder.vue | 73 ++----------- web/src/commonJS/commonFile.js | 8 + modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetShowDictList.java | 9 + modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 36 ++++--- web/src/views/pages/view.vue | 132 ++++++++++++++++++++++++++ 5 files changed, 179 insertions(+), 79 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetShowDictList.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetShowDictList.java index 1822cd3..8cc92e9 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetShowDictList.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetShowDictList.java @@ -15,18 +15,23 @@ @Service public class GetShowDictList { @Autowired - private SysDictTypeService sysDictTypeService; + private SysDictTypeService sysDictTypeService; - public String getShowDictList(String values, String DictTYpe) { + public String getShowDictList(String values, String DictTYpe, Boolean enter) { List<DictDto> userDicts = sysDictTypeService.getUserDicts(); DictDto testType1Dict = userDicts.stream() .filter(c -> c.getDictType().equals(DictTYpe)) .collect(Collectors.toList()).get(0); values = "," + values + ","; String result = ""; + int i = 0; for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) { String value = dictItemDto.getDictValue(); String desc = (values.contains("," + value + ",") ? "鈽�" : "鈻�") + dictItemDto.getDictLabel(); + i++; + if (enter && i < ((DictLeafDto) testType1Dict).getDataList().size()) { + desc = desc + "\r\n"; + } result = result + desc; } return result; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java index 53531b4..8e806f8 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java @@ -17,6 +17,7 @@ import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; import com.zt.life.sys.service.SysOssConfigService; import com.zt.modules.coderule.service.SysCodeRuleService; +import com.zt.modules.oss.service.SysOssService; import com.zt.modules.sys.service.SysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -62,6 +63,9 @@ @Autowired private SysOssConfigService sysOssConfigService; + @Autowired + private SysOssService sysOssService; + /** * 鍒嗛〉鏌ヨ * @@ -70,6 +74,9 @@ */ public List<SoftwareTestOrder> page(QueryFilter queryFilter) { List<SoftwareTestOrder> list = baseDao.getList(queryFilter.getQueryParams()); + if (list != null && list.size() > 0) { + sysOssService.setListOsses(list, "test_order"); + } return list; } @@ -215,36 +222,35 @@ dataObj.getSoftwareTestOrder().setTestType22(testType22); //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� - String criticalLevelStr = getShowDictList.getShowDictList(dataObj.getProject().getCriticalLevel().toString(), "critical_level"); + String criticalLevelStr = getShowDictList.getShowDictList(dataObj.getProject().getCriticalLevel().toString(), "critical_level", false); dataObj.getSoftwareTestOrder().setCriticalLevelStr(criticalLevelStr); - for (SoftwareTestOrderMeasured measured : dataObj.getMeasuredList()) { - String value = measured.getIsMeasured(); - String isMeasuredStr = getShowDictList.getShowDictList(value, "is_or_not"); - measured.setIsMeasuredStr(isMeasuredStr); - } + for (SoftwareTestOrderMeasured measured : dataObj.getMeasuredList()) { + String value = measured.getIsMeasured(); + String isMeasuredStr = getShowDictList.getShowDictList(value, "is_or_not", false); + measured.setIsMeasuredStr(isMeasuredStr); + } - - String sortwareTypeStr = getShowDictList.getShowDictList(dataObj.getProject().getSoftwareType(), "software_type"); + String sortwareTypeStr = getShowDictList.getShowDictList(dataObj.getProject().getSoftwareType(), "software_type", false); dataObj.getSoftwareTestOrder().setSortwareTypeStr(sortwareTypeStr); - String testBasisStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestBasis(), "test_basis"); + String testBasisStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestBasis(), "test_basis", false); dataObj.getSoftwareTestOrder().setTestBasisStr(testBasisStr); - String testStandardStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestStandard(), "test_standard"); + String testStandardStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestStandard(), "test_standard", true); dataObj.getSoftwareTestOrder().setTestStandardStr(testStandardStr); - String testLevelStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestLevel().toString(), "test_level"); + String testLevelStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestLevel().toString(), "test_level", false); dataObj.getSoftwareTestOrder().setTestLevelStr(testLevelStr); - String test =dataObj.getSoftwareTestOrder().getOtherRequire(); - String otherRequireStr = getShowDictList.getShowDictList(test, "other_require"); + String test = dataObj.getSoftwareTestOrder().getOtherRequire(); + String otherRequireStr = getShowDictList.getShowDictList(test, "other_require", false); dataObj.getSoftwareTestOrder().setOtherRequireStr(otherRequireStr); - String articleNatureStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getArticleNature(), "article_nature"); + String articleNatureStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getArticleNature(), "article_nature", false); dataObj.getSoftwareTestOrder().setArticleNatureStr(articleNatureStr); - String sampleStatusStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getSampleStatus(), "is_or_not"); + String sampleStatusStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getSampleStatus(), "is_or_not", false); dataObj.getSoftwareTestOrder().setSampleStatusStr(sampleStatusStr); WordFile wordFile = new WordFile(); diff --git a/web/src/commonJS/commonFile.js b/web/src/commonJS/commonFile.js index 7599513..2deb8cd 100644 --- a/web/src/commonJS/commonFile.js +++ b/web/src/commonJS/commonFile.js @@ -106,7 +106,7 @@ } -function setAccessoryFormat2(row, pageMarker,that) { +function setAccessoryFormatSingle(row, pageMarker,that) { if (row.accessoryMap) { let data = ''; for (let key in row.accessoryMap) { @@ -119,6 +119,7 @@ } let fileId = /_zt_oss_id=(\d+)/.exec(url); fileId = fileId ? fileId[1] : ''; // 鑾峰彇鍖归厤鐨勫唴瀹癸紝濡傛灉涓虹┖鍒欒祴鍊间负绌哄瓧绗︿覆 + alert(fileId) let pageMarker2 = pageMarker if (suffixName == 'pdf' || suffixName == 'doc' || suffixName == 'docx' || suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png' || suffixName == 'xls' || suffixName == 'xlsx') { if (suffixName == 'pdf') { @@ -134,6 +135,7 @@ pageMarker2 = pageMarker + '-xls' that.xlsName =fileName; } + alert(pageMarker2) return openPreviewDialog(fileId, suffixName, document.getElementById(pageMarker2), pageMarker2); } else { return alert("鏂囦欢绫诲瀷涓嶆敮鎸侀瑙�") @@ -145,7 +147,7 @@ } } -function setAccessoryFormat3(row, pageMarker,that) { +function setAccessoryFormatByForm(row, pageMarker,that) { if (row.files.groups[0].fields[0].files[0]) { let data = ''; let url = row.files.groups[0].fields[0].files[0].url; @@ -182,4 +184,4 @@ } } -export {setAccessoryFormatComm, setAccessoryFormat2, setAccessoryFormat3} +export {setAccessoryFormatComm, setAccessoryFormatSingle, setAccessoryFormatByForm} diff --git a/web/src/views/modules/project/SoftwareTestOrder.vue b/web/src/views/modules/project/SoftwareTestOrder.vue index dfe5c57..ac09575 100644 --- a/web/src/views/modules/project/SoftwareTestOrder.vue +++ b/web/src/views/modules/project/SoftwareTestOrder.vue @@ -35,8 +35,10 @@ <zt-table-column-dict prop="testStandard" min-width="420" label="娴嬭瘯鏍囧噯" dict="test_standard"/> <zt-table-column-dict prop="articleNature" width="120px" label="鐗╁搧鎬ц川" dict="article_nature"/> <zt-table-column-handle :table="table" width="150px" edit-perm="project:update" delete-perm="project::delete"> - <template slot-scope="scope"> - <zt-table-button @click="testOlderView()">棰勮</zt-table-button> + <template v-slot="{ row }"> + <zt-table-button size="small" type="primary" + @click="preview(row)">棰勮 + </zt-table-button> </template> </zt-table-column-handle> </el-table> @@ -46,28 +48,9 @@ @refreshDataList="table.query" @setProjectInfo="openAddWin"> </ProjectSelect> - </zt-table-wraper> - <div v-show="isOpenDocPreviewDialog" class="preview-dialog"> - <button @click="closePreviewDialog('doc')" class="close-button">鍏抽棴</button> - <div id="SoftwareTestOrder-doc" style="overflow: auto; width: 100%; height: 90%;"></div> - <div class="file-name">{{ docName }}</div> - </div> - <div v-show="isOpenPdfPreviewDialog" class="preview-dialog"> - <button @click="closePreviewDialog('pdf')" class="close-button">鍏抽棴</button> - <iframe id="SoftwareTestOrder-pdf" src="" style="margin:0;padding:0;width:100%;height:90%;"></iframe> - <div class="file-name">{{ pdfName }}</div> - </div> - <div v-show="isOpenImgPreviewDialog" class="preview-dialog"> - <button @click="closePreviewDialog('img')" class="close-button">鍏抽棴</button> - <img id="SoftwareTestOrder-img" src="" style="margin:0;padding:0;width:100%;height:90%;"> - <div class="file-name">{{ imgName }}</div> - </div> - <div v-show="isOpenXlsPreviewDialog" class="preview-dialog"> - <button @click="closePreviewDialog('xls')" class="close-button">鍏抽棴</button> - <div id="SoftwareTestOrder-xls" style="margin:0;padding:0;width:100%;height:90%;"></div> - <div class="file-name">{{ xlsName }}</div> - </div> + <View ref="view22" :pageMarkerfun="SoftwareTestOrder"> + </View> </div> </el-card> </template> @@ -75,19 +58,11 @@ <script> import AddOrUpdate from './SoftwareTestOrder-AddOrUpdate' import ProjectSelect from "./Project-select.vue" -import {setAccessoryFormat2} from '@/commonJS/commonFile' +import View from '@/views/pages/view.vue' export default { data() { return { - isOpenDocPreviewDialog:false, - isOpenPdfPreviewDialog:false, - isOpenImgPreviewDialog:false, - isOpenXlsPreviewDialog:false, - docName:'', - pdfName:'', - imgName:'', - xlsName:'', dataForm: { testBasis: '', testType: '', @@ -98,7 +73,8 @@ }, components: { AddOrUpdate, - ProjectSelect + ProjectSelect, + View }, methods: { add() { @@ -108,32 +84,11 @@ console.log(row.id, 'row.id') this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id}) }, - testOlderView(row){ - return setAccessoryFormat2(row, 'SoftwareTestOrder', this) - }, - closePreviewDialog(file) { - if (file == 'doc') { - this.docName = ''; - this.isOpenDocPreviewDialog = false; // 鍏抽棴寮圭獥 - const docElement = document.getElementById('SoftwareTestOrder-doc'); - docElement.innerHTML = ''; - } else if (file == 'pdf') { - this.pdfName = ''; - this.isOpenPdfPreviewDialog = false; - let iframe = document.getElementById('SoftwareTestOrder-pdf'); - iframe.src = ''; - } else if (file == 'img') { - this.imgName = ''; - this.isOpenImgPreviewDialog = false; - let img = document.getElementById('SoftwareTestOrder-img'); - img.src = ''; - } else if (file == 'xls') { - this.xlsName = ''; - this.isOpenXlsPreviewDialog = false; - let excelElement = document.getElementById('SoftwareTestOrder-xls'); - excelElement.innerHTML = ''; - } - }, + preview(row){ + console.log(row,'preview(row)'); + this.$refs.view22.setAccessoryFormatSingle(row) + } } } </script> + diff --git a/web/src/views/pages/view.vue b/web/src/views/pages/view.vue new file mode 100644 index 0000000..5900a54 --- /dev/null +++ b/web/src/views/pages/view.vue @@ -0,0 +1,132 @@ +<template> + <div> + <div v-show="isOpenDocPreviewDialog" class="preview-dialog"> + <button @click="closePreviewDialog('doc')" class="close-button">鍏抽棴</button> + <div :id="pageMarkerfun+'-doc'" style="overflow: auto; width: 100%; height: 90%;"></div> + <div class="file-name">{{ docName }}</div> + </div> + <div v-show="isOpenPdfPreviewDialog" class="preview-dialog"> + <button @click="closePreviewDialog('pdf')" class="close-button">鍏抽棴</button> + <iframe :id="pageMarkerfun+'-pdf'" src="" style="margin:0;padding:0;width:100%;height:90%;"></iframe> + <div class="file-name">{{ pdfName }}</div> + </div> + <div v-show="isOpenImgPreviewDialog" class="preview-dialog"> + <button @click="closePreviewDialog('img')" class="close-button">鍏抽棴</button> + <img :id="pageMarkerfun+'-img'" src="" style="margin:0;padding:0;width:100%;height:90%;"> + <div class="file-name">{{ imgName }}</div> + </div> + <div v-show="isOpenXlsPreviewDialog" class="preview-dialog"> + <button @click="closePreviewDialog('xls')" class="close-button">鍏抽棴</button> + <div :id="pageMarkerfun+'-xls'" style="margin:0;padding:0;width:100%;height:90%;"></div> + <div class="file-name">{{ xlsName }}</div> + </div> + </div> +</template> + +<script> + import {setAccessoryFormatSingle} from '@/commonJS/commonFile' + export default { + props: { + pageMarkerfun: { + default: '' + } + }, + data() { + return { + isOpenDocPreviewDialog: false, + isOpenPdfPreviewDialog: false, + isOpenImgPreviewDialog: false, + isOpenXlsPreviewDialog: false, + docName: '', + pdfName: '', + imgName: '', + xlsName: '' + } + }, + created() { + this.$EventBus.$on(this.pageMarkerfun+'-doc', () => { + this.isOpenDocPreviewDialog = true + }) + this.$EventBus.$on(this.pageMarkerfun +'-pdf', () => { + this.isOpenPdfPreviewDialog = true + }) + this.$EventBus.$on(this.pageMarkerfun +'-img', () => { + this.isOpenImgPreviewDialog = true + }) + this.$EventBus.$on(this.pageMarkerfun +'-xls', () => { + this.isOpenXlsPreviewDialog = true + }) + }, + methods: { + setAccessoryFormatSingle(row) { + console.log(row, 'setAccessoryFormatSingle(row)'); + return setAccessoryFormatSingle(row, this.pageMarkerfun, this) + }, + closePreviewDialog(file) { + if (file == 'doc') { + this.docName = '' + this.isOpenDocPreviewDialog = false // 鍏抽棴寮圭獥 + const docElement = document.getElementById(this.pageMarkerfun +'-doc') + docElement.innerHTML = '' + } else if (file == 'pdf') { + this.pdfName = '' + this.isOpenPdfPreviewDialog = false; + let iframe = document.getElementById(this.pageMarkerfun +'-pdf') + iframe.src = '' + } else if (file == 'img') { + this.imgName = ''; + this.isOpenImgPreviewDialog = false; + let img = document.getElementById(this.pageMarkerfun +'-img') + img.src = '' + } else if (file == 'xls') { + this.xlsName = '' + this.isOpenXlsPreviewDialog = false; + let excelElement = document.getElementById(this.pageMarkerfun+'-xls') + excelElement.innerHTML = '' + } + } + } + } +</script> +<style> + /* 寮圭獥鏍峰紡 */ + .preview-dialog { + z-index: 100; + width: 1200px; + height: 700px; + position: fixed; + top: 120px; + right: 10px; + background: gray; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } + .close-button { + position: absolute; + top: 10px; + right: 10px; + border: none; + font-size: 18px; + color: snow; + cursor: pointer; + background: #062944; + } + + .file-name { + position: absolute; + top: 10px; + left: 50%; + transform: translateX(-50%); + border: none; + font-size: 18px; + color: snow; + cursor: pointer; + background: #062944; + } + + img { + object-fit: contain; + } +</style> -- Gitblit v1.9.1