| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <template v-slot:table-wrap> |
| | | <div class="params-container"> |
| | | <div class="section"> |
| | | <h3 class="section-title">叿ºè§å</h3> |
| | | <div class="form-item"> |
| | | <span class="label">叿ºæ¯æ¥å¯åæ¶è®¢å次æ°ä¸º</span> |
| | | <el-input-number v-model="form.driverDailyCancelLimit" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">次ï¼è¶
è¿æ¬¡æ°åï¼ä»æ¥ä¸å¯æ¢å</span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">叿ºæå¤§åæ¶è¿è¡ä¸è®¢åæ°é为</span> |
| | | <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">个ï¼è¶
è¿è¯¥æ°éä¸å
许æ¢å<span class="red">ï¼å³è®¢åç¶æ=å¾
åä»¶/é
éä¸ï¼</span></span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">客æ·ä¸å忝é</span> |
| | | <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">åéæªæå¸æºæ¢åï¼ç³»ç»æ¨éå¹³å°ç®¡çå</span> |
| | | <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">æéå æ¥æ´¾åå¤çã</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="section"> |
| | | <h3 class="section-title">订åè§å</h3> |
| | | <div class="form-item"> |
| | | <span class="label">è¶
æ¶</span> |
| | | <el-input-number v-model="form.autoCancelTime" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">åéæªæ¯ä»ï¼è®¢åèªå¨åæ¶</span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">æ¥é达订å计价系æ°</span> |
| | | <el-input-number v-model="form.urgentCoefficient" :min="0" :precision="2" controls-position="right"></el-input-number> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">ç©åä¿è´¹æ¯ä¾</span> |
| | | <el-input-number v-model="form.insuranceRate" :min="0" :precision="2" controls-position="right"></el-input-number> |
| | | <span class="desc">%</span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">å¼å°å¯é模å¼ä¸ï¼è¥ç©åå·²éè¾¾ï¼è客æ·å½å¤©æªåä»¶ï¼ååç»ç³»ç»æ</span> |
| | | <el-input-number v-model="form.unpickedDiscount" :min="0" :precision="2" controls-position="right"></el-input-number> |
| | | <span class="desc">ææ£ç³»æ°è®¡ç®</span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">订åéè¾¾åé»è®¤</span> |
| | | <el-input-number v-model="form.autoConfirmReceipt" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">天åèªå¨ç¡®è®¤æ¶è´§<span class="red">ï¼ä»
éæ¶ä»¶å°å䏿¯æå¡ç¹çæ
åµï¼</span></span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span class="label">订å宿å</span> |
| | | <el-input-number v-model="form.settlementDate" :min="0" controls-position="right"></el-input-number> |
| | | <span class="label">天åç³»ç»ç»ç®è®¢åï¼å¹¶ç»ä¸åä¸è§è²ææ¯ä¾åæ</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="footer"> |
| | | <el-button type="primary" @click="handleSave" :loading="isWorking.save">ä¿å</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import { getParams, saveParams } from '@/api/business/sysParams' |
| | | |
| | | export default { |
| | | name: 'SysParams', |
| | | components: { TableLayout }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | autoCancelTime: '', |
| | | autoConfirmReceipt: '', |
| | | driverDailyCancelLimit: '', |
| | | insuranceRate: '', |
| | | orderAcceptLimit: '', |
| | | settlementDate: '', |
| | | unpickedDiscount: '', |
| | | urgentCoefficient: '' |
| | | }, |
| | | isWorking: { |
| | | save: false |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.loadData() |
| | | }, |
| | | methods: { |
| | | loadData () { |
| | | getParams().then(res => { |
| | | this.form = { |
| | | autoCancelTime: res.autoCancelTime || '', |
| | | autoConfirmReceipt: res.autoConfirmReceipt || '', |
| | | driverDailyCancelLimit: res.driverDailyCancelLimit || '', |
| | | insuranceRate: res.insuranceRate || '', |
| | | orderAcceptLimit: res.orderAcceptLimit || '', |
| | | settlementDate: res.settlementDate || '', |
| | | unpickedDiscount: res.unpickedDiscount || '', |
| | | urgentCoefficient: res.urgentCoefficient || '' |
| | | } |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | }, |
| | | handleSave () { |
| | | this.isWorking.save = true |
| | | saveParams(this.form).then(res => { |
| | | this.$tip.apiSuccess(res || 'ä¿åæå') |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }).finally(() => { |
| | | this.isWorking.save = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .params-container { |
| | | padding: 20px; |
| | | } |
| | | .section { |
| | | margin-bottom: 40px; |
| | | } |
| | | .section-title { |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | color: #303133; |
| | | margin-bottom: 20px; |
| | | padding-left: 10px; |
| | | border-left: 4px solid #2E68EC; |
| | | } |
| | | .form-item { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | flex-wrap: wrap; |
| | | } |
| | | .form-item .label { |
| | | color: #606266; |
| | | font-size: 14px; |
| | | white-space: nowrap; |
| | | } |
| | | .form-item .desc { |
| | | color: #909399; |
| | | font-size: 14px; |
| | | margin-left: 10px; |
| | | } |
| | | .form-item .red { |
| | | color: #f56c6c; |
| | | } |
| | | .form-item /deep/ .el-input-number { |
| | | margin: 0 10px; |
| | | } |
| | | .form-item /deep/ .el-input-number .el-input__inner { |
| | | text-align: center; |
| | | } |
| | | .footer { |
| | | padding-top: 20px; |
| | | border-top: 1px solid #eee; |
| | | } |
| | | </style> |