<template> <div class="details"> <div class="top mb10"> <Card class="info"> <h4 class="mb10">客户信息</h4> <div class="item">姓名:{{ custInfoCopy.custName }}</div> <div class="item"> 性别:{{ custInfoCopy.custGender - 0 === 0 ? '女' : '男' }} </div> <div class="item">证件类型:{{ custInfoCopy.custIdType }}</div> <div class="item">证件号:{{ custInfoCopy.custIdNo }}</div> <div class="item">微信昵称:{{ custInfoCopy.custWxName }}</div> <div class="item">状态:{{ custInfoCopy.custStatus }}</div> <div class="item">年收入:{{ custInfoCopy.custIncome }}</div> <div class="item">地址:{{ custInfoCopy.custAddr }}</div> <div class="item">备注:{{ custInfoCopy.custRemarks }}</div> </Card> <div class="video-wrapper"> <VideoPlayer :url="videoUrl"></VideoPlayer> </div> </div> <Card class="mb10"> <el-form label-width="60px" ref="form" :model="form" :rules="rules"> <el-form-item label="备注" prop="remarks"> <el-input type="textarea" placeholder="请输入" maxlength="200" show-word-limit :autosize="{ minRows: 4, maxRows: 6 }" v-model.trim="form.remarks" ></el-input> </el-form-item> </el-form> </Card> <div class="bottom"> <el-button type="primary" @click="handleSubmit">提交</el-button> </div> </div> </template> <script> import VideoPlayer from '@/components/videoPlayer' import { getResourceDetail, saveResourceMonitorRemarks } from '@/api/monitor' export default { components: { VideoPlayer }, props: ['custInfo'], data() { return { form: { remarks: '' }, rules: { remarks: [ { required: true, message: '请输入备注', trigger: 'blur' }, { min: 1, max: 200, message: '长度在 1 到 200 个字符', trigger: 'blur' } ] }, videoUrl: '', custInfoCopy: this.custInfo } }, beforeMount() { this.handleGetResourceDetail() }, methods: { handleSubmit() { this.$refs.form.validate(valid => { if (valid) { this.handleSaveResourceMonitorRemarks() } return false }) }, async handleGetResourceDetail() { try { const { result: { monitorRemarks, url } } = await getResourceDetail({ ossId: this.custInfoCopy.ossId, recordId: this.custInfoCopy.recordId }) this.form.remarks = monitorRemarks this.videoUrl = url } catch (error) { console.log(error) } }, async handleSaveResourceMonitorRemarks() { try { const res = await saveResourceMonitorRemarks({ recordId: this.custInfoCopy.recordId, remarks: this.form.remarks }) if (res.code === 0) { this.$message({ message: '更新成功', type: 'success' }) } } catch (error) { console.log(error) } } } } </script> <style lang="scss" scoped> .details { display: flex; flex-flow: column nowrap; .top { display: flex; flex-flow: row nowrap; .info { width: 330px; margin-right: 10px; .item { margin-bottom: 5px; font-size: 14px; } } .video-wrapper { flex: 1 0 300px; // width: 300px; height: 400px; } } .bottom { display: flex; justify-content: center; } } </style>