Merge remote-tracking branch 'origin/dev' into dev

dev
xiepeng 2024-03-29 13:38:52 +08:00
commit 3e709eb383
21 changed files with 312 additions and 257 deletions

View File

@ -55,6 +55,9 @@ export const getElectronicFenceView = (params) =>
post("/electronicfence/goEdit", params); // 电子围栏区域详情
export const getFreightTrailerList = (params) =>
post("/freightTrailer/list", params); // 货运挂车列表
export const setFreightTrailerImport = (params) =>
upload("/freightTrailer/readExcel", params); // 货运挂车导入
export const getFreightTrailerView = (params) =>
post("/freightTrailer/goEdit", params); // 货运挂车查看
export const setFreightTrailerAdd = (params) =>

View File

@ -1,5 +1,8 @@
import { post, upload } from "@/request/axios.js";
import { getLevelsByObject, getLevelsByParentId } from "@/request/data_dictionary.js";
import {
getLevelsByObject,
getLevelsByParentId,
} from "@/request/data_dictionary.js";
import { ref } from "vue";
export const getSecurityNoticeList = (params) =>
@ -15,6 +18,8 @@ export const getSecurityNoticeInfo = (params) =>
export const addSecurityNotice = (params) =>
upload("/securitynotice/add", params); // 添加安全通知
export const getUserListAll = (params) => post("/user/listSelect", params);
export const getUserBuUserId = (params) =>
post("/user/getUserByUserId", params);
// 通知等级
export const layoutFnGetNotificationsClassification = async () => {
@ -27,8 +32,8 @@ export const layoutFnGetNotificationsClassification = async () => {
// 从业类型(人员类型)
export const layoutFnGetSIGNEDSTATUSClassification = async () => {
const resData = await getLevelsByObject({
DICTIONARIES_ID: '0b62f92b0b624aab8e89a77304a64d5e',
BIANMA: 'TRAFFIC_EMPLOYMENT'
DICTIONARIES_ID: "0b62f92b0b624aab8e89a77304a64d5e",
BIANMA: "TRAFFIC_EMPLOYMENT",
});
return ref(resData);
};

View File

@ -35,14 +35,14 @@
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="INQUIRYCONTENT" label="问询内容" width="330" />
<el-table-column prop="INQUIRYCONTENT" label="问询内容" width="800" />
<el-table-column
prop="INQUIRYCONCLUSION"
label="问询结果"
width="230"
/>
<el-table-column prop="CREATTIME" label="创建时间" width="130" />
<el-table-column prop="OPERATTIME" label="修改时间" width="130" />
<el-table-column prop="CREATTIME" label="创建时间" width="200" />
<el-table-column prop="OPERATTIME" label="修改时间" width="200" />
<el-table-column label="操作">
<template #default="{ row }">
<el-button

View File

@ -79,6 +79,7 @@
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
</layout-card>
<map-dialog
v-model:visible="data.mapDialogVisible"
v-model:latitude="data.form.LATITUDE"

View File

@ -71,7 +71,11 @@
width="150"
/>
<el-table-column prop="DUE_DATE" label="到期日期" width="200" />
<el-table-column prop="DEPARTMENT_NAME" label="归属部门" width="150" />
<el-table-column label="归属部门" width="150">
<template #default="{ row }">
{{ row.DEPARTMENT_NAME || row.BELONGING_DEPT || "" }}
</template>
</el-table-column>
<el-table-column label="操作" width="150">
<template #default="{ row }">
<el-button
@ -141,10 +145,10 @@ import useListData from "@/assets/js/useListData.js";
import {
getFreightTrailerList,
setFreightTrailerDelete,
setFreightTrailerImport,
} from "@/request/enterprise_management.js";
import { debounce } from "throttle-debounce";
import { ElMessageBox, ElMessage } from "element-plus";
import { setRiskPointImport } from "@/request/risk_control.js";
import LayoutImportFile from "@/components/import_file/index.vue";
import { reactive } from "vue";
const router = useRouter();
@ -173,7 +177,7 @@ const fnImportDialogChangeShow = () => {
data.importDialogVisible = !data.importDialogVisible;
};
const fnSubmitImport = async (formData) => {
const resData = await setRiskPointImport(formData);
const resData = await setFreightTrailerImport(formData);
if (resData.resultStr) {
ElMessage({
dangerouslyUseHTMLString: true,

View File

@ -1,143 +1,143 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="编号">
{{ info.GOODSSELFNUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车牌号">
{{ info.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆颜色">
{{ info.VEHICLE_COLOR }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ info.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="发动机号">
{{ info.ENGINE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="营运证号">
{{ info.OPERATING_CERTIFICATE }}
</el-descriptions-item>
<el-descriptions-item label="归属部门">
{{ info.BELONGING_DEPARTMENT }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ info.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="初登日期">
{{ info.FIRSTSHOW_DATE }}
</el-descriptions-item>
<el-descriptions-item label="发证日期">
{{ info.CERTIFICATE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="到期日期">
{{ info.EXPIRE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="车主/业主">
{{ info.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="车主电话">
{{ info.VEHICLEOWNER_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车主住址">
{{ info.VEHICLEOWNER_ADDRESS }}
</el-descriptions-item>
<el-descriptions-item label="联系人">
{{ info.CONTACT }}
</el-descriptions-item>
<el-descriptions-item label="联系电话">
{{ info.CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="家庭住址">
{{ info.HOME_ADDRESS }}
</el-descriptions-item>
<el-descriptions-item label="实际住址">
{{ info.PHYSICAL_ADDRESS }}
</el-descriptions-item>
<el-descriptions-item label="车载设备">
{{ info.VEHICLE_EQUIPMENT }}
</el-descriptions-item>
<el-descriptions-item label="运输类别">
{{ info.TRANSPORT_TYPE }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">详细信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="车辆品牌">
{{ info.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ info.VEHICLE_MODEL }}
</el-descriptions-item>
<el-descriptions-item label="燃料类型">
{{ info.FUEL_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="排放标准">
{{ info.EMISSION_STANDARD }}
</el-descriptions-item>
<el-descriptions-item label="核定总质量">
{{ info.VOUCH_TOTALMASS }}
</el-descriptions-item>
<el-descriptions-item label="核定载质量">
{{ info.VOUCH_PAYLOAD }}
</el-descriptions-item>
<el-descriptions-item label="准牵引质量">
{{ info.RACTIONMASS_QUALITY }}
</el-descriptions-item>
<el-descriptions-item label="核定载人数">
{{ info.VOUCH_NUMBERLOAD }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ info.REMARK }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">相关照片</el-divider>
<el-descriptions :column="3" border>
<el-descriptions-item label="车头照片">
<img
v-for="item in info.HEADSTOCK_PHOTO"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="行驶证照片">
<img
v-for="item in info.DRIVINGLICENSE_PHOTO"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="营运证照片">
<img
v-for="item in info.OPERATING_CERTIFICATE_PHOTO"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="车辆资料">
{{ info.VEHICLE_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="编号">
{{ info.GOODSSELFNUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车牌号">
{{ info.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆颜色">
{{ info.VEHICLE_COLOR }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ info.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="发动机号">
{{ info.ENGINE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="营运证号">
{{ info.OPERATING_CERTIFICATE }}
</el-descriptions-item>
<el-descriptions-item label="归属部门">
{{ info.BELONGING_DEPARTMENT }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ info.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="初登日期">
{{ info.FIRSTSHOW_DATE }}
</el-descriptions-item>
<el-descriptions-item label="发证日期">
{{ info.CERTIFICATE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="到期日期">
{{ info.EXPIRE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="车主/业主">
{{ info.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="车主电话">
{{ info.VEHICLEOWNER_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车主住址">
{{ info.VEHICLEOWNER_ADDRESS }}
</el-descriptions-item>
<el-descriptions-item label="联系人">
{{ info.CONTACT }}
</el-descriptions-item>
<el-descriptions-item label="联系电话">
{{ info.CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="家庭住址">
{{ info.HOME_ADDRESS }}
</el-descriptions-item>
<el-descriptions-item label="实际住址">
{{ info.PHYSICAL_ADDRESS }}
</el-descriptions-item>
<el-descriptions-item label="车载设备">
{{ info.VEHICLE_EQUIPMENT }}
</el-descriptions-item>
<el-descriptions-item label="运输类别">
{{ info.TRANSPORT_TYPE }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">详细信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="车辆品牌">
{{ info.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ info.VEHICLE_MODEL }}
</el-descriptions-item>
<el-descriptions-item label="燃料类型">
{{ info.FUEL_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="排放标准">
{{ info.EMISSION_STANDARD }}
</el-descriptions-item>
<el-descriptions-item label="核定总质量">
{{ info.VOUCH_TOTALMASS }}
</el-descriptions-item>
<el-descriptions-item label="核定载质量">
{{ info.VOUCH_PAYLOAD }}
</el-descriptions-item>
<el-descriptions-item label="准牵引质量">
{{ info.RACTIONMASS_QUALITY }}
</el-descriptions-item>
<el-descriptions-item label="核定载人数">
{{ info.VOUCH_NUMBERLOAD }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ info.REMARK }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">相关照片</el-divider>
<el-descriptions :column="3" border>
<el-descriptions-item label="车头照片">
<img
v-for="item in info.HEADSTOCK_PHOTO"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="行驶证照片">
<img
v-for="item in info.DRIVINGLICENSE_PHOTO"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="营运证照片">
<img
v-for="item in info.OPERATING_CERTIFICATE_PHOTO"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="车辆资料">
{{ info.VEHICLE_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
</div>
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>

View File

@ -51,9 +51,9 @@
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="工作部门" prop="DEPARTMENT">
<el-form-item label="工作部门" prop="CORP_NAME">
<el-input
v-model="data.form.DEPARTMENT"
v-model="data.form.CORP_NAME"
placeholder="请输入工作部门"
/>
</el-form-item>
@ -402,7 +402,7 @@
<script setup>
import { getUserListAll } from "@/request/safety_production_related.js";
import { reactive, ref, toRaw } from "vue";
import { onMounted, reactive, ref, toRaw } from "vue";
import { ACCIDENTNATUREMENU, EDUCATIONALMENU } from "@/assets/js/constant.js";
import LayoutUpload from "@/components/upload/index.vue";
import useFormValidate from "@/assets/js/useFormValidate.js";
@ -411,9 +411,9 @@ import { useRouter, useRoute } from "vue-router";
import {
addAccidentInvestigationView,
editAccidentInvestigation,
infoAccidentInvestigation
infoAccidentInvestigation,
} from "@/request/production_accident.js";
import { addingPrefixFile } from "@/assets/js/utils.js";
//
const route = useRoute();
@ -512,32 +512,6 @@ const rules = reactive({
],
});
onMounted(() => {
isEditMode.value = route.query.mode === "edit";
ACCIDENTINVESTIGATION_ID.value = route.query.ACCIDENTINVESTIGATION_ID || "";
if (isEditMode.value) {
Object.keys(rules).forEach((key) => {
rules[key] = []; //
});
}
});
const fnGetData = async () => {
const ACCIDENTINVESTIGATION_ID = route.query.ACCIDENTINVESTIGATION_ID
if (!ACCIDENTINVESTIGATION_ID) return;
const resData = await infoAccidentInvestigation({ ACCIDENTINVESTIGATION_ID });
data.form = resData.pd;
};
fnGetData();
const router = useRouter();
const fnGetUnitsList = async () => {
const resData = await getUserListAll({});
data.unitsList = resData.userList;
};
fnGetUnitsList();
const data = reactive({
form: {
USER_ID: "",
@ -580,23 +554,39 @@ const data = reactive({
},
});
const fnGetData = async () => {
onMounted(() => {
isEditMode.value = route.query.mode === "edit";
ACCIDENTINVESTIGATION_ID.value = route.query.ACCIDENTINVESTIGATION_ID || "";
if (ACCIDENTINVESTIGATION_ID.value) {
const resData = await infoAccidentInvestigation({
ACCIDENTINVESTIGATION_ID: ACCIDENTINVESTIGATION_ID.value,
});
if (resData && resData.pd) {
Object.keys(resData.pd).forEach((key) => {
if (Object.prototype.hasOwnProperty.call(data.form, key)) {
data.form[key] = resData.pd[key];
}
});
}
if (isEditMode.value) {
data.form.fileList = [];
data.form.ACCIDENTANALYSISRECORD = [];
}
if (isEditMode.value && ACCIDENTINVESTIGATION_ID.value) {
fnGetData();
}
});
const fnGetData = async () => {
const ACCIDENTINVESTIGATION_ID = route.query.ACCIDENTINVESTIGATION_ID;
if (!ACCIDENTINVESTIGATION_ID) return;
const resData = await infoAccidentInvestigation({ ACCIDENTINVESTIGATION_ID });
data.form = resData.pd;
data.form.fileList = addingPrefixFile(resData.pd.ACCIDENTANALYSISRECORD);
data.form.ACCIDENTANALYSISRECORD = addingPrefixFile(
resData.pd.ACCIDENTREPORTRECORD
);
};
fnGetData();
const router = useRouter();
const fnGetUnitsList = async () => {
const resData = await getUserListAll({});
data.unitsList = resData.userList;
};
fnGetUnitsList();
const fnSubmit = async () => {
await useFormValidate(formRef);

View File

@ -78,7 +78,7 @@
type="primary"
text
link
@click="fnAddOrEdit(row.ACCIDENTINVESTIGATION_ID)"
@click="fnAddOrEdit(row.ACCIDENTINVESTIGATION_ID, row.USER_ID)"
>
编辑
</el-button>
@ -140,12 +140,13 @@ const convertACCIDENTNATURE = (name) => {
const vehicle = ACCIDENTNATUREMENU.find((item) => item.name === name);
return vehicle ? vehicle.id : "未知";
};
const fnAddOrEdit = (ACCIDENTINVESTIGATION_ID) => {
const fnAddOrEdit = (ACCIDENTINVESTIGATION_ID, USER_ID) => {
router.push({
path: "/mechanical_files/production_accident/add",
query: {
mode: "edit",
ACCIDENTINVESTIGATION_ID,
USER_ID,
},
});
};

View File

@ -193,7 +193,7 @@ import { useRouter } from "vue-router";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import { debounce } from "throttle-debounce";
import { ElMessage, ElMessageBox } from "element-plus";
import { REMINDER_STATUS } from "@/assets/js/constant.js";
import { REMINDER_STATUS } from "@/assets/js/constant.js";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getTaxationManageList, {});

View File

@ -88,35 +88,44 @@ const router = useRouter();
const PROTECTIVEEQUIPMENT_ID = route.query.PROTECTIVEEQUIPMENT_ID;
const rules = {
MANAGING_ENTERPRISE: [
{ required: true, message: "经营企业不能为空", trigger: "blur" },
PERSON_NAME: [
{ required: true, message: "人员名称不能为空", trigger: "blur" },
],
GLOVE: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "手套数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
MASK: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "口罩数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
OVERALL: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "工作服数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
FOOTWARE: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "工作鞋数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
WINTER_COAT: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "防寒服数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
RAINCOAT: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "雨衣数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
GOGGLES: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "护目镜数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
AID_KIT: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "急救药箱数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
HELMET: [
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
{ required: true, message: "安全帽数量不能为空", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入正整数", trigger: "blur" },
],
};

View File

@ -191,9 +191,9 @@ const fnSubmit = debounce(
},
{ atBegin: true }
);
const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
const fnUploadImage = async (currentEquipmentFacilityId, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", HIDDEN_ID);
formData.append("FOREIGN_KEY", currentEquipmentFacilityId);
formData.append("TYPE", TYPE);
formData.append("FFILE", FFILE);
await setUploadImg(formData);

View File

@ -22,7 +22,11 @@
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table :data="list" :show-pagination="false">
<layout-table
:data="list"
:show-pagination="false"
@submit.prevent="fnResetPagination"
>
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />
@ -95,7 +99,7 @@ const getData = async () => {
data.value = pd;
};
getData();
const { list } = useListData(getMaintainFindFirefightingId, {
const { list, fnResetPagination } = useListData(getMaintainFindFirefightingId, {
otherParams: { FIREFIGHTINGFACILITY_ID },
usePagination: false,
});
@ -106,6 +110,7 @@ const fnDelete = debounce(
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setFirefightingMaintainDelete({ FIREFIGHTINGMAINTAIN_ID });
ElMessage.success("删除成功");
fnResetPagination();
},
{ atBegin: true }
);

View File

@ -1,35 +1,50 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="设施编号">
{{ data.FACILITY_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="登记时间">
{{ data.REGISTRATION_TIME }}
</el-descriptions-item>
<el-descriptions-item label="设施单位">
{{ data.FACILITY_UNIT }}
</el-descriptions-item>
<el-descriptions-item label="设施数量">
{{ data.FACILITY_COUNT }}
</el-descriptions-item>
<el-descriptions-item label="设施位置">
{{ data.FACILITY_LOCALTION }}
</el-descriptions-item>
<el-descriptions-item label="设施负责人">
{{ data.FACILITY_PRINCIPAL }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />
<el-table-column prop="MAINTAIN_PERSON" label="保养人" />
<el-table-column prop="REMARK" label="备注" />
</layout-table>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="设施编号">
{{ data.FACILITY_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="设施名称">
{{ data.FACILITY_NAME }}
</el-descriptions-item>
<el-descriptions-item label="登记时间">
{{ data.REGISTRATION_TIME }}
</el-descriptions-item>
<el-descriptions-item label="设施单位">
{{ data.FACILITY_UNIT }}
</el-descriptions-item>
<el-descriptions-item label="设施数量">
{{ data.FACILITY_COUNT }}
</el-descriptions-item>
<el-descriptions-item label="设施位置">
{{ data.FACILITY_LOCALTION }}
</el-descriptions-item>
<el-descriptions-item label="设施负责人">
{{ data.FACILITY_PRINCIPAL }}
</el-descriptions-item>
<el-descriptions-item label="设施设备">
<img
v-for="item in data.Images"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />
<el-table-column prop="MAINTAIN_PERSON" label="保养人" />
<el-table-column prop="REMARK" label="备注" />
</layout-table>
</div>
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>
@ -47,14 +62,17 @@ import { useRoute } from "vue-router";
import { ref } from "vue";
import useListData from "@/assets/js/useListData.js";
import { PRINT_STYLE } from "@/assets/js/constant.js";
import { addingPrefixToFile } from "@/assets/js/utils.js";
const route = useRoute();
const { FIREFIGHTINGFACILITY_ID } = route.query;
const data = ref({});
const getData = async () => {
const { pd } = await getFirefightingEquipmentFacilityView({
const response = await getFirefightingEquipmentFacilityView({
FIREFIGHTINGFACILITY_ID,
});
data.value = pd;
data.value = response.pd;
data.value.Images = addingPrefixToFile(response.firefightingequipmentImg);
};
getData();
const { list } = useListData(getMaintainFindFirefightingId, {

View File

@ -90,6 +90,9 @@ const emits = defineEmits(["update:visible", "update:form", "get-data"]);
const { visible, form } = useVModels(props, emits);
const rules = {
file: [{ required: true, message: "请上传附件", trigger: "change" }],
EXPIRYDATE: [
{ required: true, message: "请选择到期时间", trigger: "change" },
],
MANAGEMENTAGREEMENTNAME: [
{ required: true, message: "请输入名称", trigger: "blur" },
],

View File

@ -65,7 +65,7 @@
</el-table-column>
<el-table-column prop="REPORTPERSON" label="上报人" width="150" />
<el-table-column prop="DISPOSE_STATUS" label="处理状态" width="150" />
<el-table-column prop="REPORTED_CONTENT" label="上报内容" width="300" />
<el-table-column prop="REPORTED_CONTENT" label="上报内容" width="600" />
<el-table-column prop="DISPOSE_RESULT" label="处理结果" width="150" />
<el-table-column prop="REPORTED_TIME" label="上报时间" width="180" />
<el-table-column prop="DISPOSE_DATE" label="处理时间" width="180" />

View File

@ -6,7 +6,9 @@
:rules="rules"
label-width="175px"
>
<el-divider content-position="left">添加</el-divider>
<el-divider content-position="left">{{
isEditMode ? "编辑" : "添加"
}}</el-divider>
<el-row>
<el-col :span="5">
<el-form-item label="从业人员" prop="USER_ID">
@ -115,6 +117,7 @@ import { useRouter, useRoute } from "vue-router";
import {
addViolationRegistrationView,
editViolationRegistration,
infoViolationRegistration,
} from "@/request/violation_registration.js";
const formRef = ref(null);
@ -143,9 +146,13 @@ const route = useRoute();
const isEditMode = ref(false);
const registrationId = ref("");
onMounted(() => {
onMounted(async () => {
isEditMode.value = route.query.mode === "edit";
registrationId.value = route.query.registrationId || "";
registrationId.value = route.query.REGISTRATION_ID || "";
const resData = await infoViolationRegistration({
REGISTRATION_ID: registrationId.value,
});
console.log(resData, "11111111111111");
});
const router = useRouter();

View File

@ -150,11 +150,17 @@ const fnAddOrEdit = async (ACTIVITIES_ID = "", type = "add") => {
data.addOrEditDialog.visible = true;
data.addOrEditDialog.type = type;
if (type === "edit" && ACTIVITIES_ID) {
data.addOrEditDialog.form.ACTIVITIES_ID = ACTIVITIES_ID;
const resData = await infoActivitiesView({ ACTIVITIES_ID });
if (resData && resData.pd) {
data.addOrEditDialog.form = {
...resData.pd,
OPERATINGCOMPANY: resData.pd.CORP_NAME,
EXPIRYDATE: resData.pd.EXPIRYDATE,
};
}
} else {
data.addOrEditDialog.form = {};
}
await nextTick();
};

View File

@ -141,15 +141,22 @@ const data = reactive({
info: {},
},
});
const fnAddOrEdit = async (MANUAL_ID = "", type = "add") => {
data.addOrEditDialog.visible = true;
data.addOrEditDialog.type = type;
if (type === "edit" && MANUAL_ID) {
data.addOrEditDialog.form.MANUAL_ID = MANUAL_ID;
const resData = await infoManualView({ MANUAL_ID });
if (resData && resData.pd) {
data.addOrEditDialog.form = {
...resData.pd,
OPERATINGCOMPANY: resData.pd.CORP_NAME,
EXPIRYDATE: resData.pd.EXPIRYDATE,
};
}
} else {
data.addOrEditDialog.form = {};
}
await nextTick();
};

View File

@ -60,7 +60,7 @@
</template>
</el-table-column>
<el-table-column label="从业人员" prop="NAME" />
<el-table-column label="从业类型" prop="PRACTITIONER_TYPE" />
<el-table-column label="从业类型" prop="DICTIONARIES_NAME" />
<el-table-column label="联系电话" prop="USERNAME" />
<el-table-column label="参会状态" prop="ATTENDANCE_STATUS">
<template #default="{ row }">

View File

@ -85,12 +85,9 @@
</el-form-item>
</el-col>
</el-row>
<el-col :span="50">
<el-col :span="24">
<el-form-item label="通知内容" prop="NOTIFICATIONCONTENT">
<layout-editor
v-model="data.form.NOTIFICATIONCONTENT"
placeholder="请输入内容"
/>
<layout-editor v-model="data.form.NOTIFICATIONCONTENT" />
</el-form-item>
</el-col>
</el-row>
@ -126,7 +123,9 @@ const rules = {
TITLE: [{ required: true, message: "请输入通知标题", trigger: "blur" }],
LEVEL: [{ required: true, message: "请选择通知等级", trigger: "blur" }],
PERSON: [{ required: true, message: "请选择通知人员", trigger: "blur" }],
NOTIFICATIONCONTENT: [{ required: true, message: "请输入通知内容", trigger: "blur" }],
NOTIFICATIONCONTENT: [
{ required: true, message: "请输入通知内容", trigger: "blur" },
],
};
const relatedClassificationTempList =
await layoutFnGetNotificationsClassification();

View File

@ -46,7 +46,7 @@
row-key="RISKCHECKITEM_ID"
@get-data="fnGetData"
>
<el-table-column reserve-selection type="selection" width="55" />
<el-table-column type="selection" width="55" />
<el-table-column label="序号" width="70">
<template #default="{ $index }">
{{ serialNumber(pagination, $index) }}
@ -55,7 +55,7 @@
<el-table-column prop="USER_ID" label="用户Id" />
<el-table-column prop="NAME" label="姓名" />
<el-table-column prop="DEPARTMENT_NAME" label="部门" />
<el-table-column prop="PRACTITIONERTYPE" label="从业类型" />
<el-table-column prop="PERSONNEL_TYPE_NAME" label="从业类型" />
</layout-table>
<template #footer>
<el-button @click="fnClose"></el-button>
@ -97,9 +97,6 @@ const { list, searchForm, pagination, fnGetData, fnResetPagination, tableRef } =
clearSelection: false,
});
const stop = watch(
() => props.visible,
(value) => {