| | |
| | | @Autowired |
| | | 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; |
| | |
| | | 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; |
| | |
| | | @Autowired |
| | | private SysOssConfigService sysOssConfigService; |
| | | |
| | | @Autowired |
| | | private SysOssService sysOssService; |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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"); |
| | | 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 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(); |
| | |
| | | } |
| | | |
| | | |
| | | function setAccessoryFormat2(row, pageMarker,that) { |
| | | function setAccessoryFormatSingle(row, pageMarker,that) { |
| | | if (row.accessoryMap) { |
| | | let data = ''; |
| | | for (let key in row.accessoryMap) { |
| | |
| | | } |
| | | 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') { |
| | |
| | | pageMarker2 = pageMarker + '-xls' |
| | | that.xlsName =fileName; |
| | | } |
| | | alert(pageMarker2) |
| | | return openPreviewDialog(fileId, suffixName, document.getElementById(pageMarker2), pageMarker2); |
| | | } else { |
| | | return alert("文件类型不支持预览") |
| | |
| | | } |
| | | } |
| | | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | export {setAccessoryFormatComm, setAccessoryFormat2, setAccessoryFormat3} |
| | | export {setAccessoryFormatComm, setAccessoryFormatSingle, setAccessoryFormatByForm} |
| | |
| | | <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> |
| | |
| | | @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> |
| | |
| | | <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: '', |
| | |
| | | }, |
| | | components: { |
| | | AddOrUpdate, |
| | | ProjectSelect |
| | | ProjectSelect, |
| | | View |
| | | }, |
| | | methods: { |
| | | add() { |
| | |
| | | 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> |
| | | |
New file |
| | |
| | | <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> |