| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | > |
| | | <div class="detail-box"> |
| | | <div class="header"> |
| | | <div class="header-b">åºæ¬ä¿¡æ¯</div> |
| | | <div v-if="form.status ==0" class="header-orange">å¾
审æ¹</div> |
| | | <div v-if="form.status ==1" class="header-green">å·²éè¿</div> |
| | | <div v-if="form.status ==2" class="header-red">已驳å</div> |
| | | </div> |
| | | <div class="info-item"> |
| | | <div class="info-item-a">ç»éååç§°ï¼<span>{{form.shopName || ''}}</span> </div> |
| | | <div class="info-item-a">é¨åºIDï¼<span>{{form.shopCode || ''}}</span></div> |
| | | <div class="info-item-a">ç³è¯·æ¶é´ï¼<span>{{form.createDate || ''}}</span></div> |
| | | </div> |
| | | <div class="info-item"></div> |
| | | </div> |
| | | <div class="detail-box"> |
| | | <div class="header"> |
| | | <div class="header-b">æç°ä¿¡æ¯</div> |
| | | </div> |
| | | <div class="info-item"> |
| | | <div class="info-item-a">æç°éé¢ï¼<span class="orange">ï¿¥{{(form.amount || 0).toFixed(2)}}</span> </div> |
| | | <div class="info-item-a"> </div> |
| | | <div class="info-item-a"> </div> |
| | | </div> |
| | | <div class="info-item"> |
| | | <div class="info-item-a">æ·åï¼<span >{{ form.name||'' }}</span> </div> |
| | | <div class="info-item-a">è´¦å·ï¼<span >{{ form.bankAccount||'' }}</span> </div> |
| | | <div class="info-item-a">é¶è¡ï¼<span >{{ form.bankName||'' }}</span> </div> |
| | | </div> |
| | | <div class="info-item"></div> |
| | | </div> |
| | | <div class="detail-box"> |
| | | <div class="header"> |
| | | <div class="header-b">å®¡æ ¸æµç¨</div> |
| | | </div> |
| | | <div class="info-item"> |
| | | <div class="time-line"> |
| | | <el-timeline :reverse="true"> |
| | | <el-timeline-item |
| | | v-for="(item, index) in logList" |
| | | :key="index" |
| | | color="#2991FF" |
| | | size="large" |
| | | type="primary" |
| | | > |
| | | <div class="ml10"> |
| | | <div class="list-title">{{ item.title }} |
| | | <i v-if="item.status ==1" class="el-icon-success green"></i> |
| | | <i v-if="item.status ==2" class="el-icon-error red"></i> |
| | | </div> |
| | | <div class="list-company"><span>{{item.info }}</span><span style="margin-left: 10px">{{item.createTime }}</span></div> |
| | | <div class="list-company1" v-if="item.status ===1"><span>ææ¬¾åè¯ï¼</span> |
| | | <div v-if="item.files && item.files.length"; style="display: block;margin-left: 100px;"> |
| | | <el-image |
| | | v-for="file in item.files " |
| | | :key="'file_'+file.fileurl" |
| | | style="margin-right: 20px; width: 100px; height: 100px; border-radius: 2px;" |
| | | :src="file.fileFullUrl" |
| | | :preview-src-list="[file.fileFullUrl]" |
| | | ></el-image> |
| | | </div> |
| | | <span v-else>æ </span> |
| | | </div> |
| | | <div class="list-company1" v-if="item.status ===1"><span>ææ¬¾é¶è¡ï¼</span><span>{{item.payBank||'-' }}</span></div> |
| | | <div class="list-company1" v-if="item.status ===1||item.status ==2"><span>å®¡æ ¸å¤æ³¨ï¼</span><span>{{item.auditRemark||'' }}</span></div> |
| | | </div> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="form && form.status == 0"> |
| | | <p class="tip-header" >ç³è¯·å®¡æ¹</p> |
| | | <el-form :model="checkForm" ref="checkForm" :rules="rules" label-width="110px" label-suffix="ï¼" style="margin-left: 20px;width: 500px;" inline > |
| | | <el-form-item label="å®¡æ ¸ç»æ" prop="status"> |
| | | <el-radio-group v-model="checkForm.status"> |
| | | <el-radio :label="1">éè¿</el-radio> |
| | | <el-radio :label="2">驳å</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¬¾åè¯" prop="payFileList" v-if="checkForm.status ==1"> |
| | | <div style="margin-left: 150px"> |
| | | <UploadImage |
| | | :fileList="checkForm.payFileList" |
| | | :uploadData="{folder:'transfer'}" |
| | | @beginUpload="isUploading=true" |
| | | @endUpload="isUploading=false"/> |
| | | <p class="tip-warn"> |
| | | 建议尺寸ï¼750px X 750pxï¼ä¸é6å¼ |
| | | æ¯æpngãjpgãjpegæ ¼å¼ï¼å¤§å°ä¸è¶
è¿2Mï¼ä¸ä¼ å¾çä¸å
许æ¶åæ¿æ²»ææä¸è²æ
|
| | | </p> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¬¾é¶è¡" prop="payBank" v-if="checkForm.status ==1"> |
| | | <el-input v-model="checkForm.payBank" placeholder="请è¾å
¥ææ¬¾é¶è¡" style="width: 350px" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å®¡æ ¸å¤æ³¨" prop="auditRemark"> |
| | | <el-input v-model="checkForm.auditRemark" placeholder="请è¾å
¥å®¡æ ¸å¤æ³¨" type="textarea" style="width: 350px; " rows="6" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="info-item-a"></div> |
| | | </div> |
| | | <template v-slot:footer> |
| | | <el-button :loading="isWorking" @click="confirmDo" v-if="form && form.status ==0" :type="checkForm.status==2?'danger':'primary'" >{{checkForm.status==2?'å®¡æ ¸é©³å':'å®¡æ ¸éè¿'}}</el-button> |
| | | <el-button @click="visible=false">è¿å</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import UploadImage from '@/components/common/UploadImage' |
| | | export default { |
| | | name: 'OperaShopInfoWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, UploadImage }, |
| | | data () { |
| | | return { |
| | | title: '', |
| | | visible: false, |
| | | tabelHeight: null, |
| | | isUploading: false, |
| | | form: {}, |
| | | logList: [], |
| | | checkForm: { |
| | | id: '', |
| | | status: '', |
| | | auditRemark: '', |
| | | payBank: '', |
| | | payFileList: null |
| | | }, |
| | | rules: { |
| | | status: [ |
| | | { required: true, message: 'è¯·éæ©å®¡æ ¸ç»æ' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æç°ç³è¯·è¡¨', |
| | | api: '/business/withdrawRecord', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | confirmDo () { |
| | | this.$refs.checkForm.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.$dialog.confirm('æ¨ç¡®å®æäº¤è¯¥å®¡æ¹ç»æåï¼', 'æä½æç¤º', { |
| | | confirmButtonText: this.checkForm.status === 1 ? '确认éè¿' : 'ç¡®å®é©³å', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | this.isWorking = true |
| | | this.api.updateById(this.checkForm) |
| | | .then(() => { |
| | | this.$tip.apiSuccess('å®¡æ¹æå') |
| | | this.loadInfo() |
| | | this.$emit('success') |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | .catch(e => { |
| | | |
| | | }) |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | }) |
| | | }, |
| | | loadInfo () { |
| | | this.api.detail(this.form.id).then(res => { |
| | | this.form = res || this.form |
| | | this.logList = [] |
| | | if (this.form.status == 1) { |
| | | this.logList.push({ title: 'å¹³å°å®¡æ ¸éè¿', info: this.form.auditUserName, createTime: this.form.auditTime || '', status: 1, files: this.form.payFileList || [], bank: this.form.payBank || '', auditRemark: this.form.auditRemark || '' }) |
| | | } else if (this.form.status == 2) { |
| | | this.logList.push({ title: 'å¹³å°å®¡æ ¸é©³å', info: this.form.auditUserName, createTime: this.form.auditTime || '', status: 2, auditRemark: this.form.auditRemark || '' }) |
| | | } |
| | | this.logList.push({ title: 'ç»éååèµ·æç°ç³è¯·', info: 'æè¾¾æºæ¢°é宿éå
¬å¸ ', createTime: this.form.createDate || '', status: 0 }) |
| | | }) |
| | | }, |
| | | open (title, info) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form = info || {} |
| | | this.loadInfo() |
| | | this.logList = [] |
| | | this.checkForm = { |
| | | id: info.id, |
| | | status: 1, |
| | | auditRemark: '', |
| | | payBank: '', |
| | | payFileList: [] |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .platgroup_tabs { |
| | | flex: 1; |
| | | display: flex; |
| | | border-bottom: 1px solid #dfe2e8; |
| | | margin-bottom: 30px; |
| | | .tab { |
| | | color: #666666; |
| | | margin-right: 40px; |
| | | cursor: pointer; |
| | | padding-bottom: 10px; |
| | | border-bottom: 2px solid #fff; |
| | | } |
| | | |
| | | .active { |
| | | font-weight: 500; |
| | | font-size: 15px; |
| | | color: #216EEE; |
| | | border-bottom: 2px solid #216EEE; |
| | | } |
| | | } |
| | | .table-pagination{ |
| | | position: fixed !important; |
| | | bottom: 50px; |
| | | } |
| | | .header-b{ |
| | | display: inline-block; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | } |
| | | .confirmbtn1{ |
| | | color: #FFFFFF; |
| | | background-color: #0e83d1!important; |
| | | border-color: #0e83d1!important; |
| | | } |
| | | .confirmbtn2{ |
| | | color: #FFFFFF; |
| | | background-color: red!important; |
| | | border-color: red!important; |
| | | } |
| | | .header-green{ |
| | | display: inline-block; |
| | | font-size: 12px; |
| | | border: 1px solid green; |
| | | padding: 2px 10px; |
| | | margin-left: 20px; |
| | | color: green; |
| | | border-radius: 5px ; |
| | | } |
| | | .header-red{ |
| | | display: inline-block; |
| | | font-size: 12px; |
| | | border: 1px solid red; |
| | | padding: 2px 10px; |
| | | margin-left: 20px; |
| | | color: red; |
| | | border-radius: 5px ; |
| | | } |
| | | .header-orange{ |
| | | display: inline-block; |
| | | font-size: 12px; |
| | | border: 1px solid orange; |
| | | padding: 2px 10px; |
| | | margin-left: 20px; |
| | | color: orange; |
| | | border-radius: 5px ; |
| | | } |
| | | .header-btn{ |
| | | display: inline-block; |
| | | border: none; |
| | | padding: 2px 10px; |
| | | margin-left: 20px; |
| | | } |
| | | .info-item{ |
| | | display: flex; |
| | | width: 100%; |
| | | margin: 15px; |
| | | } |
| | | .info-item-a{ |
| | | flex: 1; |
| | | font-size: 14px; |
| | | |
| | | } |
| | | .info-item-a span{ |
| | | font-weight: 600; |
| | | } |
| | | .info-item-a .btn{ |
| | | font-size: 12px !important; |
| | | cursor: pointer !important; |
| | | } |
| | | |
| | | .time-line { |
| | | margin-top: 20px; |
| | | margin-left: 20px; |
| | | } |
| | | .list-title { |
| | | font-size: 12px; |
| | | font-family: PingFangSC-Medium, PingFang SC; |
| | | font-weight: 500; |
| | | //color: #181b1e; |
| | | margin-bottom: 5px; |
| | | } |
| | | .list-company { |
| | | font-size: 12px; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #596878; |
| | | margin-bottom: 15px; |
| | | } |
| | | .list-company1 { |
| | | font-size: 12px; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | margin-bottom: 15px; |
| | | } |
| | | .list-desc { |
| | | font-size: 12px; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #596878; |
| | | } |
| | | //左侧æ¶é´ |
| | | .time { |
| | | color: #409eff; |
| | | position: absolute; |
| | | left: -94px; |
| | | top: 1px; |
| | | .year { |
| | | font-size: 14px; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #20354a; |
| | | } |
| | | .day { |
| | | font-size: 12px; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: black; |
| | | text-align: right; |
| | | margin-top: 0px; |
| | | } |
| | | } |
| | | </style> |