Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
| | |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/' |
| | | |
| | | # 任康 |
| | | VUE_APP_API = 'http://192.168.0.143:10030/' |
| | | VUE_APP_API = 'http://192.168.0.129:10030/' |
| | |
| | | |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/' |
| | | |
| | | VUE_APP_API = 'http://192.168.0.143:10031/' |
| | | VUE_APP_API = 'http://192.168.0.129:10031/' |
| | | |
| | | # VUE_APP_API = 'https://www.yyb.red/yyb_web_api/' |
| | |
| | | export function nuclearCompensation (data) { |
| | | return request.post('/business/settleRisk/nuclearCompensation', data) |
| | | } |
| | | |
| | | // ä¿®æ¹éé¢ |
| | | export function updFee (data) { |
| | | return request.post('/business/settleRisk/updFee', data) |
| | | } |
| | | |
| | | // 确认éé¢ |
| | | export function confirmFee (id) { |
| | | return request.get(`/business/settleRisk/confirmFee?id=${id}`) |
| | | } |
| | | |
| | | // ç»æ¡æäº¤ |
| | | export function payCash (data) { |
| | | return request.post('/business/settleRisk/payCash', data) |
| | | } |
| | | |
| | | // ä¿®æ¹æ¶æ¬¾ä¿¡æ¯ |
| | | export function updReceiveInfo (data) { |
| | | return request.post('/business/settleRisk/updReceiveInfo', data) |
| | | } |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="box_desc"> |
| | | <template v-if="userInfo.type === 1"> |
| | | <div class="box_tui"> |
| | | <span class="box_tui_status">å·²éå</span> |
| | | <div class="box_tui_title">éå说æ</div> |
| | | <div class="box_tui_info">æ¶é´ï¼2025-03-11 12:23</div> |
| | | <div class="box_tui_info">人åï¼å¹³å°çèµäººå-å¼ ä¸-18876784433</div> |
| | | <div class="box_tui_row"><div class="yuan"></div>ä½é¢ç
åææä¸å®æ´ï¼è¯·è¡¥å
2025å¹´1æ1æ¥è³2æ1æ¥æ¥æé´çä½é¢è®°å½</div> |
| | | </div> |
| | | <div class="box_dk" v-if="info.status === 13"> |
| | | <div class="box_dk_title"> |
| | | <i class="el-icon-success"></i> |
| | | <span>å·²ææ¬¾</span> |
| | | </div> |
| | | <div class="box_dk_list"> |
| | | <div class="box_dk_list_row"> |
| | | <div class="box_dk_list_row_label">ææ¬¾æ¶é´ï¼</div> |
| | | <div class="box_dk_list_row_value">2025-06-08 09:52</div> |
| | | </div> |
| | | <div class="box_dk_list_row"> |
| | | <div class="box_dk_list_row_label">ææ¬¾è¯´æï¼</div> |
| | | <div class="box_dk_list_row_value">è¿éæ¯ææ¬¾è¯´æ</div> |
| | | </div> |
| | | <div class="box_dk_list_row"> |
| | | <div class="box_dk_list_row_label">ææ¬¾åè¯ï¼</div> |
| | | <div class="box_dk_list_row_l"> |
| | | <div class="box_dk_list_row_l_img"> |
| | | <img src="" alt=""> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="box_comInfo" v-if="[10,11,12].includes(info.status)"> |
| | | <div class="box_comInfo_title"> |
| | | <i class="el-icon-info"></i> |
| | | <span>éè¦æç¤º</span> |
| | | </div> |
| | | <div class="box_comInfo_text"> |
| | | <span>⢠èµä»æ¬¾é¡¹å°å¨ç¡®è®¤å 1-3 ä¸ªå·¥ä½æ¥å
å°è´¦</span> |
| | | <span>â¢ è¯·ç¡®è®¤æ¶æ¬¾è´¦æ·ä¿¡æ¯åç¡®æ 误</span> |
| | | <span>â¢ å¦æçé®è¯·åæ¶è系客æ 0551-77738493</span> |
| | | </div> |
| | | </div> |
| | | <div class="box_price" v-if="[10,11,12].includes(info.status)"> |
| | | <span class="box_price_title">èµä»éé¢{{[11].includes(info.status) ? 'å¾
确认' : '已确认'}}</span> |
| | | <span class="box_price_jine">Â¥{{info.hpAccount + info.hpOtherAccount}}</span> |
| | | <el-button type="text" style="margin-bottom: 5px;" @click="$refs.compensationDetails.open('èµä»è¯¦æ
', info.hpAccountContent)">æ¥çèµä»è¯¦æ
</el-button> |
| | | <el-button type="primary" @click="confirmFeeInfo" v-if="[11].includes(info.status)">确认</el-button> |
| | | </div> |
| | | <div class="box_sinfo" v-if="[10,11,12].includes(info.status)"> |
| | | <div class="box_sinfo_title"> |
| | | <span>æ¶æ¬¾ä¿¡æ¯</span> |
| | | <span @click="$refs.paymentInformation.open('ä¿®æ¹æ¶æ¬¾ä¿¡æ¯', { |
| | | id: info.id, |
| | | receiveBank: info.receiveBank, |
| | | receiveAccount: info.receiveAccount, |
| | | receiveUserName: info.receiveUserName |
| | | })">ä¿®æ¹</span> |
| | | </div> |
| | | <div class="box_sinfo_row"> |
| | | <div class="box_sinfo_row_label">弿·é¶è¡ï¼</div> |
| | | <div class="box_sinfo_row_val">{{info.receiveBank}}</div> |
| | | </div> |
| | | <div class="box_sinfo_row"> |
| | | <div class="box_sinfo_row_label">è´¦å·ï¼</div> |
| | | <div class="box_sinfo_row_val">{{info.receiveAccount}}</div> |
| | | </div> |
| | | <div class="box_sinfo_row"> |
| | | <div class="box_sinfo_row_label">æ·åï¼</div> |
| | | <div class="box_sinfo_row_val">{{info.receiveUserName}}</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <div class="box_desc" v-if="[9,10].includes(info.status)"> |
| | | <div class="box_desc_head"> |
| | | <div class="box_desc_title"> |
| | | <i class="el-icon-success"></i> |
| | |
| | | <i class="el-icon-warning"></i> |
| | | <span>é£é©æ¡ä»¶</span> |
| | | </div> |
| | | <template v-if="userInfo.type === 0"> |
| | | <el-select v-model="info.caseType" @change="setCaseType" style="width: 100px;" placeholder="æ¡ä»¶ç±»å" v-if="[9,10,11].includes(info.status)"> |
| | | <el-option label="å»ç" :value="1"></el-option> |
| | | <el-option label="伤æ®" :value="2"></el-option> |
| | | <el-option label="æ»äº¡" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </div> |
| | | <div class="box_desc_btns"> |
| | | <template v-if="userInfo.type === 1"> |
| | | <el-button type="danger" @click="revoke()" v-if="[1,2,3,4,5,9,7,10,11].includes(info.status)">æ¤éæ¥æ¡</el-button> |
| | | <el-button type="danger" @click="revoke()" v-if="[1,2,3,4,5,9,7,10].includes(info.status)">æ¤éæ¥æ¡</el-button> |
| | | <el-button type="primary" @click="addReport(1)" v-if="[3].includes(info.status) && info.reportNumStatus === 0">æ·»å æ¥æ¡å·</el-button> |
| | | <el-button type="primary" @click="$refs.additionMaterial_ba.open('è¡¥å
ææ', info.id)" v-if="[3].includes(info.status)">è¡¥å
ææ</el-button> |
| | | </template> |
| | | <template v-if="userInfo.type === 0"> |
| | | <el-button type="danger" @click="returnCase" v-if="[1,2].includes(info.status)">éå</el-button> |
| | | <el-button type="primary" @click="register" v-if="[1,2].includes(info.status)">ç«æ¡</el-button> |
| | | <el-button type="primary" @click="$refs.acceptance.open('æ¡ä»¶åç', info.id)" v-if="[3,5].includes(info.status)">åç</el-button> |
| | | <el-button type="primary" @click="addRemark" v-if="![0,1,2,4,14].includes(info.status)">夿³¨</el-button> |
| | | <el-button type="primary" @click="addRemark" v-if="![0,1,2,4,13,14].includes(info.status)">夿³¨</el-button> |
| | | <el-button type="primary" @click="addReport(1)" v-if="[3].includes(info.status) && info.reportNumStatus === 0">æ·»å æ¥æ¡å·</el-button> |
| | | <el-button type="primary" @click="addReport(2)" v-if="[9].includes(info.status) && info.reportNumStatus === 1">ç¼è¾æ¥æ¡å·</el-button> |
| | | <el-button type="primary" @click="$refs.adjustment.open('çç®', info.id, 1)" v-if="[9].includes(info.status)">çç®</el-button> |
| | | <el-button type="primary" @click="$refs.adjustment.open('éæ°çç®', info.id, 1)" v-if="[10].includes(info.status)">éæ°çç®</el-button> |
| | | <el-button type="primary" @click="$refs.adjustment.open('æ ¸èµ', info.id, 2)" v-if="[10].includes(info.status)">æ ¸èµ</el-button> |
| | | <el-button type="primary" @click="$refs.adjustment.open('ä¿®æ¹éé¢', info.id, 2)" v-if="[11,12].includes(info.status)">ä¿®æ¹éé¢</el-button> |
| | | <el-button type="primary" @click="$refs.makePayment.open('ææ¬¾', info.id)" v-if="[12].includes(info.status)">ææ¬¾</el-button> |
| | | <el-button type="primary" @click="supplementaryMaterials" v-if="[9].includes(info.status)">è¡¥å
ææ</el-button> |
| | | <el-button type="primary" @click="$refs.additionMaterial_ba.open('æ·»å ææ', info.id)" v-if="[9,10].includes(info.status)">æ·»å ææ</el-button> |
| | | </template> |
| | | <el-button icon="el-icon-refresh-left" type="primary" circle @click="$refs.caseProgress.open('æ¡ä»¶è¿åº¦', info.settleClaimsLogList)" v-if="![0,14].includes(info.status)"></el-button> |
| | | <el-button icon="el-icon-refresh-left" type="primary" circle @click="$refs.caseProgress.open('æ¡ä»¶è¿åº¦', info.settleClaimsLogList)" v-if="![0,13,14].includes(info.status)"></el-button> |
| | | </div> |
| | | </div> |
| | | <div class="box_desc_list"> |
| | |
| | | <AdditionMaterial_ba ref="additionMaterial_ba" @success="getDetail" /> |
| | | <!-- çç® --> |
| | | <adjustment ref="adjustment" @success="getDetail" /> |
| | | <!-- èµä»è¯¦æ
--> |
| | | <CompensationDetails ref="compensationDetails" /> |
| | | <!-- ä¿®æ¹æ¶æ¬¾ä¿¡æ¯ --> |
| | | <PaymentInformation ref="paymentInformation" @success="getDetail" /> |
| | | <!-- ææ¬¾ --> |
| | | <MakePayment ref="makePayment" @success="getDetail" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | addReportNum, |
| | | addRemark, |
| | | saveSupplementDescribe, |
| | | updCaseType } from '@/api/business/settleRisk' |
| | | updCaseType, |
| | | confirmFee, |
| | | payCash } from '@/api/business/settleRisk' |
| | | import RiskCaseReminder from '@/components/business/riskCaseReminder' |
| | | import CaseProgress from '@/components/business/caseProgress' |
| | | import Acceptance from '@/components/business/acceptance' |
| | | import AdditionMaterial_ba from '@/components/business/additionMaterial_ba' |
| | | import adjustment from '@/components/business/adjustment' |
| | | import CompensationDetails from '@/components/business/compensationDetails' |
| | | import PaymentInformation from '@/components/business/paymentInformation' |
| | | import MakePayment from '@/components/business/makePayment' |
| | | import { mapState } from 'vuex' |
| | | |
| | | export default { |
| | | name: 'OperaSettleClaimsWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, RiskCaseReminder, CaseProgress, Acceptance, AdditionMaterial_ba, adjustment }, |
| | | components: { GlobalWindow, MakePayment, PaymentInformation, CompensationDetails, RiskCaseReminder, CaseProgress, Acceptance, AdditionMaterial_ba, adjustment }, |
| | | data () { |
| | | return { |
| | | show: false, |
| | |
| | | case 3: |
| | | return 'æå¤å伤' |
| | | } |
| | | } |
| | | }, |
| | | confirmFeeInfo() { |
| | | this.$confirm('æ¯å¦ç¡®è®¤èµä»éé¢?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | confirmFee(this.id) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | .box_tui { |
| | | width: 100%; |
| | | padding: 17px 0; |
| | | box-sizing: border-box; |
| | | margin-bottom: 30px; |
| | | .box_tui_status { |
| | | padding: 3px 8px; |
| | | border-radius: 15px; |
| | | background-color: rgba(254,226,225,1); |
| | | color: rgba(153,27,27,1); |
| | | font-size: 12px; |
| | | } |
| | | .box_tui_title { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 16px; |
| | | margin-top: 15px; |
| | | } |
| | | .box_tui_info { |
| | | color: rgba(154,154,154,1); |
| | | font-size: 14px; |
| | | margin-top: 10px; |
| | | } |
| | | .box_tui_row { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | margin-top: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | .yuan { |
| | | width: 5px; |
| | | height: 5px; |
| | | border-radius: 50%; |
| | | margin-right: 5px; |
| | | background-color: rgba(153,27,27,1); |
| | | } |
| | | } |
| | | } |
| | | .box_dk { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-bottom: 30px; |
| | | .box_dk_title { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 12px; |
| | | i { |
| | | font-size: 20px; |
| | | margin-right: 5px; |
| | | color: #34C758; |
| | | } |
| | | span { |
| | | color: rgba(52,199,88,1); |
| | | font-size: 18px; |
| | | } |
| | | } |
| | | .box_dk_list { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .box_dk_list_row { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: start; |
| | | margin-bottom: 15px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | .box_dk_list_row_label { |
| | | flex-shrink: 0; |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | } |
| | | .box_dk_list_row_value { |
| | | flex: 1; |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | } |
| | | .box_dk_list_row_l { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | .box_dk_list_row_l_img { |
| | | width: 80px; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | margin-right: 15px; |
| | | margin-bottom: 15px; |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .box_sinfo { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-bottom: 30px; |
| | | .box_sinfo_title { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 26px; |
| | | span { |
| | | &:nth-child(1) { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 16px; |
| | | margin-right: 10px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: rgba(22,93,255,1); |
| | | font-size: 14px; |
| | | cursor: pointer; |
| | | text-decoration: underline; |
| | | } |
| | | } |
| | | } |
| | | .box_sinfo_row { |
| | | width: 100%; |
| | | margin-bottom: 15px; |
| | | display: flex; |
| | | align-items: center; |
| | | .box_sinfo_row_label { |
| | | flex-shrink: 0; |
| | | color: rgba(154,154,154,1); |
| | | font-size: 14px; |
| | | } |
| | | .box_sinfo_row_val { |
| | | flex: 1; |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | } |
| | | .box_price { |
| | | width: 100%; |
| | | padding: 30px 0; |
| | | background-color: #ffffff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-bottom: 30px; |
| | | border-bottom: 1px solid #ececec; |
| | | .box_price_title { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 20px; |
| | | margin-bottom: 10px; |
| | | } |
| | | .box_price_jine { |
| | | color: rgba(255,162,63,1); |
| | | font-size: 29px; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | .box_comInfo { |
| | | width: 100%; |
| | | padding: 11px 21px; |
| | | box-sizing: border-box; |
| | | background-color: rgba(240,246,254,1); |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-bottom: 30px; |
| | | .box_comInfo_title { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 12px; |
| | | i { |
| | | color: #165DFF; |
| | | font-size: 20px; |
| | | margin-right: 5px; |
| | | } |
| | | span { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .box_comInfo_text { |
| | | width: 100%; |
| | | padding-left: 20px; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | margin-bottom: 10px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .box_status { |
| | | width: 100%; |
| | | padding: 30px 0; |
| | |
| | | display: flex; |
| | | align-items: start; |
| | | justify-content: center; |
| | | margin-bottom: 30px; |
| | | /*margin-bottom: 30px;*/ |
| | | .box_status_row { |
| | | width: 200px; |
| | | display: flex; |
| | |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :text="`${type === 1 ? '宿çç®' : 'å®ææ ¸èµ'}`" |
| | | :text="`${title === 'ä¿®æ¹éé¢' ? 'æäº¤' : type === 1 ? '宿çç®' : 'å®ææ ¸èµ'}`" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="box"> |
| | | <el-form :model="form" ref="ruleForm" label-width="150px" class="demo-ruleForm"> |
| | | <el-form :model="form" ref="form" :rules="rules" label-width="150px" class="demo-ruleForm"> |
| | | <div class="box_item"> |
| | | <div class="box_item_desc">主è¦èµä»é¡¹</div> |
| | | <div class="box_item_list"> |
| | |
| | | <span>Â¥{{totalPrice}}</span> |
| | | </div> |
| | | </div> |
| | | <el-form-item label="ä¿®æ¹è¯´æ" prop="describe" v-if="title === 'ä¿®æ¹éé¢'"> |
| | | <el-input v-model="form.describe" placeholder="请è¾å
¥" type="textarea" row="5"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { compensation, getCompensation, nuclearCompensation } from '@/api/business/settleRisk' |
| | | import { compensation, getCompensation, nuclearCompensation, updFee } from '@/api/business/settleRisk' |
| | | export default { |
| | | name: 'acceptance', |
| | | extends: BaseOpera, |
| | |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null |
| | | id: null, |
| | | describe: '' |
| | | }, |
| | | rules: { |
| | | describe: [ |
| | | { required: true, message: 'ä¿®æ¹è¯´æä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | type: '', |
| | | list1: [], |
| | |
| | | this.type = type |
| | | this.title = title |
| | | this.form.id = id |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields(); |
| | | }) |
| | | getCompensation({ type, id: this.form.id }) |
| | | .then(res => { |
| | | res.forEach(item => { |
| | |
| | | this.totalPrice = price |
| | | }, |
| | | confirm() { |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | let arr = [...this.list1, ...this.list2] |
| | | for (let i = 0; i < arr.length; i++) { |
| | | if (!arr[i].fee && arr[i].fee !== 0) { |
| | |
| | | } |
| | | this.isWorking = true |
| | | let compensationJson = JSON.stringify(arr) |
| | | if (this.title === 'ä¿®æ¹éé¢') { |
| | | updFee({ id: this.form.id, compensationJson, describe: this.form.describe }) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æä½æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | return |
| | | } |
| | | if (this.type === 1) { |
| | | compensation({ id: this.form.id, compensationJson }) |
| | | .then(() => { |
| | |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-table |
| | | :data="list" |
| | | border |
| | | summary-method |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="name" |
| | | label="èµä»é¡¹ç®" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="fee" |
| | | label="èµä»éé¢(å
)" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="describe" |
| | | label="è´¹ç¨è¯´æ"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: 'compensationDetails', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | list: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, data) { |
| | | this.title = title |
| | | let res = JSON.parse(data) |
| | | this.list = res.filter(item => [0,1].includes(item.type)) |
| | | this.visible = true |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .box { |
| | | width: 100%; |
| | | .box_item { |
| | | width: 100%; |
| | | margin-bottom: 30px; |
| | | .box_item_title { |
| | | width: 100%; |
| | | margin-bottom: 15px; |
| | | span { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 16px; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | .box_item_desc { |
| | | width: 100%; |
| | | padding-left: 50px; |
| | | box-sizing: border-box; |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | margin-bottom: 15px; |
| | | } |
| | | .price { |
| | | width: 100%; |
| | | height: 62px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-radius: 4px; |
| | | background-color: rgba(239,239,239,1); |
| | | margin-top: 50px; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | span { |
| | | &:nth-child(1) { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 18px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: rgba(255,149,2,1); |
| | | font-size: 22px; |
| | | } |
| | | } |
| | | } |
| | | .button { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: end; |
| | | margin-top: 15px; |
| | | .button_submit { |
| | | width: 108px; |
| | | height: 38px; |
| | | line-height: 38px; |
| | | text-align: center; |
| | | border-radius: 4px; |
| | | color: rgba(255,255,255,1); |
| | | font-size: 14px; |
| | | background-color: rgba(31,99,255,1); |
| | | } |
| | | } |
| | | .box_item_list { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | .box_item_list_rowx { |
| | | width: 33.3%; |
| | | height: 0; |
| | | } |
| | | .box_item_list_row { |
| | | width: 33.3%; |
| | | .box_item_list_row_l { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | .desc_data_list_item { |
| | | width: 100px; |
| | | height: 100px; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | border: 1px solid #e2e2e2; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | position: relative; |
| | | margin-bottom: 10px; |
| | | margin-left: 10px; |
| | | &:first-child { |
| | | margin-left: 0 !important; |
| | | } |
| | | .desc_data_list_item_dele { |
| | | position: absolute; |
| | | top: 5px; |
| | | right: 5px; |
| | | font-size: 14px; |
| | | cursor: pointer; |
| | | color: rgba(249, 86, 1, 0.996078431372549); |
| | | } |
| | | .desc_data_list_item_upload { |
| | | flex: 1; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .desc_data_list_item_img { |
| | | flex-shrink: 0; |
| | | width: 70px; |
| | | height: 70px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | margin-right: 10px; |
| | | .el-icon-folder-opened { |
| | | font-size: 34px; |
| | | color: #666666; |
| | | } |
| | | .el-icon-plus { |
| | | font-size: 26px; |
| | | color: #ffffff; |
| | | } |
| | | img { |
| | | width: 100%; |
| | | } |
| | | video { |
| | | width: 100%; |
| | | } |
| | | } |
| | | .desc_data_list_item_info { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | word-break: break-all; |
| | | span { |
| | | width: 100%; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .box_item_list_row_title { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | .x { |
| | | width: 1px; |
| | | height: 14px; |
| | | background-color: rgba(255,255,255,1); |
| | | border: 4px solid rgba(22,93,255,1); |
| | | margin-right: 10px; |
| | | } |
| | | span { |
| | | color: rgba(16,16,16,1); |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="500px" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="dakuan"> |
| | | <el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm"> |
| | | <el-form-item label="ææ¬¾è¯´æ" prop="describe"> |
| | | <el-input v-model="form.describe" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¬¾åè¯" prop="multifileList"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-upload |
| | | :action="uploadImgUrl" |
| | | list-type="picture-card" |
| | | accept=".png,.jpg" |
| | | :file-list="form.multifileList" |
| | | :data="uploadData" |
| | | :on-success="handleAvatarSuccess" |
| | | :on-error="uploadError" |
| | | :before-remove="removeRow"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <!-- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg" folder="settle" @success="claimsUploadFile" />--> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { payCash } from '@/api/business/settleRisk' |
| | | export default { |
| | | name: 'makePayment', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload', |
| | | uploadData: { |
| | | folder: 'settle' |
| | | }, |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | describe: '', |
| | | multifileList: [] |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | describe: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | open(title, id) { |
| | | this.title = title |
| | | this.form.id = id |
| | | this.form.describe = '' |
| | | this.form.multifileList = [] |
| | | this.visible = true |
| | | }, |
| | | // ä¸ä¼ å¾ç |
| | | handleAvatarSuccess(res) { |
| | | this.form.multifileList.push({...res.data, fileurl: res.data.imgaddr}) |
| | | }, |
| | | uploadError() { |
| | | this.$tip.apiFailed('ä¸ä¼ 失败') |
| | | }, |
| | | removeRow(e) { |
| | | this.form.multifileList.forEach((item, index) => { |
| | | if (item.imgaddr === e.imgaddr) { |
| | | this.form.multifileList.splice(index, 1) |
| | | } |
| | | }) |
| | | }, |
| | | confirm() { |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | this.isWorking = true |
| | | payCash(this.form) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æä½æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .dakuan { |
| | | width: 100%; |
| | | |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="500px" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="90px" inline> |
| | | <el-form-item label="弿·é¶è¡" prop="receiveBank"> |
| | | <el-input v-model="form.receiveBank" style="width: 100%;" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è´¦å·" prop="receiveAccount"> |
| | | <el-input v-model="form.receiveAccount" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ·å" prop="receiveUserName"> |
| | | <el-input v-model="form.receiveUserName" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { updReceiveInfo } from '@/api/business/settleRisk' |
| | | export default { |
| | | name: 'paymentInformation', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | receiveBank: '', |
| | | receiveAccount: '', |
| | | receiveUserName: '' |
| | | }, |
| | | rules: { |
| | | receiveBank: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | receiveAccount: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | receiveUserName: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | confirm() { |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | this.isWorking = true |
| | | updReceiveInfo(this.form) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('ä¿®æ¹æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | |
| | | </style> |
| | |
| | | <el-button |
| | | type="text" |
| | | @click="revoke(row.id)" |
| | | v-if="[1,2,3,4,5,9,7,10,11].includes(row.status) && userInfo.type === 1"> |
| | | v-if="[1,2,3,4,5,9,7,10].includes(row.status) && userInfo.type === 1"> |
| | | æ¤é |
| | | </el-button> |
| | | <el-button type="text" @click="deleRow(row.id)" v-if="row.status === 0">å é¤</el-button> |