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

# Conflicts:
#	src/assets/js/constant.js
dev
xiepeng 2024-03-26 18:04:58 +08:00
commit 25680c9e26
51 changed files with 752 additions and 499 deletions

2
.env
View File

@ -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/

View File

@ -0,0 +1,7 @@
VITE_BASE_URL=http://192.168.0.31:7082/integrated_traffic/
VITE_PROXY=/api/
VITE_FILE_URL=https://file.zcloudchina.com/YTHFile
VITE_TEMPLATE_URL=https://qaaq.qhdsafety.com/file/
VITE_ON_LINE_WEB_SOCKET_URL=wss://qaaq.qhdsafety.com/zxwebsocket/
VITE_LEARNING_WEB_SOCKET_URL=wss://qaaq.qhdsafety.com/websocket/

View File

@ -49,6 +49,24 @@ export const LOCATIONTYPEMENU = [
{ id: "目的地", name: "2" },
];
export const PENALTYMETHODMENU = [
{ id: "罚款", name: "1" },
{ id: "罚钱", name: "2" },
{ id: "赔礼道歉", name: "3" },
];
export const EDUCATIONALMENU = [
{ id: "专科", name: "1" },
{ id: "本科", name: "2" },
{ id: "博士", name: "3" },
];
export const ACCIDENTNATUREMENU = [
{ id: "火灾", name: "1" },
{ id: "车祸", name: "2" },
{ id: "天灾", name: "3" },
];
export const PRINT_STYLE =
'<style type="text/css" media="print">\n' +
" @page { size: landscape; }\n" +
@ -66,6 +84,12 @@ export const OPERATING_VEHICLE_TYPE_LIST = [
{ ID: "2", NAME: "货运挂车" },
];
export const INSURANCEMENU = [
// 运营车型
{ ID: "1", NAME: "太平洋保险公司" },
{ ID: "2", NAME: "中国人保" },
];
export const DUE_STATUS_LIST = [
// 到期状态
{ ID: "1", NAME: "未到期" },
@ -94,9 +118,14 @@ export const TAXES_PERIOD = [
export const EXPIRE_STATUS = [
// 到期状态
{ ID: "1", NAME: "未到期" },
{ ID: "0", NAME: "已到期" },
{ ID: "0", NAME: "已到期" },
];
export const MAINTENANCE_LEVEL_LIST = [
// 维保等级
{ ID: "1", NAME: "一级维保" },
{ ID: "2", NAME: "二级维保" },
];
export const NETWORK_STATE = [
// 入网状态
{ ID: "0", NAME: "已入网" },

View File

@ -15,6 +15,7 @@
<el-select
v-model="data.form.CUSTOMERTYPE"
placeholder="请选择客户类型"
clearable
>
<el-option
v-for="item in CUSTOMERTYPEMENU"
@ -30,6 +31,7 @@
<el-input
v-model="data.form.CUSTOMERNAME"
placeholder="请输入客户名称"
clearable
/>
</el-form-item>
</el-col>
@ -50,7 +52,11 @@
:label="'联系人' + (index + 1)"
:prop="`contacts.${index}.CONTACT`"
>
<el-input v-model="contact.CONTACT" placeholder="请输入联系人" />
<el-input
v-model="contact.CONTACT"
placeholder="请输入联系人"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="7">
@ -61,6 +67,7 @@
<el-input
v-model="contact.CONTACTPHONE"
placeholder="请输入联系电话"
clearable
/>
</el-form-item>
</el-col>
@ -72,6 +79,7 @@
<el-input
v-model="contact.CUSTOMERADDRESS"
placeholder="请输入客户地址"
clearable
/>
</el-form-item>
</el-col>

View File

@ -9,7 +9,7 @@
<el-row>
<el-col :span="6">
<el-form-item label="客户类型" prop="CUSTOMERTYPE">
<el-select v-model="searchForm.CUSTOMERTYPE">
<el-select v-model="searchForm.CUSTOMERTYPE" clearable>
<el-option label="委托方" :value="1" />
<el-option label="确认方" :value="2" />
</el-select>
@ -17,7 +17,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="运输企业" prop="TRANSPORTATIONCOMPANY">
<el-select v-model="searchForm.TRANSPORTATIONCOMPANY">
<el-select v-model="searchForm.TRANSPORTATIONCOMPANY" clearable>
<el-option
v-for="item in data.unitsList"
:key="item.CORPINFO_ID"
@ -73,7 +73,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.CUSTOMERMANAGEMENT_ID)"
>
删除

View File

@ -13,6 +13,7 @@
<el-select
v-model="data.form.LOCATIONTYPE"
placeholder="请选择地点类型"
clearable
>
<el-option
v-for="item in LOCATIONTYPEMENU"
@ -28,6 +29,7 @@
<el-input
v-model="data.form.LOCATIONNAME"
placeholder="请输入地点名称"
clearable
/>
</el-form-item>
</el-col>
@ -37,6 +39,7 @@
ref="territoryCascaderRef"
v-model="data.form.ADMINISTRATIVEREGIONS"
:level="2"
clearable
/>
</el-form-item>
</el-col>
@ -45,6 +48,7 @@
<el-input
v-model="data.form.ADDRESSDETAILS"
placeholder="请输入地址详情"
clearable
/>
</el-form-item>
</el-col>

View File

@ -9,7 +9,7 @@
<el-row>
<el-col :span="6">
<el-form-item label="地点类型" prop="LOCATIONTYPE">
<el-select v-model="searchForm.LOCATIONTYPE">
<el-select v-model="searchForm.LOCATIONTYPE" clearable>
<el-option label="起运地" :value="1" />
<el-option label="目的地" :value="2" />
</el-select>
@ -17,7 +17,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="运输企业" prop="TRANSPORTATIONCOMPANY">
<el-select v-model="searchForm.TRANSPORTATIONCOMPANY">
<el-select v-model="searchForm.TRANSPORTATIONCOMPANY" clearable>
<el-option
v-for="item in data.unitsList"
:key="item.CORPINFO_ID"
@ -71,7 +71,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.LOCATIONMANAGEMENT_ID)"
>
删除

View File

@ -34,6 +34,7 @@
<el-input
v-model="data.form.WAYBILLNUMBER"
placeholder="请输入运单编号"
clearable
/>
</el-form-item>
</el-col>
@ -45,6 +46,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="选择时间"
clearable
/>
</el-form-item>
</el-col>
@ -53,6 +55,7 @@
<el-select
v-model="data.form.TRANSPORTVEHICLE"
placeholder="请选择运输车辆"
clearable
>
<el-option
v-for="item in data.OperationVehicle"
@ -68,6 +71,7 @@
<el-select
v-model="data.form.PRACTITIONER"
placeholder="请选择从业人员"
clearable
>
<el-option
v-for="item in data.userTypeList"
@ -83,6 +87,7 @@
<el-select
v-model="data.form.TRUCKCART"
placeholder="请选择货运挂车"
clearable
>
<el-option
v-for="item in data.OperationTruck"
@ -103,6 +108,7 @@
<el-select
v-model="data.form.CLIENT"
placeholder="请选择委托方"
clearable
@change="changeCLIENT"
>
<el-option
@ -119,6 +125,7 @@
<el-select
v-model="data.form.CLIENTCONTACTPERSON"
placeholder="请选择委联系人"
clearable
@change="changeCLIENTCONTACTPERSON"
>
<el-option
@ -135,6 +142,7 @@
<el-input
v-model="data.form.CLIENTCONTACTPHONE"
placeholder="请输入联系电话"
clearable
/>
</el-form-item>
</el-col>
@ -143,6 +151,7 @@
<el-select
v-model="data.form.CONFIRMER"
placeholder="请选择确认方"
clearable
@change="changeCONFIRMER"
>
<el-option
@ -159,6 +168,7 @@
<el-select
v-model="data.form.CONFIRMINGPERSON"
placeholder="请选择确认方联系人"
clearable
@change="changeCONFIRMINGPERSON"
>
<el-option
@ -175,6 +185,7 @@
<el-input
v-model="data.form.CONFIRMINGPHONE"
placeholder="请输入联系电话"
clearable
/>
</el-form-item>
</el-col>
@ -188,6 +199,7 @@
<el-select
v-model="data.form.ORIGIN"
placeholder="请选择起运地点"
clearable
@change="changeORIGIN"
>
<el-option
@ -204,6 +216,7 @@
<el-select
v-model="data.form.SHIPPINGADDRESS"
placeholder="请选择起运地址"
clearable
@change="changeSHIPPINGADDRESS"
>
<el-option
@ -220,6 +233,7 @@
<el-input
v-model="data.form.STARTADMINISTRATIVEAREA"
placeholder="请输入行政区域"
clearable
/>
</el-form-item>
</el-col>
@ -228,6 +242,7 @@
<el-select
v-model="data.form.DESTINATION"
placeholder="请选择目的地点"
clearable
@change="changeDESTINATION"
>
<el-option
@ -244,6 +259,7 @@
<el-select
v-model="data.form.DESTINATIONADDRESS"
placeholder="请选择起运地址"
clearable
@change="changeDESTINATIONADDRESS"
>
<el-option
@ -260,6 +276,7 @@
<el-input
v-model="data.form.ENDDMINISTRATIVEAREA"
placeholder="请输入行政区域"
clearable
/>
</el-form-item>
</el-col>

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="车辆车牌" prop="TRANSPORTVEHICLE">
<el-input v-model="searchForm.TRANSPORTVEHICLE" />
<el-input v-model="searchForm.TRANSPORTVEHICLE" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运单状态" prop="WAYBILLSTATUS">
<el-select v-model="searchForm.WAYBILLSTATUS">
<el-select v-model="searchForm.WAYBILLSTATUS" clearable>
<el-option label="收车后" :value="2" />
<el-option label="已出发" :value="1" />
<el-option label="未出发" :value="0" />

View 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>

View File

@ -53,7 +53,7 @@ const props = defineProps({
const emits = defineEmits(["update:visible"]);
const visible = useVModel(props, "visible", emits);
const options = [
"编号",
"编号",
"车牌号",
"车架号",
"挂车类型",

View File

@ -6,7 +6,7 @@
<el-divider content-position="left">基本信息</el-divider>
</el-col>
<el-col :span="12">
<el-form-item label="编号" prop="NUM">
<el-form-item label="编号" prop="NUM">
<el-input v-model="form.NUM" maxlength="50" show-word-limit />
</el-form-item>
</el-col>

View File

@ -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>
@ -57,8 +60,8 @@
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="NUM" label="自编号" width="150" />
<el-table-column prop="PLATE_NUMBER" label="车牌号" width="150" />
<el-table-column prop="NUM" label="自编号" width="200" />
<el-table-column prop="PLATE_NUMBER" label="车牌号" width="200" />
<el-table-column prop="CONTACTS" label="联系人" width="150" />
<el-table-column prop="CONTACT_PHONE" label="联系电话" width="150" />
<el-table-column prop="TRAILER_TYPE" label="挂车类型" width="150" />
@ -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>

View File

@ -3,7 +3,7 @@
<div id="printContainer">
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions :column="2" border>
<el-descriptions-item label-class-name="width_200" label="编号">
<el-descriptions-item label-class-name="width_200" label="编号">
{{ info.NUM }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="车牌号">
@ -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>

View File

@ -7,7 +7,7 @@
<el-form-item label="编号" prop="GOODSSELFNUMBER">
<el-input
v-model="form.GOODSSELFNUMBER"
placeholder="请填写编号"
placeholder="请填写编号"
/>
</el-form-item>
</el-col>

View File

@ -16,12 +16,13 @@
<el-input
v-model="searchForm.KEYWORDS"
placeholder="请输入关键字"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="人员类型" prop="PERSONNEL_TYPE">
<el-select v-model="searchForm.PERSONNEL_TYPE">
<el-select v-model="searchForm.PERSONNEL_TYPE" clearable>
<el-option
v-for="item in data.personnelTypeList"
:key="item.DICTIONARIES_ID"
@ -106,14 +107,11 @@
查看
</el-button>
<el-button
v-if="
buttonJurisdiction.edit &&
row.APPLY_STATUS !== '0'
"
type="primary"
text
link
@click="
v-if="buttonJurisdiction.edit && row.APPLY_STATUS !== '0'"
type="primary"
text
link
@click="
router.push({
path: '/enterprise_management/user_practitioner/edit',
query: {

View File

@ -10,6 +10,7 @@
v-model="form.CONTRACTNAME"
placeholder="请输入合同名称"
style="width: 300px"
clearable
></el-input>
</el-form-item>
<el-form-item
@ -17,7 +18,7 @@
label="经营企业"
prop="OPERATINGCOMPANY"
>
<span>{{ operatingCompany }}</span>
<span>{{ form.OPERATINGCOMPANY }}</span>
</el-form-item>
<el-form-item label="合同文件" prop="file">
<layout-upload
@ -34,11 +35,12 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="选择时间"
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"
@ -53,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({
@ -99,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();

View File

@ -65,7 +65,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.LABORCONTRACT_ID)"
>
删除
@ -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 };
}

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="合同名称" prop="CONTRACTNAME">
<el-input v-model="searchForm.CONTRACTNAME" />
<el-input v-model="searchForm.CONTRACTNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -22,7 +22,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -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}`;
});
}
});

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="名称" prop="SYSTEMNAME">
<el-input v-model="searchForm.SYSTEMNAME" />
<el-input v-model="searchForm.SYSTEMNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -22,7 +22,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -91,7 +91,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.STAFFING_ID)"
>
删除

View File

@ -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();
// 128129
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>

View File

@ -53,7 +53,7 @@ const props = defineProps({
const emits = defineEmits(["update:visible"]);
const visible = useVModel(props, "visible", emits);
const options = [
"编号",
"编号",
"车牌号",
"车架号",
"挂车类型",

View File

@ -101,15 +101,15 @@
<!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>-->
<el-table-column prop="REMINDER_STATUS" label="提醒状态" width="150">
<template #default="{ row }">
<span v-if="row.REMINDER_STATUS === '1'"></span>
<span v-else-if="row.REMINDER_STATUS === '0'">关闭</span>
<el-tag v-if="row.REMINDER_STATUS === '1'"></el-tag>
<el-tag v-else-if="row.REMINDER_STATUS === '0'">关闭</el-tag>
</template>
</el-table-column>
<el-table-column prop="DUE_DATE_TYPE" label="到期状态" width="150">
<template #default="{ row }">
<span v-if="row.DUE_DATE_TYPE === 1"></span>
<span v-else-if="row.DUE_DATE_TYPE === 0">已到期</span>
<span v-else-if="row.DUE_DATE_TYPE === 2">即将到期</span>
<el-tag v-if="row.DUE_DATE_TYPE === 1"></el-tag>
<el-tag v-else-if="row.DUE_DATE_TYPE === 0">已到期</el-tag>
<el-tag v-else-if="row.DUE_DATE_TYPE === 2">即将到期</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="250">

View File

@ -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="备注"

View File

@ -43,47 +43,49 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="VIN">
<el-input v-model="data.busInfo.VIN" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车辆类型" prop="TRAILER_TYPE">
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS ">
<el-input v-model="data.busInfo.CAR_OWNERS" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
<el-date-picker
v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属区域" prop="COMPANY_AREA">
<el-input v-model="data.busInfo.COMPANY_AREA" disabled />
</el-form-item>
</el-col>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="VIN">
<el-input v-model="data.busInfo.VIN" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车辆类型" prop="TRAILER_TYPE">
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS ">
<el-input v-model="data.busInfo.CAR_OWNERS" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
<el-date-picker
v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属区域" prop="COMPANY_AREA">
<el-input v-model="data.busInfo.COMPANY_AREA" disabled />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-divider content-position="left">年检信息</el-divider>
</el-col>

View File

@ -53,7 +53,7 @@ const props = defineProps({
const emits = defineEmits(["update:visible"]);
const visible = useVModel(props, "visible", emits);
const options = [
"编号",
"编号",
"车牌号",
"车架号",
"挂车类型",

View File

@ -98,47 +98,46 @@
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="NUM" label="编号" width="150" />
<el-table-column prop="VEHICLE_MODEL" label="运营车型" width="150">
<el-table-column prop="NUM" label="编号" width="100" />
<el-table-column prop="VEHICLE_MODEL" label="运营车型" width="100">
<template #default="{ row }">
{{
translationStatus(row.VEHICLE_MODEL, OPERATING_VEHICLE_TYPE_LIST)
}}
</template>
</el-table-column>
<el-table-column prop="PLATE_NUMBER" label="车牌号" width="150" />
<el-table-column prop="CAR_OWNERS" label="车主业户" width="150" />
<el-table-column prop="TELEPHONE" label="联系电话" width="150" />
<el-table-column prop="PROCESSING_DATE" label="办理日期" width="150" />
<el-table-column
prop="ANNUAL_INSPECTION_CYCLE_NAME"
label="年检周期"
width="150"
/>
<el-table-column prop="DUE_DATE" label="到期日期" width="150" />
<el-table-column prop="REGISTRANT" label="登记人" width="150" />
<el-table-column prop="PLATE_NUMBER" label="车牌号" width="100" />
<el-table-column prop="CAR_OWNERS" label="车主业户" width="100" />
<el-table-column prop="TELEPHONE" label="联系电话" width="100" />
<el-table-column prop="PROCESSING_DATE" label="办理日期" width="100" />
<el-table-column prop="NAME" label="年检周期" width="100" />
<el-table-column prop="DUE_DATE" label="到期日期" width="100" />
<el-table-column prop="REGISTRANT" label="登记人" width="100" />
<!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>-->
<el-table-column prop="REMINDER_STATUS" label="提醒状态" width="150">
<el-table-column prop="REMINDER_STATUS" label="提醒状态" width="100">
<template #default="{ row }">
<span v-if="row.REMINDER_STATUS === '1'"></span>
<span v-else-if="row.REMINDER_STATUS === '0'">关闭</span>
<el-tag v-if="row.REMINDER_STATUS === '1'" type="success"
>开启</el-tag
>
<el-tag v-else-if="row.REMINDER_STATUS === '0'" type="info"
>关闭</el-tag
>
</template>
</el-table-column>
<el-table-column prop="DUE_DATE_TYPE" label="到期状态" width="150">
<el-table-column prop="DUE_DATE_TYPE" label="到期状态" width="100">
<template #default="{ row }">
<span v-if="row.DUE_DATE_TYPE === 1"></span>
<span v-else-if="row.DUE_DATE_TYPE === 0">已到期</span>
<span v-else-if="row.DUE_DATE_TYPE === 2">即将到期</span>
</template>
</el-table-column>
<el-table-column prop="ARCHIVES_TYPE" label="档案状态" width="150" />
<el-table-column prop="CREATTIME" label="创建时间" width="150" />
<el-table-column prop="OPERATTIME" label="修改时间" width="150" />
<el-table-column label="操作" width="250">
<el-table-column prop="ARCHIVES_TYPE" label="档案状态" width="100" />
<el-table-column prop="CREATTIME" label="创建时间" width="100" />
<el-table-column prop="OPERATTIME" label="修改时间" width="100" />
<el-table-column label="操作" width="100">
<template #default="{ row }">
<el-button
type="primary"
text
link
@click="
router.push({
@ -146,12 +145,10 @@
query: { INSPECTANNUALLY_ID: row.INSPECTANNUALLY_ID },
})
"
>查看</el-button
>
查看
</el-button>
<el-button
type="primary"
text
link
@click="
router.push({
@ -159,34 +156,40 @@
query: { INSPECTANNUALLY_ID: row.INSPECTANNUALLY_ID },
})
"
>
编辑
>编辑
</el-button>
<el-button
type="primary"
text
v-if="expandedRows[row.INSPECTANNUALLY_ID]"
type="danger"
link
@click="fnDelete(row.INSPECTANNUALLY_ID)"
>
删除
>删除
</el-button>
<el-button
v-if="row.REMINDER_STATUS === '0'"
v-if="
expandedRows[row.INSPECTANNUALLY_ID] &&
row.REMINDER_STATUS === '0'
"
type="primary"
text
link
@click="fnStatusChange(row.INSPECTANNUALLY_ID, '1')"
>开启</el-button
>
开启
</el-button>
<el-button
v-if="row.REMINDER_STATUS === '1'"
v-if="
expandedRows[row.INSPECTANNUALLY_ID] &&
row.REMINDER_STATUS === '1'
"
type="primary"
text
link
@click="fnStatusChange(row.INSPECTANNUALLY_ID, '0')"
>关闭
</el-button>
<el-button
type="text"
@click="toggleExpand(row.INSPECTANNUALLY_ID)"
>
关闭
{{ expandedRows[row.INSPECTANNUALLY_ID] ? "收起" : "更多" }}
</el-button>
</template>
</el-table-column>
@ -261,6 +264,18 @@ const fnResetPaginationTransfer = () => {
REMINDER_STATUS: searchForm.value.REMINDER_STATUS,
});
};
// 使
const expandedRows = reactive({}); //
//
function toggleExpand(rowId) {
if (expandedRows[rowId] === undefined) {
expandedRows[rowId] = true; //
} else {
expandedRows[rowId] = !expandedRows[rowId]; //
}
}
const fnDelete = debounce(
1000,
async (INSPECTANNUALLY_ID) => {

View File

@ -43,213 +43,223 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="VIN">
<el-input v-model="data.busInfo.VIN" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车辆类型" prop="TRAILER_TYPE">
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS ">
<el-input v-model="data.busInfo.CAR_OWNERS" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
<el-date-picker
v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属区域" prop="COMPANY_AREA">
<el-input v-model="data.busInfo.COMPANY_AREA" disabled />
</el-form-item>
</el-col>
<el-col :span="24">
<el-divider content-position="left">投保信息</el-divider>
</el-col>
<el-col :span="12">
<el-form-item label="编号" prop="NUM">
<el-input v-model="form.NUM" maxlength="50" show-word-limit />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主业户" prop="CAR_OWNERS">
<el-input
v-model="form.CAR_OWNERS"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="TELEPHONE">
<el-input v-model="form.TELEPHONE" maxlength="11" show-word-limit />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input
v-model="form.REGISTRANT"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险公司" prop="INSURANCE_COMPANY">
<el-select v-model="form.INSURANCE_COMPANY">
<el-option
v-for="item in insuranceCompanyList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.DICTIONARIES_ID"
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="VIN">
<el-input v-model="data.busInfo.VIN" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车辆类型" prop="TRAILER_TYPE">
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS ">
<el-input v-model="data.busInfo.CAR_OWNERS" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
<el-date-picker
v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险项目" prop="INSURANCE_COVERAGE">
<el-input
v-model="form.INSURANCE_COVERAGE"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="办理日期" prop="PROCESSING_DATE">
<el-date-picker
v-model="form.PROCESSING_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效日期" prop="EFFECTIVE_DATE">
<el-date-picker
v-model="form.EFFECTIVE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@change="getDueDate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="到期日期" prop="DUE_DATE">
<el-date-picker
v-model="form.DUE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险全费" prop="ALL_FEES">
<el-input v-model="form.ALL_FEES" maxlength="50" show-word-limit />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="净费实收" prop="ACTUAL_COLLECTION">
<el-input
v-model="form.ACTUAL_COLLECTION"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@change="getRemiderDate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提醒日期" prop="REMINDER_DATE">
<el-date-picker
v-model="form.REMINDER_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提醒状态" prop="REMINDER_STATUS">
<el-switch
v-model="form.REMINDER_STATUS"
inline-prompt
active-text="开"
inactive-text="关"
active-value="1"
inactive-value="0"
/>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属区域" prop="COMPANY_AREA">
<el-input v-model="data.busInfo.COMPANY_AREA" disabled />
</el-form-item>
</el-col>
<el-row>
<el-col :span="24">
<el-divider content-position="left">投保信息</el-divider>
</el-col>
<el-col :span="12">
<el-form-item label="编号" prop="NUM">
<el-input v-model="form.NUM" maxlength="50" show-word-limit />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车主业户" prop="CAR_OWNERS">
<el-input
v-model="form.CAR_OWNERS"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="TELEPHONE">
<el-input
v-model="form.TELEPHONE"
maxlength="11"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input
v-model="form.REGISTRANT"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险公司" prop="INSURANCE_COMPANY">
<el-select v-model="form.INSURANCE_COMPANY">
<el-option
v-for="item in INSURANCEMENU"
:key="item.ID"
:label="item.NAME"
:value="item.ID"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险项目" prop="INSURANCE_COVERAGE">
<el-input
v-model="form.INSURANCE_COVERAGE"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="办理日期" prop="PROCESSING_DATE">
<el-date-picker
v-model="form.PROCESSING_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效日期" prop="EFFECTIVE_DATE">
<el-date-picker
v-model="form.EFFECTIVE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@change="getDueDate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="到期日期" prop="DUE_DATE">
<el-date-picker
v-model="form.DUE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险全费" prop="ALL_FEES">
<el-input
v-model="form.ALL_FEES"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="净费实收" prop="ACTUAL_COLLECTION">
<el-input
v-model="form.ACTUAL_COLLECTION"
maxlength="50"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@change="getRemiderDate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提醒日期" prop="REMINDER_DATE">
<el-date-picker
v-model="form.REMINDER_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提醒状态" prop="REMINDER_STATUS">
<el-switch
v-model="form.REMINDER_STATUS"
inline-prompt
active-text="开"
inactive-text="关"
active-value="1"
inactive-value="0"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="附件上传" prop="ATTACHMENT_UPLOAD">
<layout-upload
v-model:file-list="form.ATTACHMENT_UPLOAD"
accept=".pdf"
:limit="99"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险资料" prop="INSUREINFO">
<layout-upload
v-model:file-list="form.INSUREINFO"
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
v-model="form.NOTES"
type="textarea"
:autosize="{ minRows: 3 }"
maxlength="250"
show-word-limit
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-col :span="12">
<el-form-item label="附件上传" prop="ATTACHMENT_UPLOAD">
<layout-upload
v-model:file-list="form.ATTACHMENT_UPLOAD"
accept=".pdf"
:limit="99"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险资料" prop="INSUREINFO">
<layout-upload
v-model:file-list="form.INSUREINFO"
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
v-model="form.NOTES"
type="textarea"
:autosize="{ minRows: 3 }"
maxlength="250"
show-word-limit
/>
</el-form-item>
</el-col>
</el-row> </el-row></el-row
></el-form>
<div class="mt-10 tc">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
@ -266,8 +276,10 @@ import {
setInsureEdit,
getTrailerList,
} from "@/request/mechanical_files.js";
import { OPERATING_VEHICLE_TYPE_LIST } from "@/assets/js/constant.js";
import { layoutFnGetInsuranceCompany } from "@/assets/js/data_dictionary.js";
import {
INSURANCEMENU,
OPERATING_VEHICLE_TYPE_LIST,
} from "@/assets/js/constant.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";
import { useRoute, useRouter } from "vue-router";
@ -280,8 +292,6 @@ import {
const route = useRoute();
const router = useRouter();
const INSURE_ID = route.query.INSURE_ID;
const insuranceCompanyList = await layoutFnGetInsuranceCompany();
console.log(insuranceCompanyList, "11111111111111111111111111111111111");
const formRef = ref(null);
const form = ref({
VEHICLE_MODEL: "",

View File

@ -53,7 +53,7 @@ const props = defineProps({
const emits = defineEmits(["update:visible"]);
const visible = useVModel(props, "visible", emits);
const options = [
"编号",
"编号",
"车牌号",
"车架号",
"挂车类型",

View File

@ -137,8 +137,8 @@
<!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>-->
<el-table-column prop="REMINDER_STATUS" label="提醒状态" width="150">
<template #default="{ row }">
<span v-if="row.REMINDER_STATUS === '1'"></span>
<span v-else-if="row.REMINDER_STATUS === '0'">关闭</span>
<el-tag v-if="row.REMINDER_STATUS === '1'"></el-tag>
<el-tag v-else-if="row.REMINDER_STATUS === '0'">关闭</el-tag>
</template>
</el-table-column>
<el-table-column prop="DUE_DATE_TYPE" label="到期状态" width="150">

View File

@ -53,7 +53,7 @@ const props = defineProps({
const emits = defineEmits(["update:visible"]);
const visible = useVModel(props, "visible", emits);
const options = [
"编号",
"编号",
"车牌号",
"车架号",
"挂车类型",

View File

@ -108,15 +108,15 @@
<!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>-->
<el-table-column prop="REMINDER_STATUS" label="提醒状态" width="150">
<template #default="{ row }">
<span v-if="row.REMINDER_STATUS === '1'"></span>
<span v-else-if="row.REMINDER_STATUS === '0'">关闭</span>
<el-tag v-if="row.REMINDER_STATUS === '1'"></el-tag>
<el-tag v-else-if="row.REMINDER_STATUS === '0'">关闭</el-tag>
</template>
</el-table-column>
<el-table-column prop="DUE_DATE_TYPE" label="到期状态" width="150">
<template #default="{ row }">
<span v-if="row.DUE_DATE_TYPE === 1"></span>
<span v-else-if="row.DUE_DATE_TYPE === 0">已到期</span>
<span v-else-if="row.DUE_DATE_TYPE === 2">即将到期</span>
<el-tag v-if="row.DUE_DATE_TYPE === 1"></el-tag>
<el-tag v-else-if="row.DUE_DATE_TYPE === 0">已到期</el-tag>
<el-tag v-else-if="row.DUE_DATE_TYPE === 2">即将到期</el-tag>
</template>
</el-table-column>
<el-table-column prop="ARCHIVES_TYPE" label="档案状态" width="150" />

View File

@ -53,7 +53,7 @@ const props = defineProps({
const emits = defineEmits(["update:visible"]);
const visible = useVModel(props, "visible", emits);
const options = [
"编号",
"编号",
"车牌号",
"车架号",
"挂车类型",

View File

@ -98,7 +98,7 @@
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="NUM" label="编号" width="150" />
<el-table-column prop="OPERATIONS_ID" label="编号" width="150" />
<el-table-column prop="VEHICLE_MODEL" label="运营车型" width="150">
<template #default="{ row }">
{{
@ -116,8 +116,14 @@
<!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>-->
<el-table-column prop="REMINDER_STATUS" label="提醒状态" width="150">
<template #default="{ row }">
<span v-if="row.REMINDER_STATUS === '1'"></span>
<span v-else-if="row.REMINDER_STATUS === '0'">关闭</span>
<!-- <span v-if="row.REMINDER_STATUS === '1'"></span>-->
<!-- <span v-else-if="row.REMINDER_STATUS === '0'">关闭</span>-->
<el-tag v-if="row.REMINDER_STATUS === '1'" type="success"
>开启</el-tag
>
<el-tag v-else-if="row.REMINDER_STATUS === '0'" type="info"
>关闭</el-tag
>
</template>
</el-table-column>
<el-table-column prop="DUE_DATE_TYPE" label="到期状态" width="150">

View File

@ -14,6 +14,7 @@
v-model="form.OCCUPATIONALNAME"
placeholder="请输入职业危害告知书名称"
style="width: 300px"
clearable
></el-input>
</el-form-item>
<el-form-item
@ -21,7 +22,7 @@
label="经营企业"
prop="OPERATINGCOMPANY"
>
<span>{{ operatingCompany }}</span>
<span>{{ form.OPERATINGCOMPANY }}</span>
</el-form-item>
<el-form-item label="职业危害告知书" prop="file">
<layout-upload
@ -38,11 +39,12 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="选择时间"
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"
@ -57,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({
@ -105,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();

View File

@ -67,7 +67,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.OCCUPATIONALHAZARDS_ID)"
>
删除
@ -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 };
}

View File

@ -13,12 +13,12 @@
prop="OCCUPATIONALNAME"
label-width="120px"
>
<el-input v-model="searchForm.OCCUPATIONALNAME" />
<el-input v-model="searchForm.OCCUPATIONALNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -26,7 +26,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -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}`;
});
}
});

View File

@ -10,6 +10,7 @@
v-model="form.SYSTEMNAME"
placeholder="请输入名称"
style="width: 300px"
clearable
></el-input>
</el-form-item>
<el-form-item
@ -34,6 +35,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="选择时间"
clearable
/>
</el-form-item>
</el-form>

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="名称" prop="SYSTEMNAME">
<el-input v-model="searchForm.SYSTEMNAME" />
<el-input v-model="searchForm.SYSTEMNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -22,7 +22,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -90,7 +90,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.SAFETYASSESSMENT_ID)"
>
删除

View File

@ -10,6 +10,7 @@
v-model="form.SYSTEMNAME"
placeholder="请输入名称"
style="width: 300px"
clearable
></el-input>
</el-form-item>
<el-form-item
@ -17,7 +18,7 @@
label="经营企业"
prop="OPERATINGCOMPANY"
>
<span>{{ operatingCompany }}</span>
<span>{{ form.OPERATINGCOMPANY }}</span>
</el-form-item>
<el-form-item label="会议附件" prop="file">
<layout-upload
@ -34,6 +35,7 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="选择时间"
clearable
/>
</el-form-item>
</el-form>
@ -45,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({
@ -89,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();

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="名称" prop="SYSTEMNAME">
<el-input v-model="searchForm.SYSTEMNAME" />
<el-input v-model="searchForm.SYSTEMNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -22,7 +22,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -90,7 +90,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.SAFETYPRODUCTION_ID)"
>
删除
@ -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 = {};
}

View File

@ -13,6 +13,7 @@
<el-input
v-model="data.form.MEETING_TITLE"
placeholder="请输入会议标题"
clearable
/>
</el-form-item>
</el-col>
@ -21,6 +22,7 @@
<el-select
v-model="data.form.MEETING_TYPE"
placeholder="请选择会议类型"
clearable
@change="handleMeetingTypeChange"
>
<el-option
@ -37,6 +39,7 @@
<el-input
v-model="data.form.MEETING_ADDRESS"
placeholder="请输入会议地点"
clearable
/>
</el-form-item>
</el-col>
@ -49,6 +52,7 @@
value-format="YYYY-MM-DD"
start-placeholder="开始时间"
end-placeholder="结束时间"
clearable
/>
</el-form-item>
</el-col>
@ -57,12 +61,17 @@
<el-input
v-model="data.form.HOST_PERSON"
placeholder="请输入主持人"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="记录人" prop="RECORDER">
<el-input v-model="data.form.RECORDER" placeholder="请输入记录人" />
<el-input
v-model="data.form.RECORDER"
placeholder="请输入记录人"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="会议标题" prop="MEETING_TITLE">
<el-input v-model="searchForm.MEETING_TITLE" />
<el-input v-model="searchForm.MEETING_TITLE" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="会议类型" prop="MEETING_TYPE">
<el-select v-model="searchForm.MEETING_TYPE">
<el-select v-model="searchForm.MEETING_TYPE" clearable>
<el-option
v-for="item in MEETINGTYPEMENU"
:key="item.id"

View File

@ -10,12 +10,20 @@
<el-row>
<el-col :span="8">
<el-form-item label="通知标题" prop="TITLE">
<el-input v-model="data.form.TITLE" placeholder="请输入内容" />
<el-input
v-model="data.form.TITLE"
placeholder="请输入内容"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="通知等级" prop="LEVEL">
<el-select v-model="data.form.LEVEL" placeholder="请选择通知等级">
<el-select
v-model="data.form.LEVEL"
placeholder="请选择通知等级"
clearable
>
<el-option
v-for="item in relatedClassificationList"
:key="item.BIANMA"

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="通知标题" prop="TITLE">
<el-input v-model="searchForm.TITLE" />
<el-input v-model="searchForm.TITLE" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="回复状态" prop="REPLYSTATUS">
<el-select v-model="searchForm.REPLYSTATUS">
<el-select v-model="searchForm.REPLYSTATUS" clearable>
<el-option label="已回复" :value="1" />
<!-- 1代表已回复 -->
<el-option label="未回复" :value="0" />
@ -24,7 +24,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="通知等级" prop="RISKUNITNAME">
<el-select v-model="searchForm.RISKUNITNAME">
<el-select v-model="searchForm.RISKUNITNAME" clearable>
<el-option
v-for="item in relatedClassificationList"
:key="item.BIANMA"

View File

@ -14,6 +14,7 @@
v-model="form.RESPONSIBILITYNAME"
placeholder="请输入岗位安全责任书"
style="width: 300px"
clearable
></el-input>
</el-form-item>
<el-form-item
@ -21,7 +22,7 @@
label="经营企业"
prop="OPERATINGCOMPANY"
>
<span>{{ operatingCompany }}</span>
<span>{{ form.OPERATINGCOMPANY }}</span>
</el-form-item>
<el-form-item label="岗位安全责任书" prop="file">
<layout-upload
@ -38,14 +39,17 @@
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"
clearable
></el-input>
</el-form-item>
</el-form>
@ -57,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({
@ -105,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();

View File

@ -67,7 +67,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.SAFETYRESPONSIBILITY_ID)"
>
删除
@ -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 };
}

View File

@ -13,12 +13,12 @@
prop="RESPONSIBILITYNAME"
label-width="120px"
>
<el-input v-model="searchForm.RESPONSIBILITYNAME" />
<el-input v-model="searchForm.RESPONSIBILITYNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -26,7 +26,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -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}`;
});
}
});

View File

@ -9,10 +9,12 @@
v-if="type === 'add'"
label="承诺书名称"
prop="COMMITMENTNAME"
clearable
>
<el-input
v-model="form.COMMITMENTNAME"
placeholder="请输入承诺书名称"
clearable
style="width: 300px"
></el-input>
</el-form-item>
@ -21,7 +23,7 @@
label="经营企业"
prop="OPERATINGCOMPANY"
>
<span>{{ operatingCompany }}</span>
<span>{{ form.OPERATINGCOMPANY }}</span>
</el-form-item>
<el-form-item label="承诺书文件" prop="file">
<layout-upload
@ -39,11 +41,12 @@
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"
@ -58,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({
@ -105,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();

View File

@ -67,7 +67,7 @@
<el-button
text
link
type="primary"
type="danger"
@click="deleteItem(row.SECURITYCOMMITMENT_ID)"
>
删除
@ -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 };
}

View File

@ -9,12 +9,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="承诺书名称" prop="COMMITMENTNAME">
<el-input v-model="searchForm.COMMITMENTNAME" />
<el-input v-model="searchForm.COMMITMENTNAME" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="完成状态" prop="COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS">
<el-select v-model="searchForm.COMPLETIONSTATUS" clearable>
<el-option label="已上传" :value="1" />
<el-option label="未上传" :value="0" />
</el-select>
@ -22,7 +22,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="有效状态" prop="VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS">
<el-select v-model="searchForm.VALIDSTATUS" clearable>
<el-option label="正常" :value="1" />
<el-option label="未生效" :value="0" />
</el-select>
@ -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}`;
});
}
});