app-data-card.vue 1.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
<template>
    <div class="app-data-card">
        <div class="data-item">
            <div class="item-icon">
                <img v-if="inputData.srficonpath" :src="inputData.srficonpath" class="single-card-img" />
            <img v-else src="/assets/img/noimage.png" class="single-card-img" />
            </div>   
            <div class="item-text">
                <div class="srfmajortext">{{inputData.srfmajortext}}</div>
                <div class="srfdescription" :title="inputData.srfdescription">{{inputData.srfdescription}}</div>
            </div>
        </div>      
        <div class="data-view-item-action" v-if="actionModel">
            <template v-for="(action,index) in Object.keys(actionModel)">
                <button type="info" :key="index" @click="uiAction(inputData, action, $event)">
                    <i :class="actionModel[action].icon" style="margin-right:2px;"></i>
                    <span>{{actionModel[action].caption}}</span>
                </button>
            </template>
        </div>
    </div>
</template>

<script lang="ts">
import { Component, Vue, Prop, Model, Watch } from 'vue-property-decorator';
import { Subject,Subscription } from 'rxjs';
@Component({
})
export default class AppDataCard extends Vue {
    /**
     * 面板数据对象
     *
     * @type {*}
     * @memberof AppDataCard
     */
    @Prop() public inputData?: any;

     /**
     * 操作栏模型
     * 
     * @type {*}
     * @memberof AppDataCard
     */
    @Prop() public actionModel:any;

    /**
     * 操作列界面行为
     *
     * @param {*} data
     * @param {*} tag
     * @param {*} $event
     * @memberof AppDataCard
     */
	public uiAction(data: any, tag: any, $event: any) {
        this.$emit('uiAction',data, tag, $event)
    }
}
</script>
59 60
<style lang="scss">
    @import './app-data-card.scss';
61
</style>