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 @@ 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 @@ + + + + +