1.更新im
2.修改bug
This commit is contained in:
2025-07-09 15:18:56 +08:00
parent 308d9ae94e
commit 78141a788f
22 changed files with 168 additions and 368 deletions
@@ -18,6 +18,7 @@ const api = {
updateSalvageUser: '/health-emergency/api/emergency/order/updateSalvageUser', // 驻场派单保存
stat: '/health-emergency/api/emergency/stat', //数据统计
scheduleRecord: '/health-emergency/api/emergency/schedule/scheduleShow', //年/月值班记录
scheduleRecordNew: '/health-emergency/api/emergency/schedule/scheduleShow/v2', //年/月值班记录
// queryById: '/health-emergency/emergency/emergencySeriousDisease/queryById', // 通过id查询大病就医单
queryById: '/health-emergency/emergency/emergencySeriousDisease/queryById', // 通过id查询大病就医单
dispatchStation: '/health-emergency/emergency/emergencySeriousDisease/dispatchStation', // 大病就医驻场派单
@@ -101,6 +102,9 @@ export const stat = (params) => {
export const scheduleRecordApi = (params) => {
return defHttp.get({ url: api.scheduleRecord, params });
};
export const scheduleRecordNewApi = (params) => {
return defHttp.get({ url: api.scheduleRecordNew, params });
};
export const queryByIdApi = (params) => {
return defHttp.get({ url: api.queryById, params }, { successNeedMessage: false });
@@ -7,7 +7,7 @@
:bordered="isSpecialized"
:readonly="!isSpecialized"
v-model:value="modalText"
placeholder=""
:placeholder="getUserInfo.personType === '5' ? '暂无' : '请输入救助意见'"
:rows="5"
/>
<div style="text-align: center; padding: 10px">
@@ -22,12 +22,16 @@
<script setup lang="ts">
import { ref } from 'vue';
import { salvageOpinionApi, addSalvageOpinionApi } from '/@/views/emergency/communication/components/commApi';
import { useUserStore } from '/@/store/modules/user';
const visible = ref<Boolean>(false);
const confirmLoading = ref<Boolean>(false);
const modalText = ref<String>('');
const pId = ref<String>('');
const isDisabled = ref<Boolean>(true);
const { getUserInfo } = useUserStore();
const handleOk = () => {
confirmLoading.value = true;
addSalvageOpinionApi({ sessionId: pId.value, infoDesc: modalText.value })
@@ -159,7 +159,7 @@
import { ref } from 'vue';
import { Dayjs } from 'dayjs';
import detail from './detail.vue';
import { stat, scheduleRecordApi } from './commApi';
import { stat, scheduleRecordApi, scheduleRecordNewApi } from './commApi';
import forHelpAdv from './forHelpAdv.vue';
import moment from 'moment';
import qs from 'qs';
@@ -246,21 +246,28 @@
year: year,
month: month,
};
scheduleRecordApi(params)
.then((res) => {
if (res.months !== null) {
let result = [];
res.months.forEach((item) => {
item.days.forEach((it) => {
result.push(item.month + '-' + it.day);
});
});
dayS.value = result;
}
})
.catch((e) => {
console.log(e);
});
// scheduleRecordApi(params)
// .then((res) => {
// if (res.months !== null) {
// let result = [];
// res.months.forEach((item) => {
// item.days.forEach((it) => {
// result.push(item.month + '-' + it.day);
// });
// });
// dayS.value = result;
// }
// })
// .catch((e) => {
// console.log(e);
// });
scheduleRecordNewApi(params).then((res: any) => {
if (res) {
dayS.value = res.map((item) => {
return `${month}-${item}`;
});
}
});
};
const nowDate = new Date();
scheduleRecord(nowDate.getFullYear(), nowDate.getMonth() + 1);
+4 -2
View File
@@ -1,13 +1,15 @@
<template>
<div class="outer">
<!-- 专业人员 -->
<specialized :imProps="imProps" v-if="isSpecialized === '6'" />
<opearate :imProps="imProps" v-if="isSpecialized === '5'" />
<!-- 操作人员 -->
<operate :imProps="imProps" v-if="isSpecialized === '5'" />
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import specialized from './components/specialized.vue';
import opearate from './components/operate.vue';
import operate from './components/operate.vue';
import { userSigAndroidApi } from '/@/views/emergency/communication/components/commApi';
import { getToken } from '/@/utils/auth';
import { useGlobSetting } from '/@/hooks/setting';
@@ -50,7 +50,7 @@
</template>
<!--操作栏-->
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" :drop-down-actions="getDropAction(record)" />
<TableAction :actions="getTableAction(record)" />
</template>
</BasicTable>
<emergency-drawer @register="registerDrawer" />
@@ -68,16 +68,9 @@
import { useDrawer } from '/@/components/Drawer';
import EmergencyDrawer from '/@/views/emergency/emergencyManage/components/emergencyDrawer.vue';
import { useModal } from '/@/components/Modal';
import {
delCenterApi,
exportApi,
listApi,
settingDefaultCenterApi,
updateCenterStatusApi,
} from '/@/views/emergency/emergencyManage/emergencyManage.api';
import { exportApi, listApi, settingDefaultCenterApi, updateCenterStatusApi } from '/@/views/emergency/emergencyManage/emergencyManage.api';
import EmergencyInfoDrawer from '/@/views/emergency/emergencyManage/components/emergencyInfoDrawer.vue';
import { onMounted, ref } from 'vue';
import { queryDepartTreeSync } from '/@/views/system/depart/depart.api';
import ExportUtil from '/@/utils/export/exportUtil.vue';
import EmergencyMedicalModal from '/@/views/emergency/emergencyManage/components/emergencyMedicalModal.vue';
import { useUserStore } from '/@/store/modules/user';
@@ -96,8 +89,6 @@
}
});
function onSelectMedicalOk() {}
function exportInfo() {
const params = getForm().getFieldsValue();
exportApi(params);
@@ -106,69 +97,6 @@
openExportDrawer(true, {});
}
// async function loadRootTreeData() {
// try {
// treeData.value = [];
//
// const fResult = await queryDepartTreeSync({});
// if (!fResult || fResult.length < 0) return;
// const result = await queryDepartTreeSync({ pid: fResult[0].id });
// if (Array.isArray(result)) {
// result.forEach((item: any) => {
// item['preTitle'] = item.title;
// item['key'] = item['orgCode'];
// });
// treeData.value = result;
// }
// } catch {}
// }
//
// loadRootTreeData();
// async function onLoadData(treeNode) {
// try {
// const result = await queryDepartTreeSync({
// pid: treeNode.dataRef.id,
// });
// if (result && result.length == 0) {
// treeNode.dataRef.isLeaf = true;
// } else {
// treeNode.dataRef.children = result
// ? result.map((item: any) => {
// item['pId'] = treeNode.dataRef.id;
// item['preTitle'] = treeNode.dataRef.preTitle + '/' + item.title;
// item['key'] = item['orgCode'];
// return item;
// })
// : [];
//
// preData(
// treeData.value,
// treeNode.dataRef.id,
// result
// ? result.map((item: any) => {
// item['pId'] = treeNode.dataRef.id;
// item['key'] = item['orgCode'];
// return item;
// })
// : []
// );
// }
// } catch (e) {
// console.error(e);
// }
// return Promise.resolve(true);
// }
function preData(data, id, res) {
for (let i = 0; i < data.length; i++) {
if (data[i]?.id === id) {
data[i].children = res;
return;
}
preData(data[i].children, id, res);
}
}
async function changeSwitch(record: Recordable) {
try {
record.loading1 = true;
@@ -231,32 +159,9 @@
},
});
function getDropAction(record: Recordable) {
return [
{
label: '编辑',
onClick: handleEdit.bind(null, record),
},
{
label: '关联医疗点',
onClick: handleMedical.bind(null, record),
},
// {
// label: '删除',
// onClick: handleDel.bind(null, record),
// },
];
}
function handleSuccess() {
reload();
}
function handleMedical(record: Recordable) {
openMedicalModal(true, { record });
}
// function handleDel(record: Recordable) {
// delCenterApi(record, handleSuccess);
// }
function getTableAction(record: Recordable) {
return [
@@ -272,6 +177,10 @@
label: '大屏账号',
onClick: bigScreenUser.bind(null, record),
},
{
label: '编辑',
onClick: handleEdit.bind(null, record),
},
];
}
@@ -47,6 +47,7 @@ export const columns: BasicColumn[] = [
title: '员工位置',
align: 'center',
dataIndex: 'initiatorLongitude',
width: 80,
customRender: ({ record }) => {
// @ts-ignore
const { initiatorLongitude, initiatorLatitude } = record;
@@ -2,6 +2,16 @@
<div>
<!--引用表格-->
<BasicTable @register="registerTable" :rowSelection="rowSelection">
<template #bodyCell="{ column, record }">
<template v-if="column.dataIndex === 'initiatorLongitude'">
<environment-outlined
v-if="record?.initiatorLongitude && record?.initiatorLatitude"
style="color: #1890ff; cursor: pointer"
@click="getEmployeePosition(record)"
/>
<span v-else style="color: red"> 定位超时 </span>
</template>
</template>
<!--操作栏-->
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
@@ -12,6 +22,7 @@
<OrderDrawer ref="RefOrderDrawer" />
<detail ref="detailRef" />
<OrderRecord @register="registerModal" />
<Map @register="registerMap" is-edit="1" title="员工位置" />
</div>
</template>
@@ -21,14 +32,15 @@
import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage';
import OrderDrawer from './components/OrderDrawer.vue';
import { EnvironmentOutlined } from '@ant-design/icons-vue';
import { columns, searchFormSchema, columnsPersonF, columnsPersonS, searchFormSchemaS } from './Order.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, resEditData, newList } from './Order.api';
import { message } from 'ant-design-vue';
import { list, deleteOne, getImportUrl, getExportUrl, resEditData, newList } from './Order.api';
import { useUserStore } from '/@/store/modules/user';
import detail from '/@/views/emergency/communication/components/detail.vue';
import { router } from '/@/router';
import OrderRecord from '/@/views/emergency/outburst/order/components/OrderRecord.vue';
import Map from '/@/views/consult/resource/components/Map.vue';
//注册model
const [registerModal, { openModal }] = useModal();
@@ -75,6 +87,14 @@
});
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
const [registerMap, { openModal: openMapModal }] = useModal();
function getEmployeePosition(record: Recordable) {
openMapModal(true, {
record: { ...record, longitude: record.initiatorLongitude, latitude: record.initiatorLatitude, address: '' },
});
}
/**
* 详情
*/