Merge branch 'master' of http://git.hivekion.com:3000/liaoboping/LSSE-front
This commit is contained in:
commit
1cdeb42c17
|
|
@ -1,6 +1,6 @@
|
|||
NODE_ENV=development
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=/api
|
||||
VUE_APP_API_URL=http://192.168.0.53:8099
|
||||
VUE_APP_API_URL=http://192.168.0.225:8099
|
||||
VUE_APP_MAP_BASE_URL=/map
|
||||
VUE_APP_MAP_URL=http://192.168.0.53:8090
|
||||
VUE_APP_MAP_URL=http://192.168.0.225:8090
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
NODE_ENV=production
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=/api
|
||||
VUE_APP_API_URL=http://192.168.0.53:8099
|
||||
VUE_APP_API_URL=http://192.168.0.225:8099
|
||||
|
|
|
|||
4
public/config.js
vendored
4
public/config.js
vendored
|
|
@ -19,7 +19,7 @@ window._CONFIG = {
|
|||
evaluationSrc: 'http://192.168.0.53:8088/thirdLogin/thirdLoginPage?username=admin',
|
||||
|
||||
// 服务端地址
|
||||
VUE_APP_API_URL: 'http://192.168.0.53:8099',
|
||||
VUE_APP_API_URL: 'http://192.168.0.225:8099',
|
||||
// websocket服务地址
|
||||
VUE_APP_WEBSOCKET_URL: 'ws://192.168.0.53:8099',
|
||||
VUE_APP_WEBSOCKET_URL: 'ws://192.168.0.225:8099',
|
||||
}
|
||||
|
|
|
|||
2
public/index.html
vendored
2
public/index.html
vendored
|
|
@ -5,7 +5,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>App.ico">
|
||||
<title>基于大数据的智能化后装保障链仿真分析方法工具</title>
|
||||
<title>中印边境自卫作战联合反击后装保障效能全业务全链路仿真系统</title>
|
||||
<style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style>
|
||||
<script src="/jquery.min.js"></script>
|
||||
<!-- <script src="https://files.worldwind.arc.nasa.gov/artifactory/web/0.9.0/worldwind.min.js"></script> -->
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ export default {
|
|||
menu: {
|
||||
locale: true
|
||||
},
|
||||
title: '基于大数据的智能化后装保障链仿真分析方法工具',
|
||||
title: '中印边境自卫作战联合反击后装保障效能全业务全链路仿真系统',
|
||||
pwa: false,
|
||||
iconfontUrl: '',
|
||||
production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ export const constantRouterMap = [
|
|||
path: '/',
|
||||
name: 'index',
|
||||
component: RouteView,
|
||||
meta: { title: '基于大数据的智能化后装保障链仿真分析方法工具' },
|
||||
meta: { title: '中印边境自卫作战联合反击后装保障效能全业务全链路仿真系统' },
|
||||
redirect: '/user/welcome',
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -58,12 +58,12 @@
|
|||
</div>
|
||||
</ModuleWrapper>
|
||||
<ModuleWrapper height="55%" title="保障需求清单">
|
||||
<!-- <template #title>
|
||||
<!– <template #title>
|
||||
<a-radio-group v-model="qd.qdlx" button-style="solid">
|
||||
<a-radio-button value="xqqd">需求清单</a-radio-button>
|
||||
<a-radio-button value="bzqd">保障清单</a-radio-button>
|
||||
</a-radio-group>
|
||||
</template> -->
|
||||
</template> –>
|
||||
<div class="normal" style="padding: 5px; overflow-y: auto">
|
||||
<a-table
|
||||
class="simulation-table-plain"
|
||||
|
|
@ -292,6 +292,51 @@ export default {
|
|||
})
|
||||
},
|
||||
methods: {
|
||||
handleChange(value, key, column) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
target[column] = value;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
edit(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
target.editable = true;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
save(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
delete target.editable;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
cancel(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
Object.assign(target, this.cacheData.find(item => key === item.key));
|
||||
delete target.editable;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
handleDelete(key) {
|
||||
this.data = this.data.filter(item => item.key !== key);
|
||||
},
|
||||
handleAdd() {
|
||||
this.data.push({
|
||||
key: Date.now(),
|
||||
name: '',
|
||||
age: null,
|
||||
address: '',
|
||||
editable: true
|
||||
});
|
||||
},
|
||||
getTree(target, treeData, showKeys) {
|
||||
treeData.forEach((item) => {
|
||||
const newChildren = []
|
||||
|
|
|
|||
|
|
@ -56,7 +56,45 @@
|
|||
</a-tree>
|
||||
</div>
|
||||
</ModuleWrapper>
|
||||
<ModuleWrapper height="55%" title="保障需求清单">
|
||||
<ModuleWrapper title="天气预设" height="25%">
|
||||
<div>
|
||||
<a-button type="primary" @click="handleAdd" icon="plus">新增</a-button>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:dataSource="data"
|
||||
:pagination="false"
|
||||
bordered
|
||||
rowKey="key"
|
||||
>
|
||||
<template v-for="col in ['name', 'age', 'address']" :slot="col" slot-scope="text, record">
|
||||
<div :key="col">
|
||||
<a-input
|
||||
v-if="record.editable"
|
||||
:value="text"
|
||||
@change="e => handleChange(e.target.value, record.key, col)"
|
||||
/>
|
||||
<template v-else>{{ text }}</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot="operation" slot-scope="text, record">
|
||||
<template v-if="record.editable">
|
||||
<a @click="save(record.key)">保存</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="cancel(record.key)">取消</a>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a @click="edit(record.key)">编辑</a>
|
||||
<a-divider type="vertical" />
|
||||
<a-popconfirm title="确认删除?" @confirm="() => handleDelete(record.key)">
|
||||
<a>删除</a>
|
||||
</a-popconfirm>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
</ModuleWrapper>
|
||||
<ModuleWrapper height="30%" title="保障需求清单">
|
||||
<div class="normal" style="padding: 5px; overflow-y: auto">
|
||||
<a-table
|
||||
class="simulation-table-plain"
|
||||
|
|
@ -144,6 +182,18 @@ export default {
|
|||
return {
|
||||
initial: false,
|
||||
ws: null,
|
||||
data: [],
|
||||
columns: [
|
||||
{ dataIndex: 'serial' },
|
||||
{ title: '天气类型', dataIndex: 'weatherType' },
|
||||
{ title: '持续开始时间', dataIndex: 'lastBegTime' },
|
||||
{ title: '持续结束时间', dataIndex: 'lastEndTime' },
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'operation',
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
roomInfo: {
|
||||
mag: '',
|
||||
status: '',
|
||||
|
|
@ -261,6 +311,7 @@ export default {
|
|||
this.scenarioId = this.$route.params.scenarioId
|
||||
this.scenarioName = this.$route.params.scenarioName
|
||||
this.getBlbzTreeData()
|
||||
this.getWeathers()
|
||||
window.addEventListener('beforeunload', (e) => {
|
||||
this.childWindow && this.childWindow.close()
|
||||
return true // 必须设置 returnValue 才能显示确认框
|
||||
|
|
@ -276,6 +327,60 @@ export default {
|
|||
})
|
||||
},
|
||||
methods: {
|
||||
getWeathers(){
|
||||
this.$http({
|
||||
url: `/baseData/weatherResource/list`,
|
||||
method: 'get',
|
||||
params: { scenarioId: this.scenarioId},
|
||||
}).then(res => {
|
||||
this.data = res.data
|
||||
})
|
||||
},
|
||||
handleChange(value, key, column) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
target[column] = value;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
edit(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
target.editable = true;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
save(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
delete target.editable;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
cancel(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
// Object.assign(target, this.newData.find(item => key === item.key));
|
||||
delete target.editable;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
handleDelete(key) {
|
||||
this.data = this.data.filter(item => item.key !== key);
|
||||
},
|
||||
handleAdd() {
|
||||
this.data.push({
|
||||
key: Date.now(),
|
||||
name: '',
|
||||
age: null,
|
||||
address: '',
|
||||
editable: true
|
||||
});
|
||||
},
|
||||
getTree(target, treeData, showKeys) {
|
||||
treeData.forEach((item) => {
|
||||
const newChildren = []
|
||||
|
|
|
|||
|
|
@ -131,7 +131,45 @@
|
|||
</a-tree>
|
||||
</div>
|
||||
</ModuleWrapper>
|
||||
<ModuleWrapper height="55%">
|
||||
<ModuleWrapper title="天气预设" height="25%">
|
||||
<div>
|
||||
<a-button type="primary" @click="handleAdd" icon="plus">新增</a-button>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:dataSource="this.weatherData"
|
||||
:pagination="false"
|
||||
bordered
|
||||
rowKey="key"
|
||||
>
|
||||
<!-- <template v-for="col in columns" :slot="col" slot-scope="text, record">-->
|
||||
<!-- <div :key="col">-->
|
||||
<!-- <a-input-->
|
||||
<!-- v-if="record.editable"-->
|
||||
<!-- :value="text"-->
|
||||
<!-- @change="e => handleChange(e.target.value, record.key, col)"-->
|
||||
<!-- />-->
|
||||
<!-- <template v-else>{{ text }}</template>-->
|
||||
<!-- </div>-->
|
||||
<!-- </template>-->
|
||||
|
||||
<!-- <template slot="operation" slot-scope="text, record">-->
|
||||
<!-- <template v-if="record.editable">-->
|
||||
<!-- <a @click="save(record.key)">保存</a>-->
|
||||
<!-- <a-divider type="vertical" />-->
|
||||
<!-- <a @click="cancel(record.key)">取消</a>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template v-else>-->
|
||||
<!-- <a @click="edit(record.key)">编辑</a>-->
|
||||
<!-- <a-divider type="vertical" />-->
|
||||
<!-- <a-popconfirm title="确认删除?" @confirm="() => handleDelete(record.key)">-->
|
||||
<!-- <a>删除</a>-->
|
||||
<!-- </a-popconfirm>-->
|
||||
<!-- </template>-->
|
||||
<!-- </template>-->
|
||||
</a-table>
|
||||
</div>
|
||||
</ModuleWrapper>
|
||||
<ModuleWrapper height="30%">
|
||||
<template #title>
|
||||
<a-radio-group v-model="fd.type" button-style="solid" @change="getFdListData">
|
||||
<a-radio-button :value="5">作战分队</a-radio-button>
|
||||
|
|
@ -235,7 +273,6 @@ import Zoom from './components/Zoom.vue'
|
|||
import BlbzModal from './components/BlbzModal.vue'
|
||||
import Jcsx from './components/Jcsx.vue'
|
||||
import Zzxd from './components/Zzxd.vue'
|
||||
|
||||
export default {
|
||||
name: 'SubsystemScenePresetting',
|
||||
components: {
|
||||
|
|
@ -250,6 +287,20 @@ export default {
|
|||
scenarioName: '',
|
||||
cesium: null,
|
||||
scenarioDetail: null,
|
||||
weatherData:[
|
||||
{ key: '1', weatherType: '张三', lastBegTime: 32, editable: false },
|
||||
{ key: '2', weatherType: '李四', lastBegTime: 42, editable: false }
|
||||
],
|
||||
columns: [
|
||||
{ title: '天气类型', dataIndex: 'weatherType',key: 'weatherType' },
|
||||
{ title: '持续开始时间', dataIndex: 'lastBegTime',key: 'lastBegTime' },
|
||||
{ title: '持续结束时间', dataIndex: 'lastEndTime',key: 'lastEndTime' },
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'operation',
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
zzbzll: {
|
||||
loading: false,
|
||||
treeData: [],
|
||||
|
|
@ -374,7 +425,9 @@ export default {
|
|||
},
|
||||
created() {
|
||||
this.scenarioId = this.$route.params.scenarioId
|
||||
console.log("============="+this.$route.params.scenarioId)
|
||||
this.scenarioName = this.$route.params.scenarioName
|
||||
this.getWeathers()
|
||||
window.addEventListener('beforeunload', (e) => {
|
||||
this.childWindow && this.childWindow.close()
|
||||
return true // 必须设置 returnValue 才能显示确认框
|
||||
|
|
@ -387,6 +440,61 @@ export default {
|
|||
this.getFdListData()
|
||||
},
|
||||
methods: {
|
||||
getWeathers(){
|
||||
this.$http({
|
||||
url: `/baseData/weatherResource/list`,
|
||||
method: 'get',
|
||||
params: { scenarioId: this.scenarioId},
|
||||
}).then(res => {
|
||||
this.weatherData = res.data
|
||||
console.log("================="+JSON.stringify(this.weatherData))
|
||||
})
|
||||
},
|
||||
handleChange(value, key, column) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
target[column] = value;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
edit(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
target.editable = true;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
save(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
delete target.editable;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
cancel(key) {
|
||||
const newData = [...this.data];
|
||||
const target = newData.find(item => key === item.key);
|
||||
if (target) {
|
||||
// Object.assign(target, this.newData.find(item => key === item.key));
|
||||
delete target.editable;
|
||||
this.data = newData;
|
||||
}
|
||||
},
|
||||
handleDelete(key) {
|
||||
this.data = this.data.filter(item => item.key !== key);
|
||||
},
|
||||
handleAdd() {
|
||||
this.data.push({
|
||||
key: Date.now(),
|
||||
name: '',
|
||||
age: null,
|
||||
address: '',
|
||||
editable: true
|
||||
});
|
||||
},
|
||||
getTree(target, treeData, showKeys) {
|
||||
treeData.forEach((item) => {
|
||||
const newChildren = []
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<Flex class="user-login-page" fd="co" ai="c" jc="c" style="height: 100%">
|
||||
<div class="user-login-title">基于大数据的智能化后装保障链仿真分析方法工具</div>
|
||||
<div class="user-login-title">中印边境自卫作战联合反击后装保障效能全业务全链路仿真系统</div>
|
||||
<Grid style="width: 917px; height: 445px" :columns="['524px', '329px', '0px']" gap="32px">
|
||||
<div class="oh" style="grid-area: 1 / 1 / 2 / 4">
|
||||
<img class="user-login-bg" :src="bgLogin" alt="" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user