| | |
| | | StandardTemplate, |
| | | insOrder, |
| | | sampleOrder, |
| | | insOrderPlan |
| | | insOrderPlan, |
| | | insReport |
| | | } |
| | | } |
| | | |
| | |
| | | delStandardTemplate: "/StandardTemplate/delStandardTemplate", //删除检验模板 |
| | | getStandardTemplate: "/StandardTemplate/getStandardTemplate", //查询原始记录模板枚举 |
| | | } |
| | | |
| | | const insReport = { |
| | | pageInsReport: "/insReport/pageInsReport", //查询检验报告数据 |
| | | } |
| | |
| | | this.tableList.forEach(a => { |
| | | let dels = [] |
| | | let ids = [] |
| | | a.template.forEach(b => { |
| | | if (b.v.ps != undefined && b.v.ps.value === '检验子项') { |
| | | let count = 0 |
| | | for (let i in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[i].inspectionItemSubclass === b.v.v && this.currentSample |
| | | .insProduct[i].templateId === a.templateId) { |
| | | ids.push({ |
| | | r: b.r, |
| | | id: this.currentSample.insProduct[i].id, |
| | | product: this.currentSample.insProduct[i] |
| | | }) |
| | | break |
| | | } |
| | | count++ |
| | | } |
| | | if (count === this.currentSample.insProduct.length) { |
| | | dels.push(b) |
| | | } |
| | | } |
| | | }) |
| | | a.template.forEach(b => { |
| | | if (b.v.ps != undefined && b.v.ps.value === '检验子项') { |
| | | let count = 0 |
| | | for (let i in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[i].inspectionItemSubclass === b.v.v && this.currentSample |
| | | .insProduct[i].templateId === a.templateId) { |
| | | ids.push({ |
| | | r: b.r, |
| | | id: this.currentSample.insProduct[i].id, |
| | | product: this.currentSample.insProduct[i] |
| | | }) |
| | | break |
| | | } |
| | | count++ |
| | | } |
| | | if (count === this.currentSample.insProduct.length) { |
| | | dels.push(b) |
| | | } |
| | | } |
| | | }) |
| | | dels.forEach(del => { |
| | | for (let b = 0; b < a.template.length; b++) { |
| | | if (a.template[b].r === del.r) { |
| | |
| | | this.param[a.id].insValue[i].u = insValue[i].u |
| | | } |
| | | }catch(e){} |
| | | try{ |
| | | this.param[a.id].equipValue.v.v = a.insProductResult.equipValue |
| | | }catch(e){} |
| | | this.param[a.id].resValue.v.v = a.lastValue |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | try{ |
| | | this.param[a.id].equipValue.v.v = a.insProductResult.equipValue |
| | | }catch(e){} |
| | | try{ |
| | | this.param[a.id].resValue.v.v = a.lastValue |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | }catch(e){ |
| | | } |
| | | }) |
| | | this.handleExcelMethod() |
| | | }, |
| | |
| | | :span-method="spanMethod"> |
| | | <el-table-column type="selection" width="65" v-if="data.showSelect" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column type="index" align="center" label="序号" width="70" v-if="data.isIndex" :key="Math.random()"> |
| | | <el-table-column type="index" align="center" label="序号" width="65" v-if="data.isIndex" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column :prop="a.label" :label="a.value" :sortable="data.sort==false?false:'custom'" |
| | | v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="160"> |
| | | v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="155"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="showType(a.label, data.tagField) != null"> |
| | | <template v-if="typeof(scope.row[a.label]) == 'object'"> |
| | |
| | | div.tox.tox-tinymce.tox-tinymce--toolbar-sticky-off{ |
| | | height: 100% !important; |
| | | } |
| | | .tinymce-box{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | |
| | | font: '复核', |
| | | type: 'text', |
| | | method: 'handleReview', |
| | | disabFun: (row, index) => { |
| | | return row.userId == null || row.insState != 4 |
| | | } |
| | | // disabFun: (row, index) => { |
| | | // return row.userId == null || row.insState != 4 |
| | | // } |
| | | }, { |
| | | id: '', |
| | | font: '认领', |
| | |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | if (this.currentTime === row.appointed) { |
| | | if (this.currentTime == row.appointed) { |
| | | return 'highlight-warning-row-border' |
| | | } else if (this.currentTime > row.appointed) { |
| | | return 'highlight-danger-row-border' |
| | |
| | | <style scoped> |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | } |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 120px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | .search_label { |
| | | width: 120px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 120px); |
| | | } |
| | | .search_input { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .table { |
| | | margin-top: 10px; |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 10px - 40px); |
| | | padding: 20px; |
| | | } |
| | | .table { |
| | | margin-top: 10px; |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 10px - 40px); |
| | | padding: 20px; |
| | | } |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 16px; |
| | |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="inspection_order"> |
| | | <div style="width: 100%;height: 100%;"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">报告编制</el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">样品名称:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="componentData.entity.sample" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">状态:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="componentData.entity.status" placeholder="全部" size="small"> |
| | | <el-option |
| | | v-for="item in statusList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <div class="inspection_order"> |
| | | <div style="width: 100%;height: 100%;"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">报告编制</el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">报告编号:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="componentData.entity.code" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">委托编号:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.entrustCode" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData" |
| | | :key="upIndex" @handleWeave="handleWeave"/> |
| | | <ValueTable ref="ValueTable" :url="$api.insReport.pageInsReport" :componentData="componentData" |
| | | :key="upIndex"/> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="在线编制" :visible.sync="claimVisible" width="25cm" :modal-append-to-body="false" :fullscreen="fullscreen"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | import ValueTable from '../tool/value-table.vue' |
| | | import Word from '../tool/word.vue' |
| | | // import convertFileToHtml from '../../util/file'; |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | | Word, |
| | | }, |
| | | data() { |
| | | return { |
| | | componentData: { |
| | | entity: { |
| | | entrustCode: null, |
| | | sample: null, |
| | | state: 1, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'handleWeave', |
| | | font: '在线编制', |
| | | type: 'text', |
| | | method: 'handleWeave', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 |
| | | } |
| | | }, { |
| | | id: 'download', |
| | | font: '下载', |
| | | type: 'text', |
| | | method: 'download', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 |
| | | } |
| | | }, { |
| | | id: 'handleUpload', |
| | | font: '上传', |
| | | type: 'text', |
| | | method: 'handleUpload', |
| | | disabFun: (row, index) => { |
| | | return row.state != 0 |
| | | } |
| | | }, { |
| | | id: 'handlRestore', |
| | | font: '还原', |
| | | type: 'text', |
| | | method: 'handleRestore' |
| | | }, { |
| | | }, |
| | | data() { |
| | | return { |
| | | componentData: { |
| | | entity: { |
| | | entrustCode: null, |
| | | code: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'desc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'handleWeave', |
| | | font: '在线编制', |
| | | type: 'text', |
| | | method: 'handleWeave', |
| | | disabFun: (row, index) => { |
| | | return row.isExamine != null |
| | | } |
| | | }, { |
| | | id: 'download', |
| | | font: '下载', |
| | | type: 'text', |
| | | method: 'download' |
| | | }, { |
| | | id: 'handleUpload', |
| | | font: '上传', |
| | | type: 'text', |
| | | method: 'handleUpload', |
| | | disabFun: (row, index) => { |
| | | return row.isExamine != null |
| | | } |
| | | }, { |
| | | id: 'handlRestore', |
| | | font: '还原', |
| | | type: 'text', |
| | | method: 'handleRestore', |
| | | disabFun: (row, index) => { |
| | | return row.isExamine != null |
| | | } |
| | | }, { |
| | | id: 'handleIssued', |
| | | font: '审核', |
| | | type: 'text', |
| | | method: 'handleIssued', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 || row.sendTime != null |
| | | } |
| | | }, { |
| | | font: '审核', |
| | | type: 'text', |
| | | method: 'handleIssued', |
| | | disabFun: (row, index) => { |
| | | return row.isExamine != null |
| | | } |
| | | }, { |
| | | id: 'handleApprove', |
| | | font: '批准', |
| | | type: 'text', |
| | | method: 'handleApprove', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 || row.sendTime != null |
| | | } |
| | | }], |
| | | linkEvent:{ |
| | | entrustCode:{ |
| | | method:'selectAllByOne' |
| | | } |
| | | }, |
| | | tagField: { |
| | | type: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'success', |
| | | label: '普通' |
| | | }, { |
| | | value: 1, |
| | | type: 'warning', |
| | | label: '优先' |
| | | }, { |
| | | value: 2, |
| | | type: 'danger', |
| | | label: '紧急' |
| | | }] |
| | | }, |
| | | createUser: { |
| | | select: [] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | entityCopy: {}, |
| | | upIndex: 0, |
| | | statusList:[], |
| | | claimVisible:false, |
| | | font: '批准', |
| | | type: 'text', |
| | | method: 'handleApprove', |
| | | disabFun: (row, index) => { |
| | | return row.isRatify != null |
| | | } |
| | | }], |
| | | linkEvent: { |
| | | code: { |
| | | method: 'selectAllByOne' |
| | | } |
| | | }, |
| | | tagField: { |
| | | isRatify: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'danger', |
| | | label: '不批准' |
| | | }, { |
| | | value: 1, |
| | | type: 'success', |
| | | label: '批准' |
| | | }] |
| | | }, |
| | | isExamine: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'danger', |
| | | label: '不通过' |
| | | }, { |
| | | value: 1, |
| | | type: 'success', |
| | | label: '通过' |
| | | }] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | entityCopy: {}, |
| | | upIndex: 0, |
| | | statusList: [], |
| | | claimVisible: false, |
| | | fullscreen:false, |
| | | value:'' |
| | | } |
| | | }, |
| | | watch:{ |
| | | claimVisible(val){ |
| | | this.fullscreen = false; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | }, |
| | | methods: { |
| | | // ...convertFileToHtml(), |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | this.upIndex++ |
| | | }, |
| | | handleWeave(){ |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | }, |
| | | methods: { |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | this.upIndex++ |
| | | }, |
| | | handleWeave() { |
| | | this.claimVisible = true; |
| | | }, |
| | | // 权限分配 |
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'upInsOrder') { |
| | | up = true |
| | | } |
| | | if (power[i].menuMethod == 'addInsOrder') { |
| | | add = true |
| | | } |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(4, 1) |
| | | } |
| | | }, |
| | | handleClose() { |
| | | this.upLoad = false; |
| | | }, |
| | | confirmClaim(){ |
| | | console.log(11111111111,this.$refs.Word.getValue()) |
| | | // 权限分配 |
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'upInsOrder') { |
| | | up = true |
| | | } |
| | | if (power[i].menuMethod == 'addInsOrder') { |
| | | add = true |
| | | } |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(4, 1) |
| | | } |
| | | }, |
| | | handleClose() { |
| | | this.upLoad = false; |
| | | }, |
| | | confirmClaim() { |
| | | console.log(this.$refs.Word.getValue()) |
| | | }, |
| | | selectAllByOne(row){ |
| | | console.log(row); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | year = year + '-' |
| | | let days = date.getDate() |
| | | if (days < 10) { |
| | | days = '0' + days + '-' |
| | | days = '0' + days |
| | | } else { |
| | | days = days + '-' |
| | | days = days |
| | | } |
| | | return (year + month + days) |
| | | } |
| | |
| | | { |
| | | v: "业务管理", |
| | | i: "font icon-kexueyanjiuheshiyankaifa", |
| | | p: "", |
| | | p: "selectInsOrderParameter selectInsOrderPlanList pageInsReport", |
| | | c: [{ |
| | | v: "检验下单", |
| | | i: "font icon-erjidaohang", |
| | |
| | | v: "报告编制", |
| | | i: "font icon-erjidaohang", |
| | | u: "b1-report-preparation", |
| | | p: "" |
| | | p: "pageInsReport" |
| | | }, { |
| | | v: "费用统计", |
| | | i: "font icon-erjidaohang", |