From 024cb1e56bf3e54337bd07d9beccfa6550b26368 Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 11:04:40 +0800
Subject: [PATCH 01/13] =?UTF-8?q?feat:=20=E6=88=98=E6=9C=AF=E7=A0=94?=
=?UTF-8?q?=E5=88=A4,=E6=88=98=E7=95=A5=E7=A0=94=E5=88=A4=20=E4=BD=8D?=
=?UTF-8?q?=E7=BD=AE=E6=8C=AA=E5=8A=A8=E5=88=B0=E5=85=B6=E4=BB=96=E9=87=8C?=
=?UTF-8?q?=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/index.js | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/src/router/index.js b/src/router/index.js
index 87ecc0f..fed905d 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -667,25 +667,7 @@ export const publicRoutes = [
icon: "article"
}
},
- {
- path: "/ResearchHome",
- name: "ResearchHome",
- component: () => import("@/views/backOfficeSystem/JudgmentHome/ResearchHome/index"),
- meta: {
- title: "战术研判",
- icon: "article"
- }
- },
- {
- path: "/situationHome",
- name: "situationHome",
- component: () => import("@/views/backOfficeSystem/JudgmentHome/situationHome/index"),
- meta: {
- title: "战略研判",
- icon: "article"
- }
- },
// {
// path: "/analysisReport",
// name: "AnalysisReport",
@@ -843,6 +825,25 @@ export const publicRoutes = [
component: () => import("@/views/backOfficeSystem/HumanIntelligence/CollectCrculate/index"),
meta: { title: "信息采集", icon: "article" },
},
+ {
+ path: "/ResearchHome",
+ name: "ResearchHome",
+ component: () => import("@/views/backOfficeSystem/JudgmentHome/ResearchHome/index"),
+ meta: {
+ title: "战术研判",
+ icon: "article"
+ }
+ },
+
+ {
+ path: "/situationHome",
+ name: "situationHome",
+ component: () => import("@/views/backOfficeSystem/JudgmentHome/situationHome/index"),
+ meta: {
+ title: "战略研判",
+ icon: "article"
+ }
+ },
]
},
]
From 911cc73db824fbfd369419332d8f7eaa32e948ba Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 16:17:17 +0800
Subject: [PATCH 02/13] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E4=B8=8B?=
=?UTF-8?q?=E8=BD=BD=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/MyComponents/Upload/index.vue | 23 +++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/components/MyComponents/Upload/index.vue b/src/components/MyComponents/Upload/index.vue
index 28e3d61..8ced42e 100644
--- a/src/components/MyComponents/Upload/index.vue
+++ b/src/components/MyComponents/Upload/index.vue
@@ -200,9 +200,30 @@ const handlePictureCardPreview = (file) => {
dialogImageUrl.value = file.url || '';
dialogVisible.value = true;
};
+function downloadFile(url, filename) {
+ fetch(url)
+ .then((response) => response.blob())
+ .then((blob) => {
+ const link = document.createElement("a");
+ link.href = URL.createObjectURL(blob);
+ link.download = filename;
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ URL.revokeObjectURL(link.href);
+ })
+ .catch((error) => console.error("下载失败:", error));
+}
const handleDownload = (file) => {
- window.open(file.response.data);
+ if (file?.response?.data) {
+ window.open(file.response.data);
+ } else if (file?.url) {
+ downloadFile(file.url, file.name);
+ }
};
+// const handleDownload = (file) => {
+// window.open(file.response.data);
+// };
// 删除文件 触发父组件更新
const beforeRemove = (file) => {
From e8520e5c51f827ba3fd0edd635ee9a232159c30b Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 16:41:30 +0800
Subject: [PATCH 03/13] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=B8=80?=
=?UTF-8?q?=E6=AC=A1=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AAtable?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../JudgmentHome/dataReduction/addForm.vue | 162 ++++++++++++++++--
1 file changed, 148 insertions(+), 14 deletions(-)
diff --git a/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
index 401fa3a..ab9e818 100644
--- a/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
@@ -8,7 +8,41 @@
@@ -18,8 +52,10 @@
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import UploadFile from "@/components/MyComponents/Upload/index.vue";
// import ChooseUser from "@/components/ChooseList/ChooseUser/index.vue"
-import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, watch } from "vue";
-import { sjzlAddEntity, sjzlEditEntity, sjzlGetInfo } from '@//api/yj.js'
+import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, watch, computed } from "vue";
+import { sjzlAddEntity, sjzlEditEntity, sjzlGetInfo, sjzlPerfectlnfo } from '@//api/yj.js'
+import { getItem } from '@//utils/storage.js'
+
const emit = defineEmits(["updateDate", "getList"]);
const props = defineProps({
dict: Object
@@ -30,11 +66,23 @@ const dialogForm = ref(false); //弹窗
const formData = ref([
]);
+const { deptBizType, deptLevel, deptCode } = getItem('deptId')[0]
+/** 登录人 */
+const sfzh = getItem('idEntityCard')
+/** 是否市情报指挥中心 */
+const isShiQingBaoZhongXin = computed(() => {
+
+ const Jb = deptLevel[0] == '2' ? '01' : deptLevel[0] == '3' ? '02' : '03'
+ return deptBizType == '23' && Jb == '01'
+})
const listQuery = ref({}); //表单
const loading = ref(false);
const elform = ref();
const title = ref("");
+const tableList = ref([])
+// const detailObj = ref({})
const rules = reactive({
+ // 可以在这里添加表单验证规则
});
watch(() => props.dict, (val) => {
if (val) {
@@ -45,9 +93,45 @@ watch(() => props.dict, (val) => {
{ label: "研判方式", prop: "ypfs", type: "radio", options: props.dict.D_BZ_YPFS, width: '48%' },
{ label: "参与研判部门", prop: "jsdxBmDm", type: "department", multiple: true, depMc: 'jsdxBmMc', width: '48%' },
{ label: "研判要求", prop: "ypyq", type: "textarea", width: '100%' },
+ { label: "列表", prop: "bmList", type: "slot", width: '100%' },
]
}
})
+function getFjArr(fj) {
+ if (typeof fj !== 'string' || !fj) return []
+ let fjArr = []
+ try {
+ fjArr = JSON.parse(fj)
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ return fjArr
+}
+watch(() => listQuery.value.jsdxBmDm, (val) => {
+ /** @type {Array<{ypbmdm: string, ypbmmc: string, scyq: string, fj: Array, wcqk: string}>} 参与研判部门数据数组 */
+ const arr = Array.isArray(val) ? val : []
+ const cyypList = Array.isArray(listQuery.value.cyypList) ? listQuery.value.cyypList : []
+
+ tableList.value = arr.map((item, i) => {
+ /** 找原来的对象 */
+ const curr = cyypList.find(item2 => item2.ypbmdm == item) || {}
+ /** 是否是新增 */
+ const isAddForm = !listQuery.value.id
+ return {
+ // id: null,
+ // sjzlid: null, // 研判数据整理ID
+ /** 部门代码 */
+ ypbmdm: item,
+ ypbmmc: listQuery.value.jsdxBmMc[i],
+ /** 素材要求 */
+ scyq: isAddForm ? '' : curr.scyq,
+ fj: isAddForm ? [] : getFjArr(curr.fj),
+ /** 完成情况(01 准备中、02 已完成)*/
+ wcqk: isAddForm ? '01' : curr.wcqk || '01'
+ }
+ })
+})
+
// 初始化数据
const init = (type, row, wjlb) => {
dialogForm.value = true;
@@ -57,28 +141,56 @@ const init = (type, row, wjlb) => {
// 根据id查询详情
const getDataById = (id) => {
sjzlGetInfo(id).then((res) => {
- listQuery.value = res;
- listQuery.value.jsdxBmDm = res.cyypList.map(item => {
+ listQuery.value = res || {};
+ const cyypList = Array.isArray(res.cyypList) ? res.cyypList : []
+ listQuery.value.jsdxBmDm = cyypList.map(item => {
return item.ypbmdm
})
- listQuery.value.jsdxBmMc = res.cyypList.map(item => {
+ listQuery.value.jsdxBmMc = cyypList.map(item => {
return item.ypbmmc
})
});
};
+function getFjString(arr) {
+ arr = Array.isArray(arr) ? arr : []
+ return JSON.stringify(arr)
+}
+/**获取下发部门数据 */
+const getXfbmList = () => {
+ const cyypList = Array.isArray(listQuery.value.cyypList) ? listQuery.value.cyypList : []
+ return tableList.value.map((item, i) => {
+
+ /** 找原来的对象 */
+ const curr = cyypList.find(item => item.ypbmdm == item.ypbmdm) || {}
+ return {
+ id: curr.id || null,
+ sjzlid: curr.sjzlid || null, // 研判数据整理ID
+ ypbmdm: item.ypbmdm,
+ ypbmmc: listQuery.value.jsdxBmMc[i],
+ /** 素材要求 */
+ scyq: item.scyq,
+ fj: getFjString(item.fj),
+ /** 完成情况(01 准备中、02 已完成)*/
+ wcqk: item.wcqk
+ }
+
+ })
+}
// 提交
const submit = () => {
elform.value.submit(async (data) => {
+ const xfbmList = getXfbmList()
let params = {
...listQuery.value,
- cyypList: listQuery.value.jsdxBmDm.map((item, index) => {
- return {
- ypbmdm: item,
- ypbmmc: listQuery.value.jsdxBmMc[index],
- ypcylx: '01'
- }
- })
+ cyypList: xfbmList,
+ // cyypList: listQuery.value.jsdxBmDm.map((item, index) => {
+ // return {
+ // ypbmdm: item,
+ // ypbmmc: listQuery.value.jsdxBmMc[index],
+ // ypcylx: '01'
+ // }
+ // })
};
try {
loading.value = true;
@@ -97,7 +209,7 @@ const submit = () => {
loading.value = false;
} catch (error) {
- console.log(error);
+
loading.value = false;
}
});
@@ -110,6 +222,28 @@ const submit = () => {
// userList.value = val
// listQuery.value.jsrxm = val.map(item => item.userName).join(',')
// }
+// 修改状态
+const updateStatus = (row) => {
+ proxy.$confirm('确认修改状态?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ // 调用xx接口,这里需要根据实际接口调整
+ // 例如:updateStatusApi(row.id).then(...)
+ if (row.wcqk == '01') {
+ row.wcqk = '02'
+ } else {
+ row.wcqk = '01'
+ }
+ proxy.$message({
+ type: 'success',
+ message: '修改成功'
+ });
+ // 更新本地状态
+ })
+};
+
// 关闭
const close = () => {
listQuery.value = {};
From 6bfc6d4e94d6a5d8624cea21123ab3a94e7c14b8 Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 17:07:13 +0800
Subject: [PATCH 04/13] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E7=8A=B6?=
=?UTF-8?q?=E6=80=81=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../JudgmentHome/dataReduction/addForm.vue | 101 +++++++++++++-----
.../JudgmentHome/dataReduction/index.vue | 8 +-
2 files changed, 83 insertions(+), 26 deletions(-)
diff --git a/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
index ab9e818..1c21ac5 100644
--- a/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
@@ -33,8 +33,7 @@
-
+
修改状态
@@ -45,7 +44,24 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue
new file mode 100644
index 0000000..c6dd75f
--- /dev/null
+++ b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/components/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/components/addForm.vue
new file mode 100644
index 0000000..db87acc
--- /dev/null
+++ b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/components/addForm.vue
@@ -0,0 +1,208 @@
+
+
+
+
战术研判管理{{ title }}
+
+ 保存
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue
new file mode 100644
index 0000000..26fce51
--- /dev/null
+++ b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 391c30ac5be8b8c6e822a72e238b995afb7e1df4 Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 19:09:23 +0800
Subject: [PATCH 08/13] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4=E7=B4=A0=E6=9D=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../JudgmentHome/dataReduction/addForm.vue | 70 ++++++++++++++++++-
1 file changed, 68 insertions(+), 2 deletions(-)
diff --git a/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
index a8b850c..38571e0 100644
--- a/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/dataReduction/addForm.vue
@@ -31,11 +31,14 @@
-
+
修改状态
+
+ 提交素材
+
@@ -67,6 +70,24 @@
+
+
+
+
+
diff --git a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/components/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/components/addForm.vue
deleted file mode 100644
index db87acc..0000000
--- a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/components/addForm.vue
+++ /dev/null
@@ -1,208 +0,0 @@
-
-
-
-
战术研判管理{{ title }}
-
- 保存
- 关闭
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue
index 26fce51..dac0bb7 100644
--- a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue
@@ -2,12 +2,13 @@
@@ -17,15 +18,18 @@
-
-
+ :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
+
+
+
+
+
- 编辑
- 删除
+ 修改
+ 详情
+ 删除
-
-
+
+
+
\ No newline at end of file
+
+:v-deep .el-dialog {
+ width: 90% !important;
+}
+
+.zdy-model-dialogs {
+ /* background-color: rgb(50, 148, 214); */
+ background: url("~@/assets/images/bg46.png") no-repeat center center;
+ background-size: 100% 100%;
+ padding: 8px 10px;
+ box-sizing: border-box;
+ pointer-events: auto !important;
+ height: calc(100% - 50px);
+ overflow: auto;
+}
+
From 95476485bf3dd13bc79faf8114d0c55f785db801 Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 19:24:20 +0800
Subject: [PATCH 10/13] =?UTF-8?q?feat:=E6=88=98=E7=95=A5=E7=A0=94=E5=88=A4?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../strategicResearch/addForm.vue | 449 ++++++++++++++++++
.../strategicResearch/components/addForm.vue | 208 --------
.../JudgmentHome/strategicResearch/index.vue | 200 ++++----
3 files changed, 564 insertions(+), 293 deletions(-)
create mode 100644 src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue
delete mode 100644 src/views/backOfficeSystem/JudgmentHome/strategicResearch/components/addForm.vue
diff --git a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue
new file mode 100644
index 0000000..38571e0
--- /dev/null
+++ b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue
@@ -0,0 +1,449 @@
+
+
+
+
数据整理{{ title }}
+
+ 保存
+ 关闭
+
+
+
+
+
+ 下发通知
+ 确认研判
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/components/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/components/addForm.vue
deleted file mode 100644
index 5ff9076..0000000
--- a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/components/addForm.vue
+++ /dev/null
@@ -1,208 +0,0 @@
-
-
-
-
战略研判管理{{ title }}
-
- 保存
- 关闭
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue
index c6dd75f..851dd9d 100644
--- a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue
@@ -2,12 +2,13 @@
@@ -17,15 +18,18 @@
-
-
+ :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
+
+
+
+
+
- 编辑
- 删除
+ 修改
+ 详情
+ 删除
-
-
+
+
+
\ No newline at end of file
+
+:v-deep .el-dialog {
+ width: 90% !important;
+}
+
+.zdy-model-dialogs {
+ /* background-color: rgb(50, 148, 214); */
+ background: url("~@/assets/images/bg46.png") no-repeat center center;
+ background-size: 100% 100%;
+ padding: 8px 10px;
+ box-sizing: border-box;
+ pointer-events: auto !important;
+ height: calc(100% - 50px);
+ overflow: auto;
+}
+
From b9396bb37f067483ea1704e2ce99703754e7233f Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 19:47:07 +0800
Subject: [PATCH 11/13] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E7=A0=94?=
=?UTF-8?q?=E5=88=A4=E6=8C=87=E4=BB=A4=E5=A4=87=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/{ => huiShangyp}/strategicApi.js | 0
src/api/huiShangyp/tacticalApi.js | 150 ++++++++
src/api/tacticalApi.js | 62 ----
src/router/index.js | 11 +-
.../JudgmentHome/judgmentCommand/addForm.vue | 330 ++++++++++++++++++
.../JudgmentHome/judgmentCommand/index.vue | 200 +++++++++++
.../strategicResearch/addForm.vue | 6 +-
.../JudgmentHome/tacticalResearch/addForm.vue | 6 +-
8 files changed, 696 insertions(+), 69 deletions(-)
rename src/api/{ => huiShangyp}/strategicApi.js (100%)
create mode 100644 src/api/huiShangyp/tacticalApi.js
delete mode 100644 src/api/tacticalApi.js
create mode 100644 src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue
create mode 100644 src/views/backOfficeSystem/JudgmentHome/judgmentCommand/index.vue
diff --git a/src/api/strategicApi.js b/src/api/huiShangyp/strategicApi.js
similarity index 100%
rename from src/api/strategicApi.js
rename to src/api/huiShangyp/strategicApi.js
diff --git a/src/api/huiShangyp/tacticalApi.js b/src/api/huiShangyp/tacticalApi.js
new file mode 100644
index 0000000..76825c9
--- /dev/null
+++ b/src/api/huiShangyp/tacticalApi.js
@@ -0,0 +1,150 @@
+import request from "@/utils/request";
+const api = "/mosty-api/mosty-gsxt";
+
+/**
+ * 战术研判-分页查询
+ * @param {Object} params 查询参数
+ * @param {number} [params.pageSize] 每页显示数量
+ * @param {number} [params.pageCurrent] 页码
+ * @param {string} [params.startTime] 开始时间
+ * @param {string} [params.endTime] 结束时间
+ * @param {string} [params.timeField] 时间范围查询字段
+ * @param {string} [params.sort] 排序字段
+ * @param {string} [params.order] 排序方式
+ * @param {string} [params.ypyt] 研判议题
+ * @param {string} [params.yppyq] 研判要求
+ * @param {string} [params.ypfs] 研判方式(01 线上、02 线下、03 自建)
+ * @param {string} [params.bglx] 报告类型(01 战术研判 02 战略研判)查询研判列表必传
+ * @param {string} [params.ssbmdm] 所属部门代码
+ * @returns {Promise} 请求Promise对象
+ */
+export const tacticalGet = (params) => {
+ return request({
+ url: api + `/ypbg/sjzl/getPageYpList`,
+ method: "get",
+ params
+ })
+}
+
+// 战术研判-新增
+export const tacticalPost = (data, url) => {
+ return request({
+ url: api,
+ method: "post",
+ data
+ })
+}
+
+// 战术研判-删除
+export const tacticalDelete = (data, url) => {
+ return request({
+ url: api,
+ method: "delete",
+ data
+ })
+}
+
+// 战术研判-根据ID查询详情
+export const tacticalGetInfo = (id) => {
+ return request({
+ url: api + `/tactical/${id}`,
+ method: "get"
+ })
+}
+
+// 战术研判-编辑
+export const tacticalPut = (data, url) => {
+ return request({
+ url: api,
+ method: "put",
+ data
+ })
+}
+
+
+/**
+ * 开始研判
+ * @param {string|number} id 研判ID
+ * @returns {Promise} 请求Promise对象
+ */
+export const startJudgment = (id) => {
+ return request({
+ url: api + `/ypbg/sjzl/ksyp/${id}`,
+ method: "post"
+ })
+}
+
+/**
+ * 结束研判
+ * @param {string|number} id 研判ID
+ * @returns {Promise} 请求Promise对象
+ */
+export const endJudgment = (id) => {
+ return request({
+ url: api + `/ypbg/sjzl/jsyp/${id}`,
+ method: "post"
+ })
+}
+
+/**
+ * 自建研判报告
+ * @param {Object} data 自建研判数据
+ * @returns {Promise} 请求Promise对象
+ */
+export const selfBuildJudgment = (data) => {
+ return request({
+ url: api + `/ypbg/sjzl/selfBuild`,
+ method: "post",
+ data
+ })
+}
+// =================== 指令 ====================
+/**
+ * 研判指令列表
+ * @param {Object} params 查询参数
+ * @param {number} [params.pageSize] 每页显示数量
+ * @param {number} [params.pageCurrent] 页码
+ * @param {string} [params.zlbt] 指令标题
+ * @param {string} [params.zlnr] 指令内容
+ * @param {string} [params.fqrxm] 发起人姓名
+ * @returns {Promise} 请求Promise对象
+ */
+export const getJudgmentCommandList = (params) => {
+ return request({
+ url: api + `/ypbg/zlxx/getPageList`,
+ method: "get",
+ params
+ })
+}
+
+/**
+ * 指令签收
+ * @param {Object} data 签收数据
+ * @param {string|number} data.zlid 指令ID(签收必传)
+ * @param {string} [data.bglx] 报告类型:01 战术报告 02 战略报告
+ * @param {string} [data.ypid] 研判业务ID(研判报告ID)
+ * @returns {Promise} 请求Promise对象
+ */
+export const signCommand = (data) => {
+ return request({
+ url: api + `/ypbg/zlxx/zlqs`,
+ method: "post",
+ data
+ })
+}
+
+/**
+ * 指令反馈
+ * @param {Object} data 反馈数据
+ * @param {string|number} data.zlid 指令ID(反馈必传)
+ * @param {string} data.bglx 报告类型:01 战术报告 02 战略报告(反馈必传)
+ * @param {string} data.ypid 研判业务ID(研判报告ID)(反馈必传)
+ * @returns {Promise} 请求Promise对象
+ */
+export const feedbackCommand = (data) => {
+ return request({
+ url: api + `/ypbg/zlxx/zlfk`,
+ method: "post",
+ data
+ })
+}
diff --git a/src/api/tacticalApi.js b/src/api/tacticalApi.js
deleted file mode 100644
index 0378a11..0000000
--- a/src/api/tacticalApi.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import request from "@/utils/request";
-const api = "/mosty-api/mosty-gsxt";
-
-/**
- * 战术研判-分页查询
- * @param {Object} params 查询参数
- * @param {number} [params.pageSize] 每页显示数量
- * @param {number} [params.pageCurrent] 页码
- * @param {string} [params.startTime] 开始时间
- * @param {string} [params.endTime] 结束时间
- * @param {string} [params.timeField] 时间范围查询字段
- * @param {string} [params.sort] 排序字段
- * @param {string} [params.order] 排序方式
- * @param {string} [params.ypyt] 研判议题
- * @param {string} [params.yppyq] 研判要求
- * @param {string} [params.ypfs] 研判方式(01 线上、02 线下、03 自建)
- * @param {string} [params.bglx] 报告类型(01 战术研判 02 战略研判)查询研判列表必传
- * @param {string} [params.ssbmdm] 所属部门代码
- * @returns {Promise} 请求Promise对象
- */
-export const tacticalGet = (params) => {
- return request({
- url: api + `/ypbg/sjzl/getPageYpList`,
- method: "get",
- params
- })
-}
-
-// 战术研判-新增
-export const tacticalPost = (data, url) => {
- return request({
- url: api,
- method: "post",
- data
- })
-}
-
-// 战术研判-删除
-export const tacticalDelete = (data, url) => {
- return request({
- url: api,
- method: "delete",
- data
- })
-}
-
-// 战术研判-根据ID查询详情
-export const tacticalGetInfo = (id) => {
- return request({
- url: api + `/tactical/${id}`,
- method: "get"
- })
-}
-
-// 战术研判-编辑
-export const tacticalPut = (data, url) => {
- return request({
- url: api,
- method: "put",
- data
- })
-}
diff --git a/src/router/index.js b/src/router/index.js
index 0acce2d..db82798 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -679,12 +679,21 @@ export const publicRoutes = [
{
path: "/strategicResearch",
name: "strategicResearch",
- component: () => import("@/views/backOfficeSystem/JudgmentHome/strategicResearch/index"),
+ component: () => import("@/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue"),
meta: {
title: "战略研判",
icon: "article"
}
},
+ {
+ path: "/judgmentCommand",
+ name: "judgmentCommand",
+ component: () => import("@/views/backOfficeSystem/JudgmentHome/judgmentCommand/index.vue"),
+ meta: {
+ title: "研判指令",
+ icon: "article"
+ }
+ },
// {
// path: "/analysisReport",
diff --git a/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue
new file mode 100644
index 0000000..8a0bdfe
--- /dev/null
+++ b/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue
@@ -0,0 +1,330 @@
+
+
+
+
研判指令{{ title }}
+
+ 保存
+ 关闭
+
+
+
+
+
+ 开始研判
+ 结束研判
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/index.vue b/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/index.vue
new file mode 100644
index 0000000..69dfdb6
--- /dev/null
+++ b/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/index.vue
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 详情
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue
index 38571e0..1e9a0ab 100644
--- a/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/strategicResearch/addForm.vue
@@ -1,7 +1,7 @@
-
数据整理{{ title }}
+
战略研判{{ title }}
保存
关闭
@@ -186,7 +186,7 @@ watch(() => listQuery.value.jsdxBmDm, (val) => {
const isAddForm = !listQuery.value.id
return {
// id: null,
- // sjzlid: null, // 研判数据整理ID
+ // sjzlid: null, // 研判战略研判ID
/** 部门代码 */
ypbmdm: item,
ypbmmc: listQuery.value.jsdxBmMc[i],
@@ -232,7 +232,7 @@ const getXfbmList = () => {
const curr = cyypList.find(item => item.ypbmdm == item.ypbmdm) || {}
return {
id: curr.id || null,
- sjzlid: curr.sjzlid || null, // 研判数据整理ID
+ sjzlid: curr.sjzlid || null, // 研判战略研判ID
ypbmdm: item.ypbmdm,
ypbmmc: listQuery.value.jsdxBmMc[i],
/** 素材要求 */
diff --git a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/addForm.vue
index 38571e0..e34b2e6 100644
--- a/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/addForm.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/tacticalResearch/addForm.vue
@@ -1,7 +1,7 @@
-
数据整理{{ title }}
+
战术研判{{ title }}
保存
关闭
@@ -186,7 +186,7 @@ watch(() => listQuery.value.jsdxBmDm, (val) => {
const isAddForm = !listQuery.value.id
return {
// id: null,
- // sjzlid: null, // 研判数据整理ID
+ // sjzlid: null, // 研判战术研判ID
/** 部门代码 */
ypbmdm: item,
ypbmmc: listQuery.value.jsdxBmMc[i],
@@ -232,7 +232,7 @@ const getXfbmList = () => {
const curr = cyypList.find(item => item.ypbmdm == item.ypbmdm) || {}
return {
id: curr.id || null,
- sjzlid: curr.sjzlid || null, // 研判数据整理ID
+ sjzlid: curr.sjzlid || null, // 研判战术研判ID
ypbmdm: item.ypbmdm,
ypbmmc: listQuery.value.jsdxBmMc[i],
/** 素材要求 */
From 22a838124773ddffcde14d0b974afb1d5764d677 Mon Sep 17 00:00:00 2001
From: huangchengfa <171504222@qq.com>
Date: Wed, 10 Dec 2025 20:08:10 +0800
Subject: [PATCH 12/13] =?UTF-8?q?feat:=20=E5=85=88=E6=9B=B4=E6=96=B0?=
=?UTF-8?q?=E4=B8=80=E6=AC=A1=E7=A0=94=E5=88=A4=E6=8C=87=E4=BB=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/huiShangyp/judgmentCommand.js | 54 +++++++++++++
.../JudgmentHome/judgmentCommand/addForm.vue | 75 ++++---------------
.../JudgmentHome/judgmentCommand/index.vue | 12 +--
3 files changed, 71 insertions(+), 70 deletions(-)
create mode 100644 src/api/huiShangyp/judgmentCommand.js
diff --git a/src/api/huiShangyp/judgmentCommand.js b/src/api/huiShangyp/judgmentCommand.js
new file mode 100644
index 0000000..d4b632e
--- /dev/null
+++ b/src/api/huiShangyp/judgmentCommand.js
@@ -0,0 +1,54 @@
+import request from "@/utils/request";
+const api = "/mosty-api/mosty-gsxt";
+
+
+// =================== 指令 ====================
+/**
+ * 研判指令列表
+ * @param {Object} params 查询参数
+ * @param {number} [params.pageSize] 每页显示数量
+ * @param {number} [params.pageCurrent] 页码
+ * @param {string} [params.zlbt] 指令标题
+ * @param {string} [params.zlnr] 指令内容
+ * @param {string} [params.fqrxm] 发起人姓名
+ * @returns {Promise} 请求Promise对象
+ */
+export const getJudgmentCommandList = (params) => {
+ return request({
+ url: api + `/ypbg/zlxx/getPageList`,
+ method: "get",
+ params
+ })
+}
+
+/**
+ * 指令签收
+ * @param {Object} data 签收数据
+ * @param {string|number} data.zlid 指令ID(签收必传)
+ * @param {string} [data.bglx] 报告类型:01 战术报告 02 战略报告
+ * @param {string} [data.ypid] 研判业务ID(研判报告ID)
+ * @returns {Promise} 请求Promise对象
+ */
+export const signCommand = (data) => {
+ return request({
+ url: api + `/ypbg/zlxx/zlqs`,
+ method: "post",
+ data
+ })
+}
+
+/**
+ * 指令反馈
+ * @param {Object} data 反馈数据
+ * @param {string|number} data.zlid 指令ID(反馈必传)
+ * @param {string} data.bglx 报告类型:01 战术报告 02 战略报告(反馈必传)
+ * @param {string} data.ypid 研判业务ID(研判报告ID)(反馈必传)
+ * @returns {Promise} 请求Promise对象
+ */
+export const feedbackCommand = (data) => {
+ return request({
+ url: api + `/ypbg/zlxx/zlfk`,
+ method: "post",
+ data
+ })
+}
diff --git a/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue b/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue
index 8a0bdfe..10fa57f 100644
--- a/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue
+++ b/src/views/backOfficeSystem/JudgmentHome/judgmentCommand/addForm.vue
@@ -46,19 +46,15 @@
-
-
- 开始研判
- 结束研判
-
+