From f8cebd67765033eb214365fb0a0ba841c5c54b95 Mon Sep 17 00:00:00 2001
From: liaoboping <2824044657@qq.com>
Date: Wed, 13 Aug 2025 11:51:13 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=95=B0=E6=8D=AE=E5=BA=93?=
=?UTF-8?q?=EF=BC=8C=E4=BD=9C=E6=88=98=E5=8A=9B=E9=87=8F=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E5=BA=93=EF=BC=8C=E4=BF=9D=E9=9A=9C=E5=8A=9B=E9=87=8F=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=BA=93=EF=BC=8C=E8=BF=9B=E7=A8=8B=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Common/Form/AntOriginSelect.vue | 138 ++++++++
.../Common/Form/AntOriginTreeSelect.vue | 183 ++++++++++
src/components/Common/Form/defaultSettings.js | 10 +
src/components/Common/register.js | 6 +
.../simulationScene/database/bzllsjk.vue | 317 +++++++++++++++++-
src/views/simulationScene/database/fasjk.vue | 6 +-
src/views/simulationScene/database/jcsjk.vue | 35 +-
src/views/simulationScene/database/xdsjk.vue | 2 +-
.../simulationScene/database/zzllsjk.vue | 148 +++++---
src/views/simulationScene/database/zzsjk.vue | 267 +++++++++++++++
10 files changed, 1033 insertions(+), 79 deletions(-)
create mode 100644 src/components/Common/Form/AntOriginSelect.vue
create mode 100644 src/components/Common/Form/AntOriginTreeSelect.vue
create mode 100644 src/components/Common/Form/defaultSettings.js
create mode 100644 src/views/simulationScene/database/zzsjk.vue
diff --git a/src/components/Common/Form/AntOriginSelect.vue b/src/components/Common/Form/AntOriginSelect.vue
new file mode 100644
index 0000000..ca90d38
--- /dev/null
+++ b/src/components/Common/Form/AntOriginSelect.vue
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
diff --git a/src/components/Common/Form/AntOriginTreeSelect.vue b/src/components/Common/Form/AntOriginTreeSelect.vue
new file mode 100644
index 0000000..a7af8d6
--- /dev/null
+++ b/src/components/Common/Form/AntOriginTreeSelect.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
diff --git a/src/components/Common/Form/defaultSettings.js b/src/components/Common/Form/defaultSettings.js
new file mode 100644
index 0000000..c1b958c
--- /dev/null
+++ b/src/components/Common/Form/defaultSettings.js
@@ -0,0 +1,10 @@
+export const defaultSelectConfig = {
+ allowClear: true,
+ showSearch: true,
+}
+
+export const defaultConfig = {
+ modal: { width: 900 },
+ layout: { span: 24, label: 6, input: 15 },
+ form: { layout: 'horizontal', labelAlign: 'right', colon: true },
+}
diff --git a/src/components/Common/register.js b/src/components/Common/register.js
index 706a8a7..344abd9 100644
--- a/src/components/Common/register.js
+++ b/src/components/Common/register.js
@@ -1,5 +1,8 @@
import ModuleWrapper from './Layout/ModuleWrapper.vue'
+import AntOriginSelect from './Form/AntOriginSelect.vue'
+import AntOriginTreeSelect from './Form/AntOriginTreeSelect.vue'
+
import GridBox from './Directives/GridBox'
import Flex from './Directives/Flex'
import Loading from './Directives/Loading'
@@ -10,6 +13,9 @@ export default {
install(Vue) {
Vue.component('ModuleWrapper', ModuleWrapper)
+ Vue.component('AntOriginSelect', AntOriginSelect)
+ Vue.component('AntOriginTreeSelect', AntOriginTreeSelect)
+
Vue.directive('grid-box', GridBox)
Vue.directive('flex', Flex)
Vue.directive('loading', Loading)
diff --git a/src/views/simulationScene/database/bzllsjk.vue b/src/views/simulationScene/database/bzllsjk.vue
index 94c47f2..b5625a8 100644
--- a/src/views/simulationScene/database/bzllsjk.vue
+++ b/src/views/simulationScene/database/bzllsjk.vue
@@ -1,9 +1,322 @@
- bzllsjk
+
+
+
+
+
+
+
+
+
+
+
+ 人员
+ 装备
+
+
+
+
+ 查询
+ 重置
+
+
+
+ 新建
+
+
+
+
+
+
+
+
+
+
+
+
+ this.handleClose()"
+ @ok="() => this.handleOk()"
+ switch-fullscreen
+ :fullscreen.sync="AEModal.fullscreen"
+ >
+
+
+
+ {{ item.customRender(AEModal.form[item.prop]) }}
+
+
+
+
+
+
diff --git a/src/views/simulationScene/database/fasjk.vue b/src/views/simulationScene/database/fasjk.vue
index 67c1d3a..5f4b456 100644
--- a/src/views/simulationScene/database/fasjk.vue
+++ b/src/views/simulationScene/database/fasjk.vue
@@ -102,17 +102,17 @@ export default {
width: 80,
},
{
- title: '分队',
+ title: '分队名称',
dataIndex: '0',
align: 'left',
},
{
- title: '方案类型',
+ title: '方案名称',
dataIndex: '1',
align: 'left',
},
{
- title: '方案目标',
+ title: '方案类型',
dataIndex: '2',
align: 'left',
ellipsis: true,
diff --git a/src/views/simulationScene/database/jcsjk.vue b/src/views/simulationScene/database/jcsjk.vue
index 5490025..370f6ec 100644
--- a/src/views/simulationScene/database/jcsjk.vue
+++ b/src/views/simulationScene/database/jcsjk.vue
@@ -102,45 +102,20 @@ export default {
width: 80,
},
{
- title: '分队',
+ title: '任务进程名称',
dataIndex: '0',
align: 'left',
},
- {
- title: '方案类型',
- dataIndex: '1',
- align: 'left',
- },
- {
- title: '方案目标',
- dataIndex: '2',
- align: 'left',
- ellipsis: true,
- },
{
title: '开始时间',
width: 160,
- dataIndex: '3',
+ dataIndex: '1',
align: 'center',
},
{
- title: '结束时间',
+ title: '失效时间',
width: 160,
- dataIndex: '4',
- align: 'center',
- },
- {
- title: '经度',
- width: 120,
- dataIndex: 'lat',
- customRender: (_, record, $index) => record[5].split(',')[0],
- align: 'center',
- },
- {
- title: '纬度',
- width: 120,
- dataIndex: 'lon',
- customRender: (_, record, $index) => record[5].split(',')[0],
+ dataIndex: '2',
align: 'center',
},
],
@@ -194,7 +169,7 @@ export default {
try {
this.loadingTable = true
const res = await this.$http({
- url: '/baseData/scenario/schemeList',
+ url: '/baseData/scenario/taskList',
method: 'get',
params: { ...parameter, ...this.queryParam },
})
diff --git a/src/views/simulationScene/database/xdsjk.vue b/src/views/simulationScene/database/xdsjk.vue
index 6430e3c..af6b117 100644
--- a/src/views/simulationScene/database/xdsjk.vue
+++ b/src/views/simulationScene/database/xdsjk.vue
@@ -200,7 +200,7 @@ export default {
method: 'post',
data: params,
})
- this.$message.success(this.AEModal.editStatus ? '编辑想定成功!' : '添加想定成功!')
+ this.$message.success(`${this.AEModal.title}成功`)
this.getList()
this.handleClose()
} catch (error) {
diff --git a/src/views/simulationScene/database/zzllsjk.vue b/src/views/simulationScene/database/zzllsjk.vue
index 97ba379..44fd2f3 100644
--- a/src/views/simulationScene/database/zzllsjk.vue
+++ b/src/views/simulationScene/database/zzllsjk.vue
@@ -9,18 +9,20 @@
-
+
人员
装备
-
查询
重置
+
+ 新建
+
@@ -63,12 +65,19 @@
-
-
+
+ {{ item.customRender(AEModal.form[item.prop]) }}
+
@@ -85,7 +94,7 @@ export default {
selectedKeys: [],
queryParam: { id: '', type: 'staff' },
- columns: [
+ staffColumns: [
{
title: '#',
dataIndex: 'index',
@@ -101,9 +110,33 @@ export default {
title: '岗位数量',
dataIndex: 'number',
},
+ // {
+ // title: '物资器材',
+ // dataIndex: 'material',
+ // },
{
- title: '物资器材',
- dataIndex: 'material',
+ title: '操作',
+ width: 140,
+ dataIndex: 'action',
+ align: 'center',
+ scopedSlots: { customRender: 'action' },
+ },
+ ],
+ weaponColumns: [
+ {
+ title: '#',
+ dataIndex: 'index',
+ customRender: (_, record, $index) => $index + 1,
+ align: 'center',
+ width: 80,
+ },
+ {
+ title: '装备名称',
+ dataIndex: 'name',
+ },
+ {
+ title: '装备数量',
+ dataIndex: 'number',
},
{
title: '操作',
@@ -123,18 +156,13 @@ export default {
fullscreen: false,
spinning: false,
form: {},
- formItems: [
- {
- label: '岗位名称',
- prop: 'name',
- },
- {
- label: '岗位数量',
- prop: 'number',
- },
- ],
- rules: {
- name: [{ required: true, message: '请输入岗位名称!', trigger: 'blur' }],
+ staffRules: {
+ typeId: [{ required: true, message: '请选择岗位!', trigger: 'change' }],
+ number: [{ required: true, message: '请输入岗位数量!', trigger: 'blur' }],
+ },
+ weaponRules: {
+ weaponId: [{ required: true, message: '请选择装备!', trigger: 'change' }],
+ number: [{ required: true, message: '请输入装备数量!', trigger: 'blur' }],
},
labelCol: { xs: { span: 24 }, sm: { span: 7 } },
wrapperCol: { xs: { span: 24 }, sm: { span: 13 } },
@@ -142,9 +170,64 @@ export default {
}
},
computed: {
+ columns() {
+ return this[`${this.queryParam.type}Columns`]
+ },
typeMapLabel() {
return { staff: '人员', weapon: '装备' }[this.queryParam.type]
},
+ formItems() {
+ const result = []
+ switch (this.queryParam.type) {
+ case 'staff':
+ result.push(
+ {
+ label: '岗位名称',
+ prop: 'typeId',
+ component: 'AntOriginSelect',
+ options: {
+ dataSource: () =>
+ this.$http({
+ url: '/unit/getAll',
+ method: 'get',
+ }),
+ labelKey: 'name',
+ readonly: this.AEModal.editStatus,
+ },
+ },
+ { label: '岗位数量', prop: 'number' }
+ // { label: '物资器材', prop: 'material' }
+ )
+ break
+ case 'weapon':
+ result.push(
+ this.AEModal.editStatus
+ ? {
+ label: '装备名称',
+ prop: 'name',
+ customRender: (v) => v,
+ }
+ : {
+ label: '装备名称',
+ prop: 'weaponId',
+ component: 'AntOriginTreeSelect',
+ options: {
+ dataSource: () =>
+ this.$http({
+ url: '/tree/armament',
+ method: 'get',
+ }),
+ readonly: this.AEModal.editStatus,
+ },
+ },
+ { label: '装备数量', prop: 'number' }
+ )
+ break
+ default:
+ break
+ }
+ return result
+ },
},
mounted() {
this.getZzTree()
@@ -155,7 +238,7 @@ export default {
const res = await this.$http({
url: `/tree/organization`,
method: 'get',
- params: { unitype: 1 },
+ params: { unittype: 1 },
})
this.zzTree = res.data
this.selectedKeys = [this.zzTree[0].key]
@@ -164,27 +247,6 @@ export default {
console.log(error)
}
},
- handleChangeType(e) {
- switch (e.target.value) {
- case 'staff':
- this.columns[1].title = '岗位'
- this.columns[2].title = '岗位数量'
- this.columns[3].title = '物资器材'
- this.columns[3].dataIndex = 'material'
- this.AEModal.formItems[0].label = '岗位名称'
- this.AEModal.formItems[1].label = '岗位数量'
- break
- case 'weapon':
- this.columns[1].title = '装备名称'
- this.columns[2].title = '装备数量'
- this.columns[3].title = '装备类型'
- this.columns[3].dataIndex = 'type'
- this.AEModal.formItems[0].label = '装备名称'
- this.AEModal.formItems[1].label = '装备数量'
- break
- }
- this.getList()
- },
resetList() {
this.getList()
},
@@ -203,7 +265,7 @@ export default {
}
},
handleAdd() {
- this.AEModal.form = {}
+ this.AEModal.form = { parentId: this.selectedKeys[0] }
this.AEModal.title = `添加${this.typeMapLabel}`
this.AEModal.editStatus = false
this.AEModal.visible = true
diff --git a/src/views/simulationScene/database/zzsjk.vue b/src/views/simulationScene/database/zzsjk.vue
new file mode 100644
index 0000000..c7234b5
--- /dev/null
+++ b/src/views/simulationScene/database/zzsjk.vue
@@ -0,0 +1,267 @@
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+ 新建
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ this.handleClose()"
+ @ok="() => this.handleOk()"
+ switch-fullscreen
+ :fullscreen.sync="AEModal.fullscreen"
+ >
+
+
+
+ {{ item.customRender(AEModal.form[item.prop]) }}
+
+
+
+
+
+
+
+
+
+
+