对接接口

This commit is contained in:
lixiaobang 2023-04-10 08:46:01 +08:00
parent a29153de74
commit 2247cce886
5 changed files with 290 additions and 143 deletions

134
package-lock.json generated
View File

@ -1892,49 +1892,6 @@
"webpack-merge": "^5.7.3",
"webpack-virtual-modules": "^0.4.2",
"whatwg-fetch": "^3.6.2"
},
"dependencies": {
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.1",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz",
"integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
}
}
},
"json5": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
},
"loader-utils": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^1.0.1"
}
}
}
},
"@vue/cli-shared-utils": {
@ -2099,6 +2056,47 @@
}
}
},
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.1",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz",
"integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
},
"json5": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
},
"loader-utils": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^1.0.1"
}
}
}
},
"@vue/web-component-wrapper": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz",
@ -2422,6 +2420,11 @@
"babel-runtime": "6.x"
}
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz",
@ -2442,6 +2445,16 @@
"postcss-value-parser": "^4.2.0"
}
},
"axios": {
"version": "1.3.5",
"resolved": "https://registry.npmmirror.com/axios/-/axios-1.3.5.tgz",
"integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==",
"requires": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"babel-helper-vue-jsx-merge-props": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
@ -2935,6 +2948,14 @@
"integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
@ -3479,6 +3500,11 @@
"object-keys": "^1.1.1"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
@ -4005,8 +4031,17 @@
"follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"forwarded": {
"version": "0.2.0",
@ -5097,14 +5132,12 @@
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"requires": {
"mime-db": "1.52.0"
}
@ -6151,6 +6184,11 @@
}
}
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",

View File

@ -7,6 +7,7 @@
"build": "vue-cli-service build"
},
"dependencies": {
"axios": "^1.3.5",
"core-js": "^3.8.3",
"echarts": "^5.2.0",
"element-ui": "^2.15.13",

View File

@ -1,15 +1,27 @@
<template>
<div id="app">
<!-- unity3D -->
<iframe id="iframe" ref="dome" width="100%" height="100%" src="EPS_Yzpq/index.html" frameborder="0"></iframe>
<iframe
id="iframe"
ref="dome"
width="100%"
height="100%"
src="EPS_Yzpq/index.html"
frameborder="0"
></iframe>
<!-- 头部 -->
<header class="nav">
<div class="wether">
<img src="@/assets/images/cloudy.png" alt="">
<img src="@/assets/images/cloudy.png" alt="" />
<span class="tianqi">多云</span>
</div>
<el-select v-model="value" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-input placeholder="请输入" v-model="input3">
@ -17,28 +29,50 @@
</el-input>
<ul>
<li v-for="(s, i) in liImgs" class="nav-li" :key="i" @click="handleBtn(i)">
<el-dropdown trigger="click" placement="bottom" v-if="i == 0" :hide-on-click="true">
<img :src="s.img" alt="">
<li
v-for="(s, i) in liImgs"
class="nav-li"
:key="i"
@click="handleBtn(i)"
>
<el-dropdown
trigger="click"
placement="bottom"
v-if="i == 0"
:hide-on-click="true"
>
<img :src="s.img" alt="" />
<el-dropdown-menu slot="dropdown">
<ul class="menuContent">
<li v-for="(num, index) in 15" :key="index" @click="shelfHanlder($event)">LD1_B01-{{ num < 10 ? '0' + num
: num }}</li>
<li
v-for="(num, index) in 15"
:key="index"
@click="shelfHanlder($event)"
>
LD1_B01-{{ num < 10 ? "0" + num : num }}
</li>
</ul>
<ul class="menuContent">
<li v-for="(num, index) in 9" :key="index + 1" @click="shelfHanlder($event)">LD1_C01-{{ num < 10 ? '0' +
num : num }}</li>
<li
v-for="(num, index) in 9"
:key="index + 1"
@click="shelfHanlder($event)"
>
LD1_C01-{{ num < 10 ? "0" + num : num }}
</li>
<li @click="shelfHanlder($event)">LD1_C02-01</li>
<li @click="shelfHanlder($event)">LD1_C03-01</li>
</ul>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" placement="bottom" v-else-if="i == 2" :hide-on-click="true">
<img :src="s.img" alt="">
<el-dropdown
trigger="click"
placement="bottom"
v-else-if="i == 2"
:hide-on-click="true"
>
<img :src="s.img" alt="" />
<el-dropdown-menu slot="dropdown">
<ul class="menuContent">
<li @click="selectHomeN($event)">B01</li>
@ -52,7 +86,7 @@
<el-dropdown-item @click="selectHomeN($event)">C03</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
<img v-else :src="s.img" alt="">
<img v-else :src="s.img" alt="" />
</li>
</ul>
</header>
@ -66,92 +100,102 @@
</div>
</template>
<script>
import { getVisualStorageList } from "@/api/index";
export default {
name: 'App',
name: "App",
data() {
return {
heatList: [20, 40, 200, 100],
liImgs: [
{ img: require('@/assets/images/1.png') },
{ img: require('@/assets/images/2.png') },
{ img: require('@/assets/images/3.png') },
{ img: require('@/assets/images/4.png') },
{ img: require('@/assets/images/5.png') },
{ img: require('@/assets/images/6.png') }
{ img: require("@/assets/images/1.png") },
{ img: require("@/assets/images/2.png") },
{ img: require("@/assets/images/3.png") },
{ img: require("@/assets/images/4.png") },
{ img: require("@/assets/images/5.png") },
{ img: require("@/assets/images/6.png") },
],
options: [{
value: '物资批次',
label: '物资批次'
}, {
value: '物料编码',
label: '物料编码'
}, {
value: '仓位号',
label: '仓位号'
}],
value: '仓位号',
options: [
{
value: "物资批次",
label: "物资批次",
},
{
value: "物料编码",
label: "物料编码",
},
{
value: "仓位号",
label: "仓位号",
},
],
value: "仓位号",
input3: '',
input3: "",
state: false,
//
transport: false,
//
hide: false
}
hide: false,
};
},
created() {
this.$nextTick(() => {
getVisualStorageList({ wareHouseCode: "HA1" }).then((res) => {
console.log(res, "shuju");
});
});
// window.parent.shelvesList = this.shelfHanlder
},
methods: {
shelfHanlder(e) {
// console.log();
e.currentTarget.parentElement.parentElement.style.display = 'none'
this.$refs.dome.contentWindow.shelvesList(e.currentTarget.innerHTML)
console.log(e.currentTarget.innerHTML, '货架列表');
e.currentTarget.parentElement.parentElement.style.display = "none";
this.$refs.dome.contentWindow.shelvesList(e.currentTarget.innerHTML);
console.log(e.currentTarget.innerHTML, "货架列表");
},
//
selectHomeN(e) {
e.currentTarget.parentElement.parentElement.style.display = 'none'
console.log(e.currentTarget.innerHTML, '库房的定位');
this.$refs.dome.contentWindow.selectHome(e.currentTarget.innerHTML)
e.currentTarget.parentElement.parentElement.style.display = "none";
console.log(e.currentTarget.innerHTML, "库房的定位");
this.$refs.dome.contentWindow.selectHome(e.currentTarget.innerHTML);
},
handleBtn(i) {
if (i == 1) {
this.state = !this.state
this.state = !this.state;
console.log(this.state);
this.$refs.dome.contentWindow.updateScene(this.state)
this.$refs.dome.contentWindow.updateScene(this.state);
} else if (i == 3) {
this.$refs.dome.contentWindow.outHome()
this.$refs.dome.contentWindow.outHome();
} else if (i == 4) {
this.transport = !this.transport
this.$refs.dome.contentWindow.transport(this.transport)
this.transport = !this.transport;
this.$refs.dome.contentWindow.transport(this.transport);
} else if (i == 5) {
this.hide = !this.hide
this.$refs.dome.contentWindow.hide(this.hide)
}
this.hide = !this.hide;
this.$refs.dome.contentWindow.hide(this.hide);
}
},
},
watch: {
value: {
handler(newVal, oldVal) {
if (newVal == '仓位号') {
if (newVal == "仓位号") {
// this.$refs.dome.contentWindow.shelvesList(input3)
} else if (newVal == '物料编码') {
} else if (newVal == "物料编码") {
// this.$refs.dome.contentWindow.shelvesList(input3)
} else if (newVal == '物料批次') {
} else if (newVal == "物料批次") {
// this.$refs.dome.contentWindow.shelvesList(input3)
}
}
}
}
}
},
},
},
};
</script>
<style lang="less" scoped>
/deep/ .el-input__inner {
background-color: transparent !important;
border-color: transparent !important;
color:#fff !important;
color: #fff !important;
}
/deep/ .el-input__inner::placeholder {
color: #fff;
@ -161,9 +205,8 @@ export default {
margin: 0 5px;
}
/deep/ .el-select>.el-input {
/deep/ .el-select > .el-input {
width: 100%;
}
/deep/ .el-input {
@ -217,7 +260,7 @@ html {
.tianqi {
width: 40px;
color: #FFF;
color: #fff;
font-family: quare;
vertical-align: middle;
margin-left: 10px;
@ -242,13 +285,10 @@ html {
border-radius: 8px;
box-shadow: 0 0 10px #5d8cad;
position: relative;
}
}
}
.menuContent {
float: left;
@ -271,7 +311,7 @@ html {
top: 35%;
right: 0;
position: absolute;
background-image: url('@/assets/images/aside.png');
background-image: url("@/assets/images/aside.png");
background-size: 100% 100%;
span {

View File

@ -1,6 +1,74 @@
// 测试请求是否能跨域
export const getWather = (params) => {
return axios.get('api/Handler/Weather.ashx', {
// export const getWather = (params) => {
// return axios.get('api/Handler/Weather.ashx', {
// params
// })
// };
import axios from 'axios'
export const getVisualStorageList = (params) => {
return axios.get('api/visualStorage/getVisualStorageList', {
params
})
};
}
// 获取仓位得接口
export const byPosition = (params) => {
return axios.get('api/visualStorage/getVisualStorageListByPosition', {
params
})
}
// 获取物料和批次
export const byBatchAndMateri = (params) => {
axios.get('api/visualStorage/getVisualStorageListByBatchAndMateri', {
params
})
}
// 仓库使用率
export const getWarehouseUsages = (params) => {
axios.get('api/visualStorage/getWarehouseUsages', {
params
})
}
// 每月的周转率
export const getTurnoverRate = (params) => {
axios.get('api/visualStorage/getTurnoverRateList', {
params
})
}
// 当月出入库金额
export const getChangeAmount = (params) => {
axios.get('api/visualStorage/getChangeAmount', {
params
})
}
// 积压物质
export const getBacklogMaterialInfo = (params) => {
axios.get('api/visualStorage/getBacklogMaterialInfo', {
params
})
}
// 库龄结构
export const getInventoryAgeInfo = (params) => {
axios.get('api/visualStorage/getInventoryAgeInfo', {
params
})
}
// 库存构成
export const getStore = (params) => {
axios.get('api/visualStorage/getInventoryConstitute', {
params
})
}
// 库容预测
export const getMaterialDataList = (params) => {
axios.get('api/visualStorage/getMaterialDataList', {
params
})
}

View File

@ -1,7 +1,7 @@
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true
})
// const { defineConfig } = require('@vue/cli-service')
// module.exports = defineConfig({
// transpileDependencies: true
// })
module.exports = {
// 打包文件配置
publicPath: "/",
@ -20,12 +20,12 @@ module.exports = {
proxy: {
'/api': { //代理的名字
// target:'http://111.229.30.246:3111/',
target: 'http://172.16.1.254:3111/',
target: 'http://ip:30005/gwcp/',
// target:'http://www.weather.com.cn/',
ws: true,
changeOrigin: true,
pathRewrite:{
'^/api':'',
pathRewrite: {
'^/api': '',
}
},
}