| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <template>
- <view class="sound-recorder">
- <view class="top-text">{{ topText }}</view>
- <view class="file-name">{{ dataInner.fileName }}</view>
- <view class="call-history">{{ callHistory }}</view>
- <audio :src="dataInner.fileUrl" controls></audio>
- <view @click="handleDelete">
- <u-icon class="delectIcon" name="trash" size="22"></u-icon>
- </view>
- </view>
- </template>
- <script>
- export default {
- props: {
- data: {
- type: Object,
- default: () => ({})
- }
- },
- data() {
- return {
- dataInner: {}
- }
- },
- watch: {
- data: {
- deep: true,
- immediate: true,
- handler(newVal) {
- this.dataInner = { ...newVal }
- }
- }
- },
- computed: {
- topText() {
- return `${this.dataInner.createTime}号码(${this.dataInner.caller})上传录音`
- },
- callHistory() {
- return `${this.dataInner.caller} 打给 ${this.dataInner.callee}`
- }
- },
- methods: {
- handleDelete() {
- this.$emit('handleDelectThisSoundRecord', this.dataInner)
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .sound-recorder {
- background: #ffffff;
- border-radius: 20rpx;
- box-shadow: 0 4rpx 24rpx rgba(0, 0, 0, 0.08);
- padding: 32rpx;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
- border: 2rpx solid #f0f0f0;
- position: relative;
- margin-bottom: 10rpx;
- .top-text {
- font-size: 20rpx;
- color: #888;
- line-height: 1.4;
- }
- .call-history {
- font-size: 30rpx;
- color: #333;
- font-weight: 500;
- margin-bottom: 20rpx;
- line-height: 1.5;
- }
- .file-name {
- font-size: 20rpx;
- color: #666;
- line-height: 1.4;
- word-break: break-all;
- }
- .delectIcon {
- position: absolute;
- right: 32rpx;
- top: 32rpx;
- z-index: 1;
- }
- }
- </style>
|