¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="view"> |
| | | <div class="left-card"> |
| | | <div class="count-region">æ°å¼è¾å
¥åº</div> |
| | | <div class="scroll"> |
| | | <div> |
| | | <div class="title">éç¨è®¾ç½®</div> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="110" label-position="top"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="å¾
é
ç
¤ç§æ°é"> |
| | | <el-input v-model="formInline.num" type="number" clearable @change="updateCoalFields" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="åä¸é
ç
¤æ»å¨æ°"> |
| | | <el-input v-model="formInline.count" type="number" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="æ¯é²éé(å¨/é²)"> |
| | | <el-input v-model="formInline.count1" type="number" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div> |
| | | <div class="title">ç
¤ç§å±æ§</div> |
| | | <el-form :model="coalForms" :inline="true" label-width="110" label-position="top"> |
| | | <div v-for="(item, index) in coalForms" :key="index" style="margin-bottom: 15px;"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="ç
¤ç§ç±»å"> |
| | | <el-select v-model="item.type" placeholder="è¯·éæ©" clearable style="width: 200px"> |
| | | <el-option label="å·²æç
¤" value="å·²æç
¤" /> |
| | | <el-option label="æªç¥ç
¤" value="æªç¥ç
¤" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item :label="'ç
¤ç§' + (index + 1)"> |
| | | <el-input v-model="item.name" clearable v-if="item.type !== 'å·²æç
¤'" placeholder=" 请è¾å
¥"/> |
| | | <el-select v-model="item.name" placeholder="è¯·éæ©" clearable v-else style="width: 200px"> |
| | | <el-option label="å·²æç
¤" value="å·²æç
¤" /> |
| | | <el-option label="æªç¥ç
¤" value="æªç¥ç
¤" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="åçé(CV)"> |
| | | <el-input v-model="item.ratio" type="number" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="ä»·æ ¼(å
/å¨)"> |
| | | <el-input v-model="item.weight" type="number" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="ç¡«å(%)"> |
| | | <el-input v-model="item.weight1" type="number" clearable placeholder="å¯é" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="ç°å(%)"> |
| | | <el-input v-model="item.weight2" type="number" clearable placeholder="å¯é" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ°´å(%)"> |
| | | <el-input v-model="item.weight3" type="number" clearable placeholder="å¯é" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <div> |
| | | <div class="title">é
ç
¤çº¦ææ¡ä»¶</div> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="110" label-position="top"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ··åç
¤æä½åçé(CV)"> |
| | | <el-input v-model="formInline.num" type="number" clearable @change="updateCoalFields" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ··åç
¤æé«ç¡«å(%)"> |
| | | <el-input v-model="formInline.count" type="number" clearable placeholder="å¯é"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ··åç
¤æé«ç°å(%)"> |
| | | <el-input v-model="formInline.count1" type="number" clearable placeholder="å¯é"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ··åç
¤æé«æ°´å(%)"> |
| | | <el-input v-model="formInline.count1" type="number" clearable placeholder="å¯é"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="footer"> |
| | | <el-button @click="cancel">éç½®</el-button> |
| | | <el-button type="primary" @click="submitForm" plain>æ¥ç计ç®ç»æ</el-button> |
| | | <el-button type="primary" @click="submitForm">计ç®å
¥åº</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="right-card"> |
| | | <div class="count-region">ç»æåº</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | const data = reactive({ |
| | | formInline: { |
| | | num: 1 |
| | | }, |
| | | coalForms: [ |
| | | { |
| | | name: '', |
| | | ratio: 0, |
| | | weight: 0 |
| | | } |
| | | ], |
| | | }) |
| | | const { formInline, coalForms } = toRefs(data) |
| | | |
| | | const updateCoalFields = () => { |
| | | const num = parseInt(formInline.value.num); |
| | | if (isNaN(num) || num <= 0) { |
| | | coalForms.value = []; |
| | | return; |
| | | } |
| | | |
| | | // 妿å½åæ°ç»é¿åº¦å¤§äºæéæ°éï¼æªæ |
| | | if (coalForms.value.length > num) { |
| | | coalForms.value = coalForms.value.slice(0, num); |
| | | return; |
| | | } |
| | | |
| | | // å¦åï¼å¡«å
æ°ç空对象 |
| | | while (coalForms.value.length < num) { |
| | | coalForms.value.push({ |
| | | name: '', |
| | | ratio: 0, |
| | | weight: 0 |
| | | }); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .view { |
| | | display: flex; |
| | | } |
| | | .left-card { |
| | | background: #fff; |
| | | width: calc(100% - 600px); |
| | | padding: 16px; |
| | | margin-right: 10px; |
| | | } |
| | | .count-region { |
| | | font-size: 18px; |
| | | color: #000000; |
| | | line-height: 25px; |
| | | } |
| | | .scroll { |
| | | height: calc(100vh - 14em); |
| | | overflow-y: auto; |
| | | } |
| | | .title { |
| | | font-size: 14px; |
| | | color: #165DFF; |
| | | line-height: 20px; |
| | | font-weight: 600; |
| | | padding-left: 10px; |
| | | position: relative; |
| | | margin: 6px 0; |
| | | } |
| | | .title::before { |
| | | content: ""; |
| | | position: absolute; |
| | | left: 0; |
| | | top: 3px; /* è°æ´åç´ä½ç½® */ |
| | | width: 4px; /* å°æ°æ¡å®½åº¦ */ |
| | | height: 14px; /* å°æ°æ¡é«åº¦ */ |
| | | background-color: #165DFF; /* èè² */ |
| | | } |
| | | .el-divider--horizontal { |
| | | margin: 12px 0; |
| | | } |
| | | .footer { |
| | | text-align: right; |
| | | } |
| | | |
| | | .right-card { |
| | | background: #fff; |
| | | width: 600px; |
| | | height: auto; |
| | | padding: 16px; |
| | | } |
| | | </style> |