¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <div style="width: 100%;height: 100%;"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;text-align: left;">åæææ£éªä¸å</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="medium" type="primary" v-if="tabIndex === 0" @click="openIFS">è·åIFS订å</el-button> |
| | | <el-button size="medium" type="primary" v-if="tabIndex === 0">æ¥æ£</el-button> |
| | | </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.entrustCode" @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.sample" @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.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">æ¥ è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <ul class="tab"> |
| | | <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li> |
| | | </ul> |
| | | <ValueTable :style="getStyle()" ref="ValueTable" |
| | | :url="$api.insOrder.selectSampleAndProductByOrderId" |
| | | :componentData="componentData" |
| | | :key="'b'+ upIndex" /> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="è·åIFS订åè¡" :visible.sync="IFSDialog" width="70%"> |
| | | <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.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refreshIFS()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTableIFS()">æ¥ è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div style="height: 70vh;overflow-y: auto;"> |
| | | <ValueTable ref="ValueTableIFS" |
| | | :url="$api.insOrder.selectSampleAndProductByOrderId" |
| | | :componentData="componentDataIFS"/> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="IFSDialog=false">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitPrint" :loading="IFSGetLoading">è·å</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from "../tool/value-table.vue"; |
| | | |
| | | export default { |
| | | name: "b1-material-inspection-order", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {ValueTable}, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | componentData: { // è¡¨æ ¼æ°æ® |
| | | entity: { |
| | | entrustCode: null, |
| | | sample: null, |
| | | sampleModel: null, |
| | | }, |
| | | isIndex: true, |
| | | showSelect: true, |
| | | select: true, |
| | | selectMethod:'selectMethod', |
| | | do: [ |
| | | { |
| | | id: 'update', |
| | | font: 'ç¼è¾', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | }, |
| | | { |
| | | id: 'verify', |
| | | font: 'æ¥ç', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | }, |
| | | { |
| | | id: 'dataLook', |
| | | font: 'æ¤éæ¥æ£', |
| | | type: 'text', |
| | | method: 'handleDataLook', |
| | | } |
| | | ], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | componentDataIFS: { |
| | | entity: { |
| | | entrustCode: null, |
| | | sample: null, |
| | | sampleModel: null, |
| | | }, |
| | | isIndex: true, |
| | | showSelect: true, |
| | | select: true, |
| | | selectMethod:'selectMethod', |
| | | do: [], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | tabList: [{ |
| | | label: 'å¾
æ¥æ£', |
| | | value: 0 |
| | | }, { |
| | | label: 'å¾
å¶å', |
| | | value: 1 |
| | | }], |
| | | upIndex: 0, |
| | | tabIndex: 0, |
| | | multipleSelection:[], |
| | | entityCopy: {}, |
| | | entityCopyIFS: {}, |
| | | IFSDialog: false, |
| | | IFSGetLoading: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.entityCopyIFS = this.HaveJson(this.componentDataIFS.entity) |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | refreshTable(e) { |
| | | this.$refs.ValueTable.selectList(e) |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | this.refreshTable() |
| | | }, |
| | | refreshIFS() { |
| | | this.componentDataIFS.entity = this.HaveJson(this.entityCopyIFS) |
| | | this.refreshTableIFS() |
| | | }, |
| | | refreshTableIFS(e) { |
| | | this.$refs.ValueTableIFS.selectList(e) |
| | | }, |
| | | // è·åIFS订å |
| | | submitPrint () { |
| | | |
| | | }, |
| | | // 忢tabè¡¨æ ¼ |
| | | handleTab(m, i) { |
| | | this.tabIndex = i; |
| | | this.componentData.entity.state = m.value |
| | | this.refreshTable() |
| | | }, |
| | | // è¡¨æ ¼éæ©æ¹æ³ |
| | | selectMethod(val){ |
| | | this.multipleSelection = val |
| | | }, |
| | | openIFS () { |
| | | this.IFSDialog = true |
| | | }, |
| | | getStyle(){ |
| | | return 'height: calc(100% - '+(this.more?'94':'44')+'px)' |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | width: 250px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 110px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 90px); |
| | | } |
| | | .table { |
| | | margin-top: 10px; |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 10px - 40px); |
| | | padding: 20px; |
| | | } |
| | | .tab { |
| | | list-style-type: none; |
| | | display: flex; |
| | | margin-bottom: 12px; |
| | | } |
| | | |
| | | .tab li { |
| | | line-height: 24px; |
| | | padding: 6px 14px; |
| | | font-size: 14px; |
| | | color: #333333; |
| | | border: 1px solid #EEEEEE; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .tab li:nth-child(1) { |
| | | border-radius: 8px 0 0 8px; |
| | | } |
| | | |
| | | .tab li:nth-child(2) { |
| | | border-radius: 0 8px 8px 0; |
| | | } |
| | | |
| | | .tab li.active { |
| | | border-color: #3A7BFA; |
| | | color: #3A7BFA; |
| | | } |
| | | </style> |