forked from integrated_whb/integrated_whb_vue
bug优化
parent
6c1000d5f9
commit
558799d0c9
2
.env
2
.env
|
@ -1,4 +1,4 @@
|
|||
VITE_BASE_URL=http://192.168.0.55:8093/
|
||||
VITE_BASE_URL=http://192.168.0.49:8093/
|
||||
VITE_PROXY=/api/
|
||||
VITE_FILE_URL=https://file.zcloudchina.com/YTHFile
|
||||
VITE_TEMPLATE_URL=https://qaaq.qhdsafety.com/file/
|
||||
|
|
|
@ -4,10 +4,23 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-divider content-position="left">基本信息</el-divider>
|
||||
<div class="buttons-container">
|
||||
<el-button type="primary" @click="fnDownloadTemplate"
|
||||
>下载模板</el-button
|
||||
>
|
||||
<el-button type="primary" @click="fnUploadQuestions"
|
||||
>上传</el-button
|
||||
>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="自编号" prop="NUM">
|
||||
<el-input v-model="form.NUM" maxlength="50" show-word-limit />
|
||||
<el-input
|
||||
v-model="form.NUM"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -16,12 +29,18 @@
|
|||
v-model="form.PLATE_NUMBER"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="车架号" prop="VIN">
|
||||
<el-input v-model="form.VIN" maxlength="50" show-word-limit />
|
||||
<el-input
|
||||
v-model="form.VIN"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -30,6 +49,7 @@
|
|||
v-model="form.VEHICLE_BODY_NUMBER"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -39,6 +59,7 @@
|
|||
v-model="form.TRAILER_TYPE"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -48,6 +69,7 @@
|
|||
v-model="form.OPER_CERTIFICATE_NUM"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -62,6 +84,7 @@
|
|||
v-model="form.CAR_OWNERS"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -71,12 +94,18 @@
|
|||
v-model="form.CAR_OWNERS_TEL"
|
||||
maxlength="11"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人" prop="CONTACTS">
|
||||
<el-input v-model="form.CONTACTS" maxlength="50" show-word-limit />
|
||||
<el-input
|
||||
v-model="form.CONTACTS"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -85,6 +114,7 @@
|
|||
v-model="form.CONTACT_PHONE"
|
||||
maxlength="11"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -95,6 +125,7 @@
|
|||
value-format="YYYY-MM-DD"
|
||||
format="YYYY-MM-DD"
|
||||
type="date"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -105,6 +136,7 @@
|
|||
value-format="YYYY-MM-DD"
|
||||
format="YYYY-MM-DD"
|
||||
type="date"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -115,6 +147,7 @@
|
|||
value-format="YYYY-MM-DD"
|
||||
format="YYYY-MM-DD"
|
||||
type="date"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -127,6 +160,7 @@
|
|||
v-model="form.TRAILER_BRAND"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -136,6 +170,7 @@
|
|||
v-model="form.TRAILER_MODEL"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -145,6 +180,7 @@
|
|||
v-model="form.APPROVED_TOTAL_MASS"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -154,12 +190,18 @@
|
|||
v-model="form.APPROVED_LOAD_CAPACITY"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="容积/体积" prop="VOLUME">
|
||||
<el-input v-model="form.TEAM_NAME" maxlength="50" show-word-limit />
|
||||
<el-input
|
||||
v-model="form.VOLUME"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -170,6 +212,7 @@
|
|||
:autosize="{ minRows: 3 }"
|
||||
maxlength="250"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -235,7 +278,7 @@ import {
|
|||
setFreightTrailerEdit,
|
||||
} from "@/request/enterprise_management.js";
|
||||
import { setUploadImg } from "@/request/api.js";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||
import { addingPrefixToFile } from "@/assets/js/utils.js";
|
||||
|
@ -334,6 +377,16 @@ const fnGetData = async () => {
|
|||
};
|
||||
fnGetData();
|
||||
|
||||
const fnDownloadTemplate = async () => {
|
||||
await ElMessageBox.confirm("确定要下载excel模板吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
window.open(
|
||||
import.meta.env[import.meta.env.DEV ? "VITE_PROXY" : "VITE_BASE_URL"] +
|
||||
"freightTrailer/downExcel"
|
||||
);
|
||||
};
|
||||
|
||||
const fnSubmit = debounce(
|
||||
1000,
|
||||
async () => {
|
||||
|
@ -391,4 +444,10 @@ const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
|
|||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
<style scoped>
|
||||
.buttons-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,24 +7,24 @@
|
|||
@submit.prevent="fnResetPaginationTransfer"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="5">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="车牌号" prop="PLATE_NUMBER">
|
||||
<el-input v-model="searchForm.PLATE_NUMBER" />
|
||||
<el-input v-model="searchForm.PLATE_NUMBER" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="车架号" prop="VIN">
|
||||
<el-input v-model="searchForm.VIN" />
|
||||
<el-input v-model="searchForm.VIN" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="自编号" prop="NUM">
|
||||
<el-input v-model="searchForm.NUM" />
|
||||
<el-input v-model="searchForm.NUM" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="归属部门" prop="DEPARTMENT_NAME">
|
||||
<el-input v-model="searchForm.DEPARTMENT_NAME" />
|
||||
<el-input v-model="searchForm.DEPARTMENT_NAME" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
|
@ -35,9 +35,12 @@
|
|||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="1">
|
||||
<el-col :span="6" :offset="18">
|
||||
<el-form-item label-width="10px" class="end">
|
||||
<el-button @click="fnExport">导出</el-button>
|
||||
<el-button type="primary" @click="fnImportDialogChangeShow">
|
||||
导入
|
||||
</el-button>
|
||||
<el-button type="primary" @click="fnExport">导出</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -67,7 +70,7 @@
|
|||
label="初登日期"
|
||||
width="150"
|
||||
/>
|
||||
<el-table-column prop="DUE_DATE" label="到期日期" 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 }">
|
||||
|
@ -98,7 +101,7 @@
|
|||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
type="danger"
|
||||
text
|
||||
link
|
||||
@click="fnDelete(row.FREIGHTTRAILER_ID)"
|
||||
|
@ -122,11 +125,6 @@
|
|||
</template>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
<export-excel
|
||||
v-model:visible="data.exportExcelDialog.visible"
|
||||
:search-form="searchForm"
|
||||
:ids="data.exportExcelDialog.ids"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -139,17 +137,9 @@ import {
|
|||
getFreightTrailerList,
|
||||
setFreightTrailerDelete,
|
||||
} from "@/request/enterprise_management.js";
|
||||
import ExportExcel from "./components/export_excel.vue";
|
||||
import { reactive } from "vue";
|
||||
import { debounce } from "throttle-debounce";
|
||||
import { ElMessageBox, ElMessage } from "element-plus";
|
||||
const router = useRouter();
|
||||
const data = reactive({
|
||||
exportExcelDialog: {
|
||||
visible: false,
|
||||
ids: [],
|
||||
},
|
||||
});
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getFreightTrailerList);
|
||||
const fnGetDataTransfer = () => {
|
||||
|
@ -168,6 +158,22 @@ const fnResetPaginationTransfer = () => {
|
|||
DEPARTMENT_NAME: searchForm.value.DEPARTMENT_NAME,
|
||||
});
|
||||
};
|
||||
const fnExport = async () => {
|
||||
const selectionData = tableRef.value.getSelectionRows();
|
||||
if (selectionData.length === 0) {
|
||||
ElMessage.warning("请选择需要导出至excel报表的记录信息");
|
||||
return;
|
||||
}
|
||||
await ElMessageBox.confirm("确定要导出到excel吗?", { type: "warning" });
|
||||
const DATA_IDS = selectionData.map((item) => item.RISKUNIT_ID).join(",");
|
||||
window.location.href =
|
||||
import.meta.env[import.meta.env.DEV ? "VITE_PROXY" : "VITE_BASE_URL"] +
|
||||
"/freightTrailer/excel?" +
|
||||
"&KEYWORDS=" +
|
||||
(searchForm.value.KEYWORDS || "") +
|
||||
"&DATA_IDS=" +
|
||||
DATA_IDS;
|
||||
};
|
||||
const fnDelete = debounce(
|
||||
1000,
|
||||
async (FREIGHTTRAILER_ID) => {
|
||||
|
@ -179,13 +185,6 @@ const fnDelete = debounce(
|
|||
{ atBegin: true }
|
||||
);
|
||||
const buttonJurisdiction = await useButtonJurisdiction("hidden");
|
||||
const fnExport = () => {
|
||||
const selectionData = tableRef.value.getSelectionRows();
|
||||
data.exportExcelDialog.ids = selectionData.map(
|
||||
(item) => item.FREIGHTTRAILER_ID
|
||||
);
|
||||
data.exportExcelDialog.visible = true;
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
|
@ -37,9 +37,9 @@
|
|||
<el-descriptions-item label-class-name="width_200" label="联系人">
|
||||
{{ info.CONTACTS }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label-class-name="width_200" label="车主电话">
|
||||
{{ info.CAR_OWNERS_TEL }}
|
||||
</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label-class-name="width_200" label="车主电话">-->
|
||||
<!-- {{ info.CAR_OWNERS_TEL }}-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<el-descriptions-item label-class-name="width_200" label="联系电话">
|
||||
{{ info.CONTACT_PHONE }}
|
||||
</el-descriptions-item>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
label="经营企业"
|
||||
prop="OPERATINGCOMPANY"
|
||||
>
|
||||
<span>{{ operatingCompany }}</span>
|
||||
<span>{{ form.OPERATINGCOMPANY }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="合同文件" prop="file">
|
||||
<layout-upload
|
||||
|
@ -38,9 +38,9 @@
|
|||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="MEETING_CONTENT">
|
||||
<el-form-item label="备注" prop="CONTENT">
|
||||
<el-input
|
||||
v-model="form.MEETING_CONTENT"
|
||||
v-model="form.CONTENT"
|
||||
type="textarea"
|
||||
placeholder="请输入内容"
|
||||
style="width: 300px"
|
||||
|
@ -55,14 +55,13 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, ref, toRaw } from "vue";
|
||||
import { ref, toRaw } from "vue";
|
||||
import { useVModels } from "@vueuse/core";
|
||||
import { ElMessage } from "element-plus";
|
||||
import LayoutUpload from "@/components/upload/index.vue";
|
||||
import {
|
||||
addContractView,
|
||||
editContractView,
|
||||
getSafetyContractList,
|
||||
} from "@/request/traffic_safety_contract.js";
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -101,13 +100,6 @@ const rules = {
|
|||
],
|
||||
};
|
||||
|
||||
const operatingCompany = ref("");
|
||||
onMounted(async () => {
|
||||
const resData = await getSafetyContractList();
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
operatingCompany.value = resData.varList[0].CORP_NAME;
|
||||
}
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const fnClose = () => {
|
||||
formRef.value.resetFields();
|
||||
|
|
|
@ -109,6 +109,7 @@ import Add from "@/views/labor_contract/components/add.vue";
|
|||
import LayoutPdf from "@/components/pdf/index.vue";
|
||||
import {
|
||||
deleteContractView,
|
||||
getSafetyContractList,
|
||||
getSafetyContractUserList,
|
||||
} from "@/request/traffic_safety_contract.js";
|
||||
|
||||
|
@ -152,7 +153,16 @@ const fnAddOrEdit = async (
|
|||
data.addOrEditDialog.type = type;
|
||||
data.addOrEditDialog.form = {};
|
||||
if (type === "edit" && LABORCONTRACT_ID) {
|
||||
data.addOrEditDialog.form.LABORCONTRACT_ID = LABORCONTRACT_ID;
|
||||
const resData = await getSafetyContractList({ LABORCONTRACT_ID });
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
const detail = resData.varList.find(
|
||||
(detail) => detail.USER_ID === USER_ID
|
||||
);
|
||||
data.addOrEditDialog.form = {
|
||||
...detail,
|
||||
OPERATINGCOMPANY: detail.CORP_NAME,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
data.addOrEditDialog.form = { USER_ID };
|
||||
}
|
||||
|
|
|
@ -52,8 +52,9 @@
|
|||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="NEWCONTRACTNAME" label="合同名称" width="250" />
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="250">
|
||||
<el-table-column prop="NEWCONTRACTNAME" label="用户名称" width="100" />
|
||||
<el-table-column prop="CONTRACTNAME" label="合同名称" width="250" />
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="150">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.COMPLETIONSTATUS === '1'">已上传</el-tag>
|
||||
<el-tag v-else>未上传</el-tag>
|
||||
|
@ -146,7 +147,7 @@ const data = reactive({
|
|||
watchEffect(() => {
|
||||
if (list.value.length > 0) {
|
||||
list.value.forEach((item) => {
|
||||
item.NEWCONTRACTNAME = `${item.NAME} 合同书`;
|
||||
item.NEWCONTRACTNAME = `${item.NAME}`;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -195,6 +195,17 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="合同" prop="CONTRACT">
|
||||
<layout-upload
|
||||
v-model:file-list="form.CONTRACT"
|
||||
list-type="picture-card"
|
||||
accept=".jpg,.jpeg,.png"
|
||||
:limit="99"
|
||||
delete-to-server
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="备注" prop="NOTES">
|
||||
<el-input
|
||||
|
@ -248,6 +259,7 @@ const form = ref({
|
|||
REMINDER_DATE: "",
|
||||
REMINDER_STATUS: "",
|
||||
BEIDOUINFO: [],
|
||||
CONTRACT: [],
|
||||
});
|
||||
const data = reactive({
|
||||
vehicleList: [],
|
||||
|
@ -339,6 +351,15 @@ const fnGetData = async () => {
|
|||
};
|
||||
fnGetData();
|
||||
|
||||
// 假设128为北斗信息图片类型,129为合同图片类型
|
||||
const fnUploadImage = async (currentId, FFILE, TYPE) => {
|
||||
const formData = new FormData();
|
||||
formData.append("FOREIGN_KEY", currentId);
|
||||
formData.append("TYPE", TYPE); // 这里的TYPE根据调用函数时传入的值决定
|
||||
formData.append("FFILE", FFILE);
|
||||
await setUploadImg(formData);
|
||||
};
|
||||
|
||||
const fnSubmit = debounce(
|
||||
1000,
|
||||
async () => {
|
||||
|
@ -347,22 +368,33 @@ const fnSubmit = debounce(
|
|||
? await setBeidouAdd({ ...form.value })
|
||||
: await setBeidouEdit({ ...form.value, BEIDOU_ID });
|
||||
const currentId = resData.pd.BEIDOU_ID;
|
||||
|
||||
// 北斗信息图片上传
|
||||
for (let i = 0; i < form.value.BEIDOUINFO.length; i++) {
|
||||
if (form.value.BEIDOUINFO[i].raw)
|
||||
await fnUploadImage(currentId, form.value.BEIDOUINFO[i].raw, 128);
|
||||
if (form.value.BEIDOUINFO[i].raw) {
|
||||
await fnUploadImage(currentId, form.value.BEIDOUINFO[i].raw, "128"); // 北斗信息图片
|
||||
}
|
||||
}
|
||||
|
||||
// 合同图片上传
|
||||
for (let i = 0; i < form.value.CONTRACT.length; i++) {
|
||||
if (form.value.CONTRACT[i].raw) {
|
||||
await fnUploadImage(currentId, form.value.CONTRACT[i].raw, "130"); // 合同图片
|
||||
}
|
||||
}
|
||||
|
||||
ElMessage.success("保存成功");
|
||||
router.back();
|
||||
},
|
||||
{ atBegin: true }
|
||||
);
|
||||
const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
|
||||
const formData = new FormData();
|
||||
formData.append("FOREIGN_KEY", HIDDEN_ID);
|
||||
formData.append("TYPE", TYPE);
|
||||
formData.append("FFILE", FFILE);
|
||||
await setUploadImg(formData);
|
||||
};
|
||||
// const fnUploadImage = async (currentId, FFILE, TYPE) => {
|
||||
// const formData = new FormData();
|
||||
// formData.append("FOREIGN_KEY", currentId);
|
||||
// formData.append("TYPE", TYPE);
|
||||
// formData.append("FFILE", FFILE);
|
||||
// await setUploadImg(formData);
|
||||
// };
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
|
|
|
@ -81,6 +81,22 @@
|
|||
class="ml-10"
|
||||
/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item
|
||||
label-class-name="width_200"
|
||||
label="合同"
|
||||
span="2"
|
||||
>
|
||||
<img
|
||||
v-for="item in info.CONTRACT"
|
||||
:key="item.FILEPATH"
|
||||
v-viewer
|
||||
:src="item.url"
|
||||
width="100"
|
||||
height="100"
|
||||
alt=""
|
||||
class="ml-10"
|
||||
/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item
|
||||
label-class-name="width_200"
|
||||
label="备注"
|
||||
|
|
|
@ -160,7 +160,7 @@
|
|||
</el-button>
|
||||
<el-button
|
||||
v-if="expandedRows[row.INSPECTANNUALLY_ID]"
|
||||
type="primary"
|
||||
type="danger"
|
||||
link
|
||||
@click="fnDelete(row.INSPECTANNUALLY_ID)"
|
||||
>删除
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
label="经营企业"
|
||||
prop="OPERATINGCOMPANY"
|
||||
>
|
||||
<span>{{ operatingCompany }}</span>
|
||||
<span>{{ form.OPERATINGCOMPANY }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="职业危害告知书" prop="file">
|
||||
<layout-upload
|
||||
|
@ -42,9 +42,9 @@
|
|||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="MEETING_CONTENT">
|
||||
<el-form-item label="备注" prop="CONTENT">
|
||||
<el-input
|
||||
v-model="form.MEETING_CONTENT"
|
||||
v-model="form.CONTENT"
|
||||
type="textarea"
|
||||
placeholder="请输入内容"
|
||||
style="width: 300px"
|
||||
|
@ -59,14 +59,13 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, ref, toRaw } from "vue";
|
||||
import { ref, toRaw } from "vue";
|
||||
import { useVModels } from "@vueuse/core";
|
||||
import { ElMessage } from "element-plus";
|
||||
import LayoutUpload from "@/components/upload/index.vue";
|
||||
import {
|
||||
addOccupationalHazardsView,
|
||||
editOccupationalHazardsView,
|
||||
getSafetyOccupationalHazardsList,
|
||||
} from "@/request/traffic_occupational_hazards.js";
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -107,13 +106,6 @@ const rules = {
|
|||
],
|
||||
};
|
||||
|
||||
const operatingCompany = ref("");
|
||||
onMounted(async () => {
|
||||
const resData = await getSafetyOccupationalHazardsList();
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
operatingCompany.value = resData.varList[0].CORP_NAME;
|
||||
}
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const fnClose = () => {
|
||||
formRef.value.resetFields();
|
||||
|
|
|
@ -111,6 +111,7 @@ import Add from "@/views/occupational_hazards/components/add.vue";
|
|||
import LayoutPdf from "@/components/pdf/index.vue";
|
||||
import {
|
||||
deleteOccupationalHazardsView,
|
||||
getSafetyOccupationalHazardsList,
|
||||
getSafetyOccupationalHazardsUserList,
|
||||
} from "@/request/traffic_occupational_hazards.js";
|
||||
|
||||
|
@ -154,7 +155,18 @@ const fnAddOrEdit = async (
|
|||
data.addOrEditDialog.type = type;
|
||||
data.addOrEditDialog.form = {};
|
||||
if (type === "edit" && OCCUPATIONALHAZARDS_ID) {
|
||||
data.addOrEditDialog.form.OCCUPATIONALHAZARDS_ID = OCCUPATIONALHAZARDS_ID;
|
||||
const resData = await getSafetyOccupationalHazardsList({
|
||||
OCCUPATIONALHAZARDS_ID,
|
||||
});
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
const detail = resData.varList.find(
|
||||
(detail) => detail.USER_ID === USER_ID
|
||||
);
|
||||
data.addOrEditDialog.form = {
|
||||
...detail,
|
||||
OPERATINGCOMPANY: detail.CORP_NAME,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
data.addOrEditDialog.form = { USER_ID };
|
||||
}
|
||||
|
|
|
@ -58,22 +58,27 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="NEWOCCUPATIONALNAME"
|
||||
label="用户名称"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="OCCUPATIONALNAME"
|
||||
label="职业危害告知书"
|
||||
width="250"
|
||||
/>
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="250">
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.COMPLETIONSTATUS === '1'">已上传</el-tag>
|
||||
<el-tag v-else>未上传</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="有效状态" prop="VALIDSTATUS">
|
||||
<el-table-column label="有效状态" prop="VALIDSTATUS" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.VALIDSTATUS === '1'">正常</el-tag>
|
||||
<el-tag v-else>未生效</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CORP_NAME" label="经营企业" width="150" />
|
||||
<el-table-column prop="CORP_NAME" label="经营企业" width="220" />
|
||||
<el-table-column prop="OPERATIONTYPE" label="经营类型" width="150" />
|
||||
<el-table-column prop="EXPIRYDATE" label="到期时间" width="150" />
|
||||
<el-table-column prop="CREATETIME" label="创建时间" width="150" />
|
||||
|
@ -154,7 +159,7 @@ const data = reactive({
|
|||
watchEffect(() => {
|
||||
if (list.value.length > 0) {
|
||||
list.value.forEach((item) => {
|
||||
item.NEWOCCUPATIONALNAME = `${item.NAME} 职业危害告知书`;
|
||||
item.NEWOCCUPATIONALNAME = `${item.NAME}`;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
label="经营企业"
|
||||
prop="OPERATINGCOMPANY"
|
||||
>
|
||||
<span>{{ operatingCompany }}</span>
|
||||
<span>{{ form.OPERATINGCOMPANY }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="会议附件" prop="file">
|
||||
<layout-upload
|
||||
|
@ -47,14 +47,13 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, ref, toRaw } from "vue";
|
||||
import { ref, toRaw } from "vue";
|
||||
import { useVModels } from "@vueuse/core";
|
||||
import { ElMessage } from "element-plus";
|
||||
import LayoutUpload from "@/components/upload/index.vue";
|
||||
import {
|
||||
addProductionView,
|
||||
editProductionView,
|
||||
getSafetyProductionList,
|
||||
} from "@/request/traffic_safety_production.js";
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -91,15 +90,6 @@ const rules = {
|
|||
SYSTEMNAME: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
||||
};
|
||||
|
||||
const operatingCompany = ref("");
|
||||
const operationType = ref("");
|
||||
onMounted(async () => {
|
||||
const resData = await getSafetyProductionList();
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
operatingCompany.value = resData.varList[0].CORP_NAME;
|
||||
operationType.value = resData.varList[0].OPERATIONTYPE;
|
||||
}
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const fnClose = () => {
|
||||
formRef.value.resetFields();
|
||||
|
|
|
@ -150,7 +150,15 @@ const fnAddOrEdit = async (SAFETYPRODUCTION_ID = "", type = "add") => {
|
|||
data.addOrEditDialog.visible = true;
|
||||
data.addOrEditDialog.type = type;
|
||||
if (type === "edit" && SAFETYPRODUCTION_ID) {
|
||||
data.addOrEditDialog.form.SAFETYPRODUCTION_ID = SAFETYPRODUCTION_ID;
|
||||
const resData = await getSafetyProductionList({ SAFETYPRODUCTION_ID });
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
const detail = resData.varList[0];
|
||||
data.addOrEditDialog.form = {
|
||||
...detail,
|
||||
OPERATINGCOMPANY: detail.CORP_NAME,
|
||||
EXPIRYDATE: detail.EXPIRYDATE,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
data.addOrEditDialog.form = {};
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
label="经营企业"
|
||||
prop="OPERATINGCOMPANY"
|
||||
>
|
||||
<span>{{ operatingCompany }}</span>
|
||||
<span>{{ form.OPERATINGCOMPANY }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位安全责任书" prop="file">
|
||||
<layout-upload
|
||||
|
@ -39,12 +39,13 @@
|
|||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="选择时间"
|
||||
style="width: 200px"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="MEETING_CONTENT">
|
||||
<el-form-item label="备注" prop="CONTENT">
|
||||
<el-input
|
||||
v-model="form.MEETING_CONTENT"
|
||||
v-model="form.CONTENT"
|
||||
type="textarea"
|
||||
placeholder="请输入内容"
|
||||
style="width: 300px"
|
||||
|
@ -60,14 +61,13 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, ref, toRaw } from "vue";
|
||||
import { ref, toRaw } from "vue";
|
||||
import { useVModels } from "@vueuse/core";
|
||||
import { ElMessage } from "element-plus";
|
||||
import LayoutUpload from "@/components/upload/index.vue";
|
||||
import {
|
||||
addResponsibilityView,
|
||||
editResponsibilityView,
|
||||
getSafetyResponsibilityList,
|
||||
} from "@/request/traffic_safety_responsibility.js";
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -108,13 +108,6 @@ const rules = {
|
|||
],
|
||||
};
|
||||
|
||||
const operatingCompany = ref("");
|
||||
onMounted(async () => {
|
||||
const resData = await getSafetyResponsibilityList();
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
operatingCompany.value = resData.varList[0].CORP_NAME;
|
||||
}
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const fnClose = () => {
|
||||
formRef.value.resetFields();
|
||||
|
|
|
@ -111,6 +111,7 @@ import Add from "@/views/safety_responsibility/components/add.vue";
|
|||
import LayoutPdf from "@/components/pdf/index.vue";
|
||||
import {
|
||||
deleteResponsibilityView,
|
||||
getSafetyResponsibilityList,
|
||||
getSafetyResponsibilityUserList,
|
||||
} from "@/request/traffic_safety_responsibility.js";
|
||||
|
||||
|
@ -154,7 +155,18 @@ const fnAddOrEdit = async (
|
|||
data.addOrEditDialog.type = type;
|
||||
data.addOrEditDialog.form = {};
|
||||
if (type === "edit" && SAFETYRESPONSIBILITY_ID) {
|
||||
data.addOrEditDialog.form.SAFETYRESPONSIBILITY_ID = SAFETYRESPONSIBILITY_ID;
|
||||
const resData = await getSafetyResponsibilityList({
|
||||
SAFETYRESPONSIBILITY_ID,
|
||||
});
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
const detail = resData.varList.find(
|
||||
(detail) => detail.USER_ID === USER_ID
|
||||
);
|
||||
data.addOrEditDialog.form = {
|
||||
...detail,
|
||||
OPERATINGCOMPANY: detail.CORP_NAME,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
data.addOrEditDialog.form = { USER_ID };
|
||||
}
|
||||
|
|
|
@ -56,12 +56,13 @@
|
|||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="NEWCONTRACTNAME" label="用户名称" width="100" />
|
||||
<el-table-column
|
||||
prop="NEWCONTRACTNAME"
|
||||
prop="RESPONSIBILITYNAME"
|
||||
label="岗位安全责任书"
|
||||
width="250"
|
||||
/>
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="250">
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.COMPLETIONSTATUS === '1'">已上传</el-tag>
|
||||
<el-tag v-else>未上传</el-tag>
|
||||
|
@ -154,7 +155,7 @@ const data = reactive({
|
|||
watchEffect(() => {
|
||||
if (list.value.length > 0) {
|
||||
list.value.forEach((item) => {
|
||||
item.NEWCONTRACTNAME = `${item.NAME} 岗位安全责任书`;
|
||||
item.NEWCONTRACTNAME = `${item.NAME}`;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
label="经营企业"
|
||||
prop="OPERATINGCOMPANY"
|
||||
>
|
||||
<span>{{ operatingCompany }}</span>
|
||||
<span>{{ form.OPERATINGCOMPANY }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="承诺书文件" prop="file">
|
||||
<layout-upload
|
||||
|
@ -44,9 +44,9 @@
|
|||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="MEETING_CONTENT">
|
||||
<el-form-item label="备注" prop="CONTENT">
|
||||
<el-input
|
||||
v-model="form.MEETING_CONTENT"
|
||||
v-model="form.CONTENT"
|
||||
type="textarea"
|
||||
placeholder="请输入内容"
|
||||
style="width: 300px"
|
||||
|
@ -61,14 +61,13 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, ref, toRaw } from "vue";
|
||||
import { ref, toRaw } from "vue";
|
||||
import { useVModels } from "@vueuse/core";
|
||||
import { ElMessage } from "element-plus";
|
||||
import LayoutUpload from "@/components/upload/index.vue";
|
||||
import {
|
||||
addCommitmentView,
|
||||
editCommitmentView,
|
||||
getSafetyCommitmentList,
|
||||
} from "@/request/traffic_safety_commitment.js";
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -108,14 +107,6 @@ const rules = {
|
|||
{ required: true, message: "请输入承诺书名称", trigger: "blur" },
|
||||
],
|
||||
};
|
||||
|
||||
const operatingCompany = ref("");
|
||||
onMounted(async () => {
|
||||
const resData = await getSafetyCommitmentList();
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
operatingCompany.value = resData.varList[0].CORP_NAME;
|
||||
}
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const fnClose = () => {
|
||||
formRef.value.resetFields();
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
import { useRoute } from "vue-router";
|
||||
import {
|
||||
deleteCommitmentView,
|
||||
getSafetyCommitmentList,
|
||||
getSafetyCommitmentUserList,
|
||||
} from "@/request/traffic_safety_commitment.js";
|
||||
import useListData from "@/assets/js/useListData.js";
|
||||
|
@ -154,9 +155,20 @@ const fnAddOrEdit = async (
|
|||
) => {
|
||||
data.addOrEditDialog.visible = true;
|
||||
data.addOrEditDialog.type = type;
|
||||
data.addOrEditDialog.form = {};
|
||||
if (type === "edit" && SECURITYCOMMITMENT_ID) {
|
||||
data.addOrEditDialog.form.SECURITYCOMMITMENT_ID = SECURITYCOMMITMENT_ID;
|
||||
if (type === "edit" && SECURITYCOMMITMENT_ID && USER_ID) {
|
||||
const resData = await getSafetyCommitmentList({
|
||||
SECURITYCOMMITMENT_ID,
|
||||
USER_ID,
|
||||
});
|
||||
if (resData && resData.varList && resData.varList.length > 0) {
|
||||
const detail = resData.varList.find(
|
||||
(detail) => detail.USER_ID === USER_ID
|
||||
);
|
||||
data.addOrEditDialog.form = {
|
||||
...detail,
|
||||
OPERATINGCOMPANY: detail.CORP_NAME,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
data.addOrEditDialog.form = { USER_ID };
|
||||
}
|
||||
|
|
|
@ -54,10 +54,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="NEWCOMMITMENTNAME"
|
||||
label="承诺书名称"
|
||||
width="250"
|
||||
label="用户名称"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="250">
|
||||
<el-table-column prop="COMMITMENTNAME" label="承诺书名称" width="250" />
|
||||
<el-table-column prop="COMPLETIONSTATUS" label="完成状态" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.COMPLETIONSTATUS === '1'">已上传</el-tag>
|
||||
<el-tag v-else>未上传</el-tag>
|
||||
|
@ -150,7 +151,7 @@ const data = reactive({
|
|||
watchEffect(() => {
|
||||
if (list.value.length > 0) {
|
||||
list.value.forEach((item) => {
|
||||
item.NEWCOMMITMENTNAME = `${item.NAME} 安全承诺书`;
|
||||
item.NEWCOMMITMENTNAME = `${item.NAME}`;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue