From afc498fdbec28979ab87be1fb8de7ea259885470 Mon Sep 17 00:00:00 2001
From: yangjun <1173114630@qq.com>
Date: Thu, 12 Feb 2026 13:26:12 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/admin/workorder/WorkOrder.api.ts | 26 +-
src/views/admin/workorder/WorkOrderList.vue | 35 +-
.../workorder/components/DataSourceForm.vue | 316 ++++++++++++++++++
.../workorder/components/DataSourceModal.vue | 87 +++++
.../workorder/components/WorkOrderFankui.vue | 40 ++-
.../datasource/GdglDataSourceModal.vue | 119 +++++++
6 files changed, 601 insertions(+), 22 deletions(-)
create mode 100644 src/views/admin/workorder/components/DataSourceForm.vue
create mode 100644 src/views/admin/workorder/components/DataSourceModal.vue
create mode 100644 src/views/monitor/datasource/GdglDataSourceModal.vue
diff --git a/src/views/admin/workorder/WorkOrder.api.ts b/src/views/admin/workorder/WorkOrder.api.ts
index 54b257c..332ff31 100644
--- a/src/views/admin/workorder/WorkOrder.api.ts
+++ b/src/views/admin/workorder/WorkOrder.api.ts
@@ -6,11 +6,14 @@ const { createConfirm } = useMessage();
enum Api {
list = '/workorder/workOrder/list',
save='/workorder/workOrder/add',
+ saveSjygl='/sys/dataSource/add',
edit='/workorder/workOrder/edit',
+ updateMqById='/workorder/workOrder/updateMqById',
deleteOne = '/workorder/workOrder/delete',
deleteBatch = '/workorder/workOrder/deleteBatch',
importExcel = '/workorder/workOrder/importExcel',
exportXls = '/workorder/workOrder/exportXls',
+ testConnection = '/online/cgreport/api/testConnection',
}
/**
@@ -78,4 +81,25 @@ export const saveOrUpdate = (params, isUpdate) => {
*/
export const edit = (params) => {
return defHttp.post({ url: Api.edit, params }, { isTransformResponse: false });
-}
\ No newline at end of file
+}
+export const updateMqById = (params) => {
+ return defHttp.post({ url: Api.updateMqById, params }, { isTransformResponse: false });
+}
+/**
+ * 保存数据源信息
+ * @param params
+ */
+export const saveSjygl = (params) => {
+ return defHttp.post({ url: Api.saveSjygl, params }, { isTransformResponse: false });
+}
+
+
+
+
+/**
+ * 测试连接
+ * @param params
+ */
+export const testConnection = (params) => {
+ return defHttp.post({ url: Api.testConnection, params });
+};
\ No newline at end of file
diff --git a/src/views/admin/workorder/WorkOrderList.vue b/src/views/admin/workorder/WorkOrderList.vue
index 3162887..b9495cb 100644
--- a/src/views/admin/workorder/WorkOrderList.vue
+++ b/src/views/admin/workorder/WorkOrderList.vue
@@ -66,6 +66,9 @@
+
+
+
@@ -81,8 +84,13 @@ import { useUserStore } from '/@/store/modules/user';
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
import { useMessage } from '/@/hooks/web/useMessage';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
+import GdglDataSourceModal from './components/DataSourceModal.vue';
+import {useDrawer} from "@/components/Drawer";
+
+
const formRef = ref();
+const registerDrawer = ref();
const queryParam = reactive({});
const toggleSearchStatus = ref(false);
const registerModal = ref();
@@ -129,21 +137,13 @@ function handleSuperQuery(params) {
});
searchQuery();
}
-
/**
- * 新增事件
+ * 数据源管理
*/
-function handleAdd() {
- registerModal.value.disableSubmit = false;
- registerModal.value.add();
-}
-
-/**
- * 编辑事件
- */
-function handleEdit(record: Recordable) {
- registerModal.value.disableSubmit = false;
- registerModal.value.edit(record);
+function handleSjygl(record){
+ console.log("🚀 ~ handleSjygl ~ record:", record)
+ registerDrawer.value.add(record);
+ registerDrawer.value.disableSubmit = false;
}
/**
@@ -182,10 +182,15 @@ function getTableAction(record) {
label: '机构详情',
onClick: handleOrgDetail.bind(null, record)
},
+ {
+ label: '数据源管理',
+ onClick: handleSjygl.bind(null, record),
+ ifShow: record.status == '0'
+ },
{
label: '反馈',
onClick: handleQueren.bind(null, record),
- ifShow: record.status == '0'
+ ifShow: record.status == '1'
},
];
}
@@ -194,6 +199,8 @@ function getTableAction(record) {
* 接收
*/
function handleQueren(record) {
+ record.accountNo = record.orgTel;
+ record.passwordText = "123456";
registerModal.value.disableSubmit = false;
registerModal.value.orgFankui(record);
}
diff --git a/src/views/admin/workorder/components/DataSourceForm.vue b/src/views/admin/workorder/components/DataSourceForm.vue
new file mode 100644
index 0000000..7511d43
--- /dev/null
+++ b/src/views/admin/workorder/components/DataSourceForm.vue
@@ -0,0 +1,316 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/admin/workorder/components/DataSourceModal.vue b/src/views/admin/workorder/components/DataSourceModal.vue
new file mode 100644
index 0000000..3393087
--- /dev/null
+++ b/src/views/admin/workorder/components/DataSourceModal.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
diff --git a/src/views/admin/workorder/components/WorkOrderFankui.vue b/src/views/admin/workorder/components/WorkOrderFankui.vue
index bedf469..ee31af4 100644
--- a/src/views/admin/workorder/components/WorkOrderFankui.vue
+++ b/src/views/admin/workorder/components/WorkOrderFankui.vue
@@ -55,10 +55,21 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -66,6 +77,14 @@
+
+
+
+
+
+
@@ -78,7 +97,7 @@ import { ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted
import { defHttp } from '/@/utils/http/axios';
import { useMessage } from '/@/hooks/web/useMessage';
import { getValueType } from '/@/utils';
-import { saveOrUpdate } from '../WorkOrder.api';
+import { updateMqById } from '../WorkOrder.api';
import { Form } from 'ant-design-vue';
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
@@ -116,6 +135,9 @@ const formData = reactive>({
handleBy: '',
replyFile: '',
replyContent: '',
+ netUrl: '',
+ accountNo: '',
+ passwordText: '',
});
const { createMessage } = useMessage();
const labelCol = ref({ xs: { span: 24 }, sm: { span: 5 } });
@@ -123,7 +145,10 @@ const wrapperCol = ref({ xs: { span: 24 }, sm: { span: 16 } });
const confirmLoading = ref(false);
//表单验证
const validatorRules = reactive({
- replyContent: [{ required: true, message: '请输入反馈内容' },],
+ // replyContent: [{ required: true, message: '请输入反馈内容' },],
+ netUrl: [{ required: true, message: '请输入访问地址' },],
+ accountNo: [{ required: true, message: '请输入账号' },],
+ passwordText: [{ required: true, message: '请输入密码' },],
});
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
@@ -153,6 +178,7 @@ function open(record) {
tmpData[key] = record[key]
}
})
+
//赋值
Object.assign(formData, tmpData);
});
@@ -196,7 +222,7 @@ async function submitForm() {
model.handleBy = userStore.getUserInfo.realname;
model.status = '3';
- await saveOrUpdate(model, isUpdate.value)
+ await updateMqById(model, isUpdate.value)
.then((res) => {
if (res.success) {
createMessage.success(res.message);
diff --git a/src/views/monitor/datasource/GdglDataSourceModal.vue b/src/views/monitor/datasource/GdglDataSourceModal.vue
new file mode 100644
index 0000000..7bbc6fc
--- /dev/null
+++ b/src/views/monitor/datasource/GdglDataSourceModal.vue
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+ 测试
+
+
+
+
+ handleChange(value, model)" :allowClear="true">
+
+
+ {{ item.departName }}
+
+
+
+
+
+
+
+