<template>
|
<el-card shadow="never" class="aui-card--fill">
|
<div class="mod-project-softwareTestOrder}">
|
<zt-table-wraper query-url="/project/SoftwareTestOrder/page" delete-url="/project/SoftwareTestOrder/deleteOrder"
|
v-slot="{ table }">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
|
<el-form-item>
|
<el-input v-model="dataForm.softwareName" placeholder="请输入软件名称" clearable></el-input>
|
</el-form-item>
|
<el-form-item>
|
<zt-dict v-model="dataForm.testBasis" dict="test_basis" placeholder="请选择测试依据" clearable></zt-dict>
|
</el-form-item>
|
<el-form-item>
|
<zt-dict v-model="dataForm.testStandard" dict="test_standard" placeholder="请选择测试标准"
|
clearable></zt-dict>
|
</el-form-item>
|
<el-form-item>
|
<zt-dict v-model="dataForm.articleNature" dict="article_nature" placeholder="请选择物品性质"
|
clearable></zt-dict>
|
</el-form-item>
|
<el-form-item>
|
<zt-button type="query" @click="table.query()"/>
|
<!-- <zt-button type="add" perm="project:add" @click="table.editHandle()"/>-->
|
<zt-button type="primary" class="el-icon-edit" perm="project:add" @click="add()">新增</zt-button>
|
<zt-button type="delete" perm="project:delete" @click="table.deleteHandle()"/>
|
</el-form-item>
|
</el-form>
|
<el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
|
border @selection-change="table.selectionChangeHandle">
|
<el-table-column type="selection" align="center" width="40"/>
|
<el-table-column prop="softwareName" width="250px" label="软件名称"/>
|
<el-table-column prop="code" width="270" label="委托单编号"/>
|
<el-table-column prop="softwareIdentity" width="150px" label="项目标识"/>
|
<zt-table-column-dict prop="testBasis" width="150px" label="测试依据" dict="test_basis"/>
|
<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>
|
</zt-table-column-handle>
|
</el-table>
|
<!-- 弹窗, 新增 / 修改 -->
|
<add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
|
<ProjectSelect ref="projectSelect"
|
@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>
|
</div>
|
</el-card>
|
</template>
|
|
<script>
|
import AddOrUpdate from './SoftwareTestOrder-AddOrUpdate'
|
import ProjectSelect from "./Project-select.vue"
|
import {setAccessoryFormat2} from '@/commonJS/commonFile'
|
|
export default {
|
data() {
|
return {
|
isOpenDocPreviewDialog:false,
|
isOpenPdfPreviewDialog:false,
|
isOpenImgPreviewDialog:false,
|
isOpenXlsPreviewDialog:false,
|
docName:'',
|
pdfName:'',
|
imgName:'',
|
xlsName:'',
|
dataForm: {
|
testBasis: '',
|
testType: '',
|
testStandard: '',
|
articleNature: '',
|
}
|
}
|
},
|
components: {
|
AddOrUpdate,
|
ProjectSelect
|
},
|
methods: {
|
add() {
|
this.$refs.projectSelect.$refs.dialog.init("software_test_order")
|
},
|
openAddWin(row) {
|
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 = '';
|
}
|
},
|
}
|
}
|
</script>
|