This commit is contained in:
weipengfei 2024-02-23 18:20:52 +08:00
commit 7e9d8a492a
5 changed files with 119 additions and 171 deletions

View File

@ -20,7 +20,7 @@ const instacnePlant = axios.create({
const instacneTrade = axios.create({
baseURL: "http://192.168.1.24:8686/index",
baseURL: "https://shop.lihaink.cn",
timeout: 30000,
});
@ -98,6 +98,10 @@ export function breedFarmCount(params) {
return instacneBreed.get('/api/dataview.farm/farmCount', { params })
}
// 交易数据大屏获取商户列表
export function merchant_listApi(params) {
return instacneTrade.get('/api/dataview/merchant_list', { params })
}
//
//api/dataview/merchant?mer_id=36&areaCode=510524&streetCode=510524100
// }

View File

@ -1,11 +1,13 @@
<template>
<div class="areacontent">
<div class="area-list">
<div v-for="(item, index) in options" :key="index" :class="{ act: actIndex == index }" @click="handChose(index)"> {{
item.label }} </div>
<div v-for="(item, index) in options" :key="index" :class="{ act: actIndex == index }"
@click="handChose(index)"> {{
item.label }} </div>
</div>
<div class="town-list">
<div class="town-list-li" v-for="(item,index) in townLists" :key="index" @click="handTown(index)">{{ item.name }}</div>
<div class="town-list-li" v-for="(item, index) in townLists" :key="index" @click="handTown(index)">{{ item.name
}}</div>
</div>
</div>
</template>
@ -15,6 +17,10 @@ import { apigetTownLists } from "@/api.js"
import { sendMsg } from "@/api.js"
//
const options = reactive([
{
value: '510521',
label: '泸县',
},
{
value: '510502',
label: '江阳区',
@ -27,10 +33,6 @@ const options = reactive([
value: '510504',
label: '龙马潭区',
},
{
value: '510521',
label: '泸县',
},
{
value: '510522',
label: '合江县 ',
@ -52,26 +54,22 @@ const emit = defineEmits(['handTown', 'handArea'])
const handChose = (index) => {
actIndex.value = index;
getTownListsFn(options[index].value);
options.forEach(item => {
if (item.value == options[index].value) {
sendFn('choserArea', { name: item.label, code: item.value })
emit('handArea', options[actIndex.value].value,)
}
})
sendFn('choserArea', { name: options[index].label, code: options[index].value })
emit('handArea', options[actIndex.value].label,)
}
const handTown = (index)=>{
console.log(townLists.value[index]);
const handTown = (index) => {
// townLists.value.forEach(item => {
// if (item.value == townLists[index].value) {
// sendFn('choseTown', { name: item.label, code: item.value })
// }
// })
townLists.value.forEach(item => {
if (item.code == townLists.value[index].code) {
sendFn('choseTown', { name: item.name })
emit('handTown', options[actIndex.value].value, item.code)
}
if (item.code == townLists.value[index].code) {
sendFn('choseTown', { name: item.name, code: item.code })
emit('handTown', item.name)
}
})
}
@ -85,14 +83,14 @@ getTownListsFn()
const props = defineProps({
channel: {
type: String,
default: ()=>'user-3'
default: () => 'user-3'
}
})
//
const page = ref(1)
const sendFn = (event, data = '') => {
if (data.page) page.value = data.page;
sendMsg({ channel: props.channel, event, data })
if (data.page) page.value = data.page;
sendMsg({ channel: props.channel, event, data })
}
</script>
@ -119,7 +117,7 @@ const sendFn = (event, data = '') => {
color: #9AADC4;
font-family: FZCYJ;
cursor: pointer;
padding:0 80px;
padding: 0 80px;
}
@ -138,7 +136,8 @@ const sendFn = (event, data = '') => {
justify-content: space-between;
margin-top: 40px;
padding: 0 50px;
.town-list-li{
.town-list-li {
font-size: 18px;
color: #E4EFF5;
background-image: url('/static/img/area/townbg.png');
@ -152,18 +151,19 @@ const sendFn = (event, data = '') => {
}
}
.town-list::-webkit-scrollbar {
width: 10px;
background-color: #153041;
}
.town-list::-webkit-scrollbar-track {
background-color: #153041;
}
.town-list::-webkit-scrollbar {
width: 10px;
background-color: #153041;
}
::-webkit-scrollbar-thumb {
background-color: #084D89;
border-radius: 5px;
.town-list::-webkit-scrollbar-track {
background-color: #153041;
}
::-webkit-scrollbar-thumb {
background-color: #084D89;
border-radius: 5px;
}
}
}</style>
</style>

View File

@ -17,8 +17,10 @@ for (let i = 1; i < 6; i++) {
</script>
<style>
.main-box {
width: 1280px;
height: 720px;
/* width: 1280px;
height: 720px; */
width: 100vw;
height: 100vh;
overflow: hidden;
background-image: url('/static/img/index/index_bg.png');
background-size: 100% 100%;

View File

@ -1,137 +1,50 @@
<template>
<img src="/static/img/tradeScreen/FH.png" @click="router.go(-1)" class="back-btn" alt="">
<div style="height: 100vh;">
<div class="tradmenu" v-if="flag">
<div class="tradmenu-li sy"></div>
<div class="tradmenu-li sc"></div>
<div class="tradmenu-li sh" @click="router.push('/storeLogin')"></div>
<div class="tradmenu-li dd"></div>
<div class="tradmenu-li cw"></div>
</div>
<div v-else>
<areaChose></areaChose>
</div>
<div class="tradmenu" v-if="flag">
<div class="tradmenu-li sy" @click="sendFn('header1')"></div>
<div class="tradmenu-li sc" @click="sendFn('header2')"></div>
<div class="tradmenu-li sh" @click="sendFn('header3', '', `router.push('/storeLogin')`)"></div>
<div class="tradmenu-li dd" @click="sendFn('header4')"></div>
<div class="tradmenu-li cw" @click="sendFn('header5')"></div>
</div>
<div class="area" @click="flag=!flag">
<div class="area-top">
<div class="town">江陽區</div>
<div class="town">江陽區</div>
</div>
<div class="area-bottom"></div>
<div v-else>
<areaChose channel="user-trad" @handTown="handTown" @handArea="handArea"></areaChose>
</div>
<!-- <div style="text-align: center;">数据之眼可视化大屏</div>
<div>
<button @click="sendFn('header1', { page: 1 })">首页</button>
<button @click="sendFn('header2', { page: 2 })">商品</button>
<button @click="sendFn('header3', { page: 3 })">商户</button>
<button @click="sendFn('header4', { page: 4 })">订单</button>
<button @click="sendFn('header5', { page: 5 })">财务</button>
<el-select v-model="areaCode" class="m-2" @change="changeArea" placeholder="Select" size="large">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select v-model="townCode" class="m-2" @change="changeTown" placeholder="Select" size="large">
<el-option v-for="item in townOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div v-if="page == 1">
</div> -->
</div>
<div class="area" @click="flag = !flag">
<div class="area-top">
<div class="town">{{ area }}</div>
<div class="town">{{ town }}</div>
</div>
<div class="area-bottom"></div>
</div>
</template>
<script setup scoped>
import { ref, reactive } from "vue"
import { sendMsg } from "@/api.js"
import axios from "axios"
import areaChose from "@/view/components/areaChose.vue"
import {useRouter} from "vue-router"
const router =useRouter()
const flag=ref(true)
const options = [
{
value: '510502',
label: '江阳区',
},
{
value: '510503',
label: '纳溪区',
},
{
value: '510504',
label: '龙马潭区',
},
{
value: '510521',
label: '泸县',
},
{
value: '510522',
label: '合江县 ',
},
{
value: '510524',
label: '叙永县 ',
}, {
value: '510525',
label: '古蔺县 ',
},
]
const townOptions = []
const areaCode = ref('510521')
const townCode = ref("")
import { useRouter } from "vue-router"
const router = useRouter()
const flag = ref(true)
const town=ref("")
const area=ref("泸县")
const changeArea = (e) => {
getTownList()
options.forEach(item => {
if (item.value == e) {
sendFn('choserArea', { name: item.label, code: item.value })
}
})
const sendFn = (event, data = '', fn) => {
sendMsg({ channel: 'user-trad', event, data })
if (fn) eval(fn)
}
const changeTown = (e) => {
townOptions.forEach(item => {
if (item.value == e) {
sendFn('header7', { id: item.value, name: item.label })
// sendFn('choseTown', { name: item.label })
}
})
const handTown=(e)=>{
town.value=e
}
const getTownList = () => {
townOptions.splice(0, 99999999)
axios.get(`https://crmeb-test.shop.lihaink.cn/api/city/get_street?area_code=${areaCode.value}`)
.then(function (res) {
res.data.data.forEach(item => {
townOptions.push({
value: item.code,
label: item.name
})
})
})
const handArea=(e)=>{
area.value=e
town.value=''
}
const page = ref(1)
const sendFn = (event, data = '') => {
if (data.page) page.value = data.page;
sendMsg({ channel: 'user-2', event, data })
}
</script>
<style lang="scss" scoped>
.tradmenu {
@ -157,14 +70,17 @@ const sendFn = (event, data = '') => {
background-image: url('/static/img/tradeScreen/SC.png');
}
.sh {
background-image: url('/static/img/tradeScreen/SH.png');
}
.dd {
background-image: url('/static/img/tradeScreen/DD.png');
}
.cw {
background-image: url('/static/img/tradeScreen/CW.png');

View File

@ -1,24 +1,24 @@
<template>
<img src="/static/img/tradeScreen/FH.png" @click="router.go(-1)" class="back-btn" alt="">
<div class="cont" v-if="flag">
<div class="card" v-for="item in 9">
<div class="card" v-for="item in merchant_list" :key="item.id">
<div class="card-tit">
究极公司
<span style="font-size: 16px;color: white;">2024-01-21</span>
{{ item.mer_name }}
<span style="font-size: 14px;color: white;">{{ item.create_time.substring(0,10) }}</span>
</div>
<div class="card-cotnet">
<div>商户姓名: 为对方</div>
<div style="margin: 20px 0;">商户属地: 为对方</div>
<div>商户分类: 为对方</div>
<div class="login">登录</div>
<div>商户姓名: {{ item.real_name }}</div>
<div style="margin: 20px 0;">商户属地: {{ item.mer_address }}</div>
<div>商户分类: {{ item.merchantCategory?.category_name }}</div>
<div class="login" @click="sendFn('header3-3',{id:item.mer_id})">登录</div>
</div>
</div>
</div>
<areaChose v-else></areaChose>
<div class="area" @click="flag=!flag">
<div class="area" @click="flag = !flag">
<div class="area-top">
<div class="town">江陽區</div>
<div class="town">江陽區</div>
<div class="town">{{ area }}</div>
<div class="town">{{ town }}</div>
</div>
<div class="area-bottom"></div>
</div>
@ -54,9 +54,11 @@
align-items: center;
margin-top: 10px;
}
.card-cotnet{
.card-cotnet {
margin-top: 25px;
.login{
.login {
margin: 0 auto;
width: 170px;
height: 34px;
@ -132,11 +134,35 @@
}
</style>
<script setup >
import {useRouter} from "vue-router"
import {ref,reactive} from "vue"
import { useRouter } from "vue-router"
import { ref, reactive } from "vue"
import areaChose from "../components/areaChose.vue";
import { merchant_listApi } from "@/api.js"
import { sendMsg } from "@/api.js"
const router=useRouter()
const flag=ref(true)
const router = useRouter()
const flag = ref(true)
const town=ref("")
const area=ref("泸县")
const merchant_list =ref([])
const getmerchant_list = async () => {
let res = await merchant_listApi({
areaCode: 510521,
status: 1,
limit: 50
})
merchant_list.value=res.data.list
console.log(merchant_list.value)
}
const sendFn = (event, data = '') => {
sendMsg({ channel: 'user-trad', event, data })
}
const handLogin=(id)=>{
}
getmerchant_list()
</script>