| | |
| | | const insReport = { |
| | | pageInsReport: "/insReport/pageInsReport", //查询检验报告数据 |
| | | wordToHtml: "/insReport/wordToHtml", //Word转HTML |
| | | inReport: "/insReport/inReport", //报告上传 |
| | | upReportUrl: "/insReport/upReportUrl", //报告还原 |
| | | } |
| | | |
| | | const warehouse = { |
| | |
| | | .body { |
| | | overflow-x: hidden; |
| | | } |
| | | |
| | | .handleBtn{ |
| | | border: none; |
| | | padding: 0; |
| | | color: #409EFF; |
| | | background: transparent; |
| | | } |
| | | |
| | | .handleBtn:hover{ |
| | | background: transparent; |
| | | } |
| | | |
| | | .handleBtn.is-disabled{ |
| | | color: #C0C4CC; |
| | | } |
| | | |
| | | </style> |
| | | <style> |
| | | /* .value-table .highlight-warning-row-border td { |
| | |
| | | |
| | | .value-table .el-upload-dragger { |
| | | width: 100%; |
| | | } |
| | | |
| | | .handleBtn.is-disabled .el-upload:focus{ |
| | | color: #C0C4CC !important; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <template slot-scope="scope"> |
| | | <el-button v-for="(a, ai) in data.do" :key="ai" :type="a.type" |
| | | :disabled="a.disabFun ? a.disabFun(scope.row,scope.$index) : false" |
| | | @click="main(scope.row, a)">{{a.font}}</el-button> |
| | | @click="main(scope.row, a)" class="handleBtn"> |
| | | <span v-if="a.type!='upload'">{{a.font}}</span> |
| | | <el-upload |
| | | :action="javaApi+a.uploadConfig.url+'?id='+scope.row.id" |
| | | v-else |
| | | :disabled="a.disabFun ? a.disabFun(scope.row,scope.$index) : false" |
| | | :on-success="handleSuccessUp" |
| | | :show-file-list="false" |
| | | :headers="token" |
| | | name="file" |
| | | :accept='a.uploadConfig.accept' |
| | | :on-error="onError" |
| | | ref='upload' |
| | | style="background: transparent;"> |
| | | <span>{{a.font}}</span> |
| | | </el-upload> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | token: null, |
| | | fileList: [], |
| | | init: true, |
| | | spanList:[ |
| | | // { |
| | | // arr:[], |
| | | // position:0 |
| | | // } |
| | | ], |
| | | testArr: [], |
| | | testPosition: 0, |
| | | } |
| | |
| | | }); |
| | | }, |
| | | spanMethod({ row, column, rowIndex, columnIndex }){ |
| | | if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows){ |
| | | if (columnIndex === this.data.spanConfig.rows.index) { |
| | | const _row = this.testArr[rowIndex]; |
| | | if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows&&this.data.spanConfig.rows.length>0){ |
| | | let i = null; |
| | | let obj = this.data.spanConfig.rows.find((item,index)=>{ |
| | | i = index; |
| | | return item.index==columnIndex |
| | | }) |
| | | if(obj){ |
| | | const _row = this.spanList[i].arr[rowIndex]; |
| | | const _col = _row > 0 ? 1 : 0; |
| | | return { |
| | | rowspan: _row, |
| | |
| | | }) |
| | | } |
| | | } |
| | | if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows){ |
| | | this.testArr = [] |
| | | this.testPosition = 0 |
| | | this.rowspan(this.testArr, this.testPosition, this.data.spanConfig.rows.name); |
| | | if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows&&this.data.spanConfig.rows.length>0){ |
| | | this.spanList = []; |
| | | this.data.spanConfig.rows.forEach((item,index)=>{ |
| | | this.spanList.push({ |
| | | arr:[], |
| | | position:0 |
| | | }) |
| | | this.rowspan(this.spanList[index].arr, this.spanList[index].position, item.name); |
| | | }) |
| | | // this.testArr = [] |
| | | // this.testPosition = 0 |
| | | // this.rowspan(this.testArr, this.testPosition, this.data.spanConfig.rows.name); |
| | | } |
| | | this.loading = false |
| | | }).catch(e => { |
| | |
| | | count += a.font.length |
| | | }) |
| | | return count * 15 + 60 + 'px' |
| | | }, |
| | | handleSuccessUp(response){ |
| | | if(response.code==200){ |
| | | this.$message.success('上传成功') |
| | | this.selectList() |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | :key="upIndex"/> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="在线编制" :visible.sync="claimVisible" width="25cm" :modal-append-to-body="false" :fullscreen="fullscreen"> |
| | | <el-dialog title="在线编制" :visible.sync="claimVisible" width="22cm" :modal-append-to-body="false" :fullscreen="fullscreen"> |
| | | <div class="full-screen"> |
| | | <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i> |
| | | <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" > |
| | |
| | | }, { |
| | | id: 'handleUpload', |
| | | font: '上传', |
| | | type: 'text', |
| | | type: 'upload', |
| | | uploadConfig:{ |
| | | url:this.$api.insReport.inReport, |
| | | accept:'.docx' |
| | | }, |
| | | method: 'handleUpload', |
| | | disabFun: (row, index) => { |
| | | return row.isExamine != null |
| | | } |
| | | }, { |
| | | id: 'handlRestore', |
| | | id: 'handleRestore', |
| | | font: '还原', |
| | | type: 'text', |
| | | method: 'handleRestore', |
| | |
| | | // this.value = await file.convertFileToHtml(row.url) |
| | | // this.claimVisible = true; |
| | | this.$axios.post(this.$api.insReport.wordToHtml, { |
| | | path:row.url |
| | | path:row.urlS?row.urlS:row.url |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | // console.log(11111111,res.data) |
| | | this.value = res.data.replace(/<a [^>]*>/g, "") |
| | | .replace(/<\/a>/g, "").replace(/ /g, " "); |
| | | this.value = res.data |
| | | .replace(/<a [^>]*>/g, "") |
| | | .replace(/<\/a>/g, "") |
| | | .replace(/ /g, " "); |
| | | this.claimVisible = true; |
| | | } |
| | | |
| | |
| | | // 权限分配 |
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let edit = false |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | let res = false |
| | | let issued = false |
| | | let approve = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'upInsOrder') { |
| | | if (power[i].menuMethod == 'upReportFile') { |
| | | edit = true |
| | | } |
| | | if (power[i].menuMethod == 'inReport') { |
| | | up = true |
| | | } |
| | | if (power[i].menuMethod == 'addInsOrder') { |
| | | add = true |
| | | if (power[i].menuMethod == 'upReportUrl') { |
| | | res = true |
| | | } |
| | | } |
| | | if (!approve) { |
| | | this.componentData.do.splice(5, 1) |
| | | } |
| | | if (!issued) { |
| | | this.componentData.do.splice(4, 1) |
| | | } |
| | | if (!res) { |
| | | this.componentData.do.splice(3, 1) |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(4, 1) |
| | | this.componentData.do.splice(2, 1) |
| | | } |
| | | if (!edit) { |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | }, |
| | | handleClose() { |
| | |
| | | }, |
| | | async selectAllByOne(row){ |
| | | console.log(row,await file.convertFileToHtml(row.url)); |
| | | }, |
| | | download(row){ |
| | | let url = row.urlS?row.urlS:row.url; |
| | | const link = document.createElement('a'); |
| | | link.href = this.javaApi + url; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | }, |
| | | handleRestore(row){ |
| | | this.$axios.post(this.$api.insReport.upReportUrl, { |
| | | id:row.id |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('操作成功') |
| | | this.refreshTable() |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | tagField: {}, |
| | | selectField: {}, |
| | | spanConfig:{ |
| | | rows:{ |
| | | rows:[ |
| | | { |
| | | name:'category', |
| | | index:1 |
| | | },//合并行,通常涉及一个字段 |
| | | }, |
| | | // { |
| | | // name:'createUserName', |
| | | // index:5 |
| | | // } |
| | | ],//合并行,通常涉及一个字段 |
| | | }, |
| | | requiredAdd:['category','label','value'], |
| | | requiredUp:['category','label','value'] |