¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="sample-registration"> |
| | | <el-row class="title"> |
| | | <el-col :span="20" style="padding-left: 20px;text-align: left;">æ ·åæ¥æ¶</el-col> |
| | | </el-row> |
| | | <el-tabs type="border-card" v-model="activeName" style="height: 100%;" @tab-click="componentData0.entity.totalSampleId=''"> |
| | | <el-tab-pane label="å¡«å" name="å¡«å" style="height: 100%;" :key="1"> |
| | | <el-button size="small" type="primary" @click="handleAdd0" style="margin-left: 20px;" v-if="addPower">æ°å¢</el-button> |
| | | <div class="table" style="height: calc(100% - 200px)" v-if="activeName=='å¡«å'"> |
| | | <ValueTable ref="ValueTable0" :url="$api.processSample.pageProcessSample" |
| | | :componentData="componentData0" :key="upIndex0" :delUrl="$api.processSample.delProcessSample" /> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="åå²è®°å½" name="åå²è®°å½" style="height: 100%;" :key="2"> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">å¹´æï¼</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="componentData.entity.month" |
| | | type="month" |
| | | placeholder="éæ©æ" format="yyyy-MM" |
| | | value-format="yyyy-MM" size="small" @change="refreshTable()"> |
| | | </el-date-picker> |
| | | </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"> |
| | | <ValueTable ref="ValueTable" :url="$api.processSample.pageProcessTotalSample" |
| | | :componentData="componentData" :key="upIndex"/> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | |
| | | <!-- å¡«å --> |
| | | <!-- <el-dialog |
| | | title="å¡«å" |
| | | :visible.sync="editDialogVisible" |
| | | width="1000px" :close-on-click-modal="false" :close-on-press-escape="false"> |
| | | <template #title> |
| | | <span>å¡«å</span> |
| | | <el-button size="small" type="primary" @click="handleAdd0" style="position: absolute;right: 60px;">æ°å¢</el-button> |
| | | </template> |
| | | <div style="max-height: 80vh;overflow-y: auto;" > |
| | | <ValueTable ref="ValueTable0" :url="$api.processTotaldeal.pageProcessDeal" |
| | | :componentData="componentData0" :key="upIndex0" style="height: calc(100% - 10px);" :delUrl="$api.processTotaldeal.delProcessDeal" /> |
| | | </div> |
| | | </el-dialog> --> |
| | | <!-- æ°å¢æ ·å --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="addDialogVisible" |
| | | width="400px"> |
| | | <el-row> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ ·ååç§°ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable v-model="addInfo.sampleName"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ ·åç¼å·ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable v-model="addInfo.sampleCode"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ¥æ ·åä½ï¼</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addInfo.sampleSupplier" size="small"> |
| | | <el-option :label="item.company" :value="item.company" v-for="(item,index) in customPageList" :key="item.id"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ°æ ·åéï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable v-model="addInfo.num"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">çæ ·æ¥æï¼</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addInfo.leaveDate" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" style="width: 100%;"> |
| | | </el-date-picker></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ¶æ ·æ¥æï¼</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addInfo.receiveDate" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" style="width: 100%;"> |
| | | </el-date-picker></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ ·åç¶æï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable v-model="addInfo.sampleState"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24" style="margin-bottom: 16px;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">éæ ·ç¾æ¶/å¤çæ¥æï¼</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addInfo.dealTime" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" style="width: 100%;"> |
| | | </el-date-picker></div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitAdd" :loading="addLoading">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 详æ
/ä¸è½½/å®¡æ ¸/æ¹å --> |
| | | <el-dialog |
| | | :title="title0" |
| | | :visible.sync="lookDialogVisible" |
| | | width="800px" :class="{downPdf:title0=='ä¸è½½'}" :modal="title0!='ä¸è½½'" top="5vh"> |
| | | <filePreview v-if="lookDialogVisible" :fileUrl="javaApi+'/word/'+currentInfo.url" |
| | | :currentFile="{}" style="max-height: 70vh;overflow-y: auto;"/> |
| | | <!-- <div class="dialog-body"> |
| | | <div id="dialogBody"> |
| | | <h4 style="display: flex;align-items: center;flex-direction: column;justify-content: center;"> |
| | | <span style="font-size: 20px;">æ ·åå¤çç³è¯·è¡¨</span> |
| | | <span>Sample Handing Request Form</span> |
| | | </h4> |
| | | <p style="display: flex;justify-content: space-between;margin-top: 16px;"> |
| | | <span>{{ currentInfo.complainNo }}</span> |
| | | <span>NO:</span> |
| | | </p> |
| | | <table border="1" class="tables" cellpadding="10"> |
| | | <tr> |
| | | <td> |
| | | <p>åºå·</p> |
| | | <p class="en">No.</p> |
| | | </td> |
| | | <td> |
| | | <p>æ ·ååç§°</p> |
| | | <p class="en">Sample name</p> |
| | | </td> |
| | | <td> |
| | | <p>æ ·åç¼å·</p> |
| | | <p class="en">Sample number</p> |
| | | </td> |
| | | <td> |
| | | <p>便 ·åä½</p> |
| | | <p class="en">Sample unit</p> |
| | | </td> |
| | | <td> |
| | | <p>æ°é</p> |
| | | <p class="en">Quantity</p> |
| | | </td> |
| | | <td> |
| | | <p>å¤çæ¹å¼</p> |
| | | <p class="en">Processing</p> |
| | | </td> |
| | | <td> |
| | | <p>æ¶é´</p> |
| | | <p class="en">Date</p> |
| | | </td> |
| | | </tr> |
| | | <tr v-for="(item,index) in currentInfo.arr" :key="index"> |
| | | <td>{{ index+1 }}</td> |
| | | <td>{{ item.sampleName }}</td> |
| | | <td>{{ item.sampleCode }}</td> |
| | | <td>{{ item.sampleSupplier }}</td> |
| | | <td>{{ item.num }}</td> |
| | | <td>{{ item.dealMethod }}</td> |
| | | <td>{{ item.dealTime }}</td> |
| | | </tr> |
| | | </table> |
| | | <div class="user-info" v-if="title0=='æ¥ç'||title0=='ä¸è½½'"> |
| | | <div class="user-info-item"> |
| | | <p>填表ï¼<img :src="javaApi+'img/'+currentInfo.submitUrl" :alt="currentInfo.submitUserName" style="width: 100px;height: 60px"></p> |
| | | <p class="en">Filing</p> |
| | | </div> |
| | | <div class="user-info-item"> |
| | | <p>å®¡æ ¸ï¼<img :src="javaApi+'/img/'+currentInfo.examineUrl" :alt="currentInfo.examineUserName" style="width: 100px;height: 60px"></p> |
| | | <p class="en">Audit</p> |
| | | </div> |
| | | <div class="user-info-item"> |
| | | <p>æ¹åï¼<img :src="javaApi+'/img/'+currentInfo.ratifyUrl" :alt="currentInfo.ratifyUserName" style="width: 100px;height: 60px"></p> |
| | | <p class="en">Approve</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <span slot="footer" class="dialog-footer" v-if="title0=='å®¡æ ¸'||title0=='æ¹å'"> |
| | | <el-button @click="submitCheck('ä¸éè¿')" :loading="noCheckLoading">ä¸éè¿</el-button> |
| | | <el-button type="primary" @click="submitCheck('éè¿')" :loading="checkLoading">é è¿</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | import {exportHtmlToPDF} from '../../util/downHtmlToPDF' |
| | | import filePreview from '../tool/file-preview.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | | filePreview, |
| | | }, |
| | | name: "SampleDisposal", |
| | | data() { |
| | | return { |
| | | activeName:'å¡«å', |
| | | title:'æ°å¢', |
| | | addDialogVisible:false, |
| | | addLoading:false, |
| | | outLoading:false, |
| | | editDialogVisible:false, |
| | | lookDialogVisible:false, |
| | | title0:'æ¥ç', |
| | | noCheckLoading:false, |
| | | checkLoading:false, |
| | | // åå²å表 |
| | | componentData: { |
| | | entity: { |
| | | month: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'desc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'handleLook', |
| | | font: 'æ¥ç', |
| | | type: 'text', |
| | | method: 'handleLook', |
| | | }, { |
| | | id: 'handleDown0', |
| | | font: 'ä¸è½½', |
| | | type: 'text', |
| | | method: 'handleDown0', |
| | | disabFun: (row, index) => { |
| | | return !row.url |
| | | } |
| | | }, |
| | | // { |
| | | // id: 'handleAdd', |
| | | // font: 'å¡«å', |
| | | // type: 'text', |
| | | // method: 'handleAdd', |
| | | // disabFun: (row, index) => { |
| | | // return row.submitState=='å·²æäº¤' |
| | | // } |
| | | // }, |
| | | { |
| | | id: 'handleSubmit', |
| | | font: 'æäº¤', |
| | | type: 'text', |
| | | method: 'handleSubmit', |
| | | disabFun: (row, index) => { |
| | | return !!row.submitState&&row.submitState!='å¾
æäº¤' |
| | | } |
| | | }, { |
| | | id: 'handleCheck', |
| | | font: 'å®¡æ ¸', |
| | | type: 'text', |
| | | method: 'handleCheck', |
| | | disabFun: (row, index) => { |
| | | return row.examineState=='éè¿'||row.submitState=='å¾
æäº¤' |
| | | } |
| | | }, { |
| | | id: 'handleApproval', |
| | | font: 'æ¹å', |
| | | type: 'text', |
| | | method: 'handleApproval', |
| | | disabFun: (row, index) => { |
| | | return row.ratifyState=='éè¿'||row.submitState=='å¾
æäº¤' |
| | | } |
| | | }], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [], |
| | | needSort: [], |
| | | inputType:'' |
| | | }, |
| | | // æ ·åå表 |
| | | componentData0: { |
| | | entity: { |
| | | totalSampleId: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'desc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'handleAdd0', |
| | | font: 'ä¿®æ¹', |
| | | type: 'text', |
| | | method: 'handleAdd0' |
| | | },{ |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [], |
| | | needSort: [], |
| | | inputType:Â '' |
| | | }, |
| | | upIndex0: 100, |
| | | entityCopy: {}, |
| | | upIndex: 0, |
| | | addInfo:{},//æ°å¢æ ·å |
| | | customPageList:[], |
| | | currentInfo:{ |
| | | arr:[] |
| | | },//æ¥çç详æ
|
| | | outPower:true, |
| | | addPower:true, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity); |
| | | this.getCustomPageList() |
| | | // this.getPower() |
| | | }, |
| | | methods: { |
| | | getPower(){ |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let add = false |
| | | let out = false |
| | | let submitProcessTotaldeal = false |
| | | let checkProcessTotaldeal = false |
| | | let ratifyProcessTotaldeal = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'addProcessDeal') { |
| | | add = true |
| | | } |
| | | // if (power[i].menuMethod == 'exportProcessEvaluate') { |
| | | // out = true |
| | | // } |
| | | if (power[i].menuMethod == 'submitProcessTotaldeal') { |
| | | submitProcessTotaldeal = true |
| | | } |
| | | if (power[i].menuMethod == 'checkProcessTotaldeal') { |
| | | checkProcessTotaldeal = true |
| | | } |
| | | if (power[i].menuMethod == 'ratifyProcessTotaldeal') { |
| | | ratifyProcessTotaldeal = true |
| | | } |
| | | } |
| | | if (!ratifyProcessTotaldeal) { |
| | | this.componentData.do.splice(4, 1) |
| | | } |
| | | if (!checkProcessTotaldeal) { |
| | | this.componentData.do.splice(3, 1) |
| | | } |
| | | if (!submitProcessTotaldeal) { |
| | | this.componentData.do.splice(2, 1) |
| | | } |
| | | if (!add) { |
| | | this.componentData0.do.splice(1, 1) |
| | | this.componentData0.do.splice(0, 1) |
| | | } |
| | | this.addPower = add |
| | | }, |
| | | // è·åéæ ·åä½å表 |
| | | getCustomPageList(){ |
| | | this.$axios.post(this.$api.user.selectCustomPageList,{ |
| | | entity: { |
| | | orderBy: { |
| | | field: 'createTime', |
| | | order: 'desc' |
| | | } |
| | | }, |
| | | page:{ |
| | | current:-1, |
| | | size:-1 |
| | | } |
| | | },{headers: { |
| | | 'Content-Type': 'application/json' |
| | | }}).then(res=>{ |
| | | this.customPageList = res.data.body.records |
| | | }).catch(err=>{}); |
| | | }, |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | this.upIndex++ |
| | | this.refreshTable() |
| | | }, |
| | | // å¡«å |
| | | // handleAdd(row){ |
| | | // this.componentData0.entity.totaldealId = row.id |
| | | // this.editDialogVisible = true |
| | | // }, |
| | | // æå¼æ°å¢çé¢ |
| | | handleAdd0(row){ |
| | | if(row){ |
| | | this.addInfo = this.HaveJson(row) |
| | | this.title = 'ç¼è¾' |
| | | }else{ |
| | | this.title = 'æ°å¢' |
| | | this.addInfo = {} |
| | | } |
| | | this.addDialogVisible = true |
| | | }, |
| | | // æäº¤æ°å¢ |
| | | submitAdd(){ |
| | | if(this.addInfo.id){ |
| | | // ç¼è¾ |
| | | this.addLoading = true |
| | | this.$axios.post(this.$api.processSample.doProcessSample,{ |
| | | totalSampleId:this.componentData0.entity.totalSampleId, |
| | | ...this.addInfo |
| | | },{headers: { |
| | | 'Content-Type': 'application/json' |
| | | },noQs:false}).then(res=>{ |
| | | this.addLoading = false |
| | | if (res.code === 201) return |
| | | this.addDialogVisible = false |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'ç¼è¾æå!' |
| | | }); |
| | | this.$refs.ValueTable0.selectList() |
| | | }).catch(err=>{}); |
| | | }else{ |
| | | // æ°å¢ |
| | | this.addLoading = true |
| | | this.$axios.post(this.$api.processSample.addProcessSample,{ |
| | | totalSampleId:this.componentData0.entity.totalSampleId, |
| | | ...this.addInfo |
| | | },{headers: { |
| | | 'Content-Type': 'application/json' |
| | | },noQs:false}).then(res=>{ |
| | | this.addLoading = false |
| | | if (res.code === 201) return |
| | | this.addDialogVisible = false |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æ°å¢æå!' |
| | | }); |
| | | this.$refs.ValueTable0.selectList() |
| | | }).catch(err=>{}); |
| | | } |
| | | }, |
| | | // æäº¤ |
| | | handleSubmit(row){ |
| | | this.$confirm('æ¯å¦æäº¤ '+row.month+' æä»½çæ°æ®', 'æäº¤', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$axios.post(this.$api.processSample.submitProcessTotalSample,{ |
| | | id:row.id |
| | | }).then(res=>{ |
| | | if (res.code === 201) return |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå!' |
| | | }); |
| | | this.$refs['ValueTable'].selectList() |
| | | }).catch(err=>{}); |
| | | }) |
| | | }, |
| | | // æ¥ç |
| | | handleLook(row){ |
| | | // console.log(row) |
| | | // this.title0 = 'æ¥ç' |
| | | // this.commonFun(row) |
| | | this.activeName = 'å¡«å' |
| | | this.componentData0.entity.totalSampleId = row.id |
| | | this.$refs['ValueTable0'].selectList() |
| | | }, |
| | | commonFun(row,callbanck){ |
| | | this.currentInfo = row |
| | | this.componentData0.entity.totalSampleId = row.id |
| | | this.$axios.post(this.$api.processSample.pageProcessSample,{ |
| | | entity:this.componentData0.entity, |
| | | page:{ |
| | | current:-1, |
| | | size:-1 |
| | | } |
| | | },{headers: { |
| | | 'Content-Type': 'application/json' |
| | | }}).then(res=>{ |
| | | this.currentInfo.arr = res.data.body.records |
| | | this.lookDialogVisible = true |
| | | if(callbanck){ |
| | | callbanck() |
| | | } |
| | | }).catch(err=>{}); |
| | | }, |
| | | // å®¡æ ¸ |
| | | handleCheck(row){ |
| | | this.title0 = 'å®¡æ ¸' |
| | | this.commonFun(row) |
| | | }, |
| | | // æ¹å |
| | | handleApproval(row){ |
| | | this.title0 = 'æ¹å' |
| | | this.commonFun(row) |
| | | }, |
| | | // æäº¤å®¡æ ¸/æ¹å |
| | | submitCheck(state){ |
| | | if(state=='éè¿'){ |
| | | this.checkLoading = true |
| | | }else{ |
| | | this.noCheckLoading = true |
| | | } |
| | | if(this.title0=='å®¡æ ¸'){ |
| | | this.$axios.post(this.$api.processSample.checkProcessTotalSample,{ |
| | | id:this.currentInfo.id, |
| | | state:state |
| | | }).then(res=>{ |
| | | this.checkLoading = false |
| | | this.noCheckLoading = false |
| | | if (res.code === 201) return |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æä½æå!' |
| | | }); |
| | | this.$refs['ValueTable'].selectList() |
| | | this.lookDialogVisible = false |
| | | }).catch(err=>{}); |
| | | }else if(this.title0=='æ¹å'){ |
| | | this.$axios.post(this.$api.processSample.ratifyProcessTotalSample,{ |
| | | id:this.currentInfo.id, |
| | | state:state |
| | | }).then(res=>{ |
| | | this.checkLoading = false |
| | | this.noCheckLoading = false |
| | | if (res.code === 201) return |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æä½æå!' |
| | | }); |
| | | this.$refs['ValueTable'].selectList() |
| | | this.lookDialogVisible = false |
| | | }).catch(err=>{}); |
| | | } |
| | | }, |
| | | // 导åºè¯¦æ
|
| | | handleDown0(row){ |
| | | // å端ä¸è½½ |
| | | // this.title0 = 'ä¸è½½' |
| | | // let that = this |
| | | // function down() { |
| | | // setTimeout(() => { |
| | | // that.$nextTick(() => { |
| | | // const element = document.getElementById("dialogBody"); |
| | | // exportHtmlToPDF(element,that.currentInfo.month+' æ ·åå¤çç³è¯·è¡¨').then(res=>{ |
| | | // that.lookDialogVisible = false |
| | | // }) |
| | | // }) |
| | | // }, 1000); |
| | | // } |
| | | // this.commonFun(row,down) |
| | | |
| | | // å端ä¸è½½ |
| | | let url = this.javaApi+'/word/'+row.url |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = row.month+' æ ·åæ¥æ¶è¡¨'; |
| | | link.click(); |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | .search { |
| | | background-color: #fff; |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | } |
| | | |
| | | .search_thing { |
| | | width: 350px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 110px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 110px); |
| | | } |
| | | |
| | | .table { |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 140px); |
| | | padding: 20px; |
| | | } |
| | | .downPdf{ |
| | | opacity: 0 !important; |
| | | } |
| | | .tables { |
| | | table-layout: fixed; |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .tables td { |
| | | height: 40px; |
| | | width: 100px; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | } |
| | | .en{ |
| | | font-size: 12px; |
| | | word-break: break-word; /* èªå¨æè¡ */ |
| | | overflow-wrap: break-word; /* 鲿¢æº¢åº */ |
| | | white-space: normal; /* é»è®¤æ¢è¡ */ |
| | | } |
| | | .user-info{ |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-evenly; |
| | | margin-top: 20px; |
| | | } |
| | | .user-info .el-button{ |
| | | margin: 0; |
| | | } |
| | | >>>.el-tabs__content{ |
| | | height: 100%; |
| | | } |
| | | </style> |