| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 | <template>    <view class="gas-record-card">        <view class="record-top-area">            <view class="record-write-box">                <text class="dialog-label">卡ID:</text>                <u--input v-model="cardId" placeholder="请输入卡片ID" type="number" size="small" clearable                    style="width:220px;padding: 2px 9px;"></u--input>            </view>            <!-- <u-button type="primary" size="small" style="margin: 2px 0px;" @click="getNfcFormat">格式化tag</u-button> -->            <u-button type="primary" size="small" style="margin: 2px 0px;" @click="getNfcWrite">录入</u-button>            <u-button type="primary" size="small" style="margin: 2px 0px;" @click="getNfcRead">读取</u-button>        </view>        <view class="record-bot-area">            <u-toast ref="uToast"></u-toast>            <view class="record-container" v-if="cardData.id">                <view class="record-title">                    <span class="record-text">卡片ID读取</span>                </view>                <view class="record-card">                    <view class="record-card-item">                        <text class="card-item-label">当前卡ID为:</text>                        <text class="card-item-value">{{ cardData.id }}</text>                    </view>                    <view class="record-card-item">                        <text class="card-item-label">当前巡检点为:</text>                        <text class="card-item-value">{{ cardData.address }}</text>                    </view>                </view>            </view>        </view>    </view></template><script>import api from "@/api/api";import testNfc from "@/common/util/hexiii-nfc.js"export default {    name: 'gasRecordCard',    data() {        return {            isNfc: false,            cardId: '',            cardData: { id: '', address: '' },        }    },    computed: {},    mounted() {        testNfc.listenNFCStatus()    },    methods: {        //获取NFC卡读取内容        getCardLists(ids) {            let that = this            new Promise((resolve, reject) => {                api                    .getCardList({ id: ids })                    .then((response) => {                        if (response.data.code == 200) {                            let data = response.data.result                            that.cardData.id = data.id                            that.cardData.address = data.strInstallPos                        } else {                            that.$refs.uToast.show({                                type: 'default',                                icon: false,                                message: response.data.message,                            })                        }                    })            });        },        //格式化tag        // getNfcFormat() {        //     testNfc.__write()        // },        //nfc 写入        getNfcWrite() {            let that = this            new Promise((resolve, reject) => {                api                    .enterCardId({ id: that.cardId, })                    .then((response) => {                        if (response.data.code == 200) {                            if (that.isNfc) {                                testNfc.getSettingText(that.cardId)                                testNfc.writeData()                            } else {                                that.$refs.uToast.show({                                    type: 'default',                                    icon: false,                                    message: '录入成功!',                                })                            }                        } else {                            that.$refs.uToast.show({                                type: 'default',                                icon: false,                                message: response.data.message,                            })                        }                    })            });        },        //nfc读取        getNfcRead() {            let that = this            // that.cardId = ''            if (that.isNfc) {                testNfc.readData()                console.log(testNfc.getReadContent(), 'reading')                // let ids = testNfc.listenNFCStatus()                if (ids) {                    that.getCardLists(ids)                }            }else {                that.getCardLists(that.cardId)            }        }    }}</script><style lang="scss" scoped>.gas-record-card {    position: relative;    width: 100%;    height: 100%;    .record-top-area {        display: flex;        flex-direction: column;        align-items: center;        width: 100%;        padding: 10px 20px;        box-sizing: border-box;        background-color: #FFF;        margin-bottom: 2px;    }    .record-write-box {        display: flex;        align-items: center;        justify-content: center;        margin-bottom: 10px;        .dialog-label {            width: 60px;            text-align: right;        }    }    .record-bot-area {        width: 100%;        height: calc(100% - 138px);        padding: 10px;        box-sizing: border-box;        background-color: #FFF;        margin-bottom: 2px;        overflow-y: auto;        .record-container {            .record-title {                position: relative;                width: 100%;                height: 50rpx;                background: url(/static/warndata/title.png);                background-repeat: no-repeat;                background-size: 100% 100%;                display: flex;                /* 将父级元素设置为 Flex 容器 */                align-items: center;                /* 垂直居中子元素 */            }            .record-text {                margin: 20px;            }            .record-card {                display: flex;                flex-direction: column;                justify-content: center;                width: 100%;                height: 100px;                margin: 10px auto;                border-radius: 10px;                background: url(/static/warndata/work.png),                    linear-gradient(to right,                        rgba(55, 135, 254, 0.08),                        rgba(4, 184, 255, 0.08),                        rgba(60, 161, 237, 0.08));            }            .record-card-item {                width: 100%;                padding: 10px;                font-size: 14px;                box-sizing: border-box;                .card-item-label {                    display: inline-block;                    width: 53%;                    text-align: right;                    color: #3787fe;                    font-weight: bold;                }            }        }    }}</style>
 |