运单登记,地点管理,客户管理模块优化

dev
WenShiJun 2024-03-22 14:35:55 +08:00
parent 02a0c7fcae
commit deaa659d2b
17 changed files with 321 additions and 135 deletions

View File

@ -4,4 +4,7 @@ export const getSecurityCustomerList = (params) =>
post("/securitycustomer/listForSecurityCustomerManagement", params); // 客户管理列表 post("/securitycustomer/listForSecurityCustomerManagement", params); // 客户管理列表
export const addSafetyCustomerView = (params) => export const addSafetyCustomerView = (params) =>
upload("/securitycustomer/add", params); // 添加运单登记 upload("/securitycustomer/add", params); // 添加
export const deleteSafetyCustomerView = (params) =>
upload("/securitycustomer/delete", params); // 删除

View File

@ -5,3 +5,6 @@ export const getSecurityLocationList = (params) =>
export const addSafetyLocationView = (params) => export const addSafetyLocationView = (params) =>
post("/securitylocation/add", params); // 添加地段管理 post("/securitylocation/add", params); // 添加地段管理
export const deleteSafetyLocationView = (params) =>
post("/securitylocation/delete", params); // 添加地段管理

View File

@ -4,10 +4,16 @@ export const getSecurityWaybillreList = (params) =>
post("/waybillregistration/listForSecurityWaybillre", params); // 运单登记列表 post("/waybillregistration/listForSecurityWaybillre", params); // 运单登记列表
export const getSecurityPerson = (params) => export const getSecurityPerson = (params) =>
post("/waybillregistration/forSecurityPerson", params); // 部门人员信息 post("/waybillregistration/forSecurityPerson", params);
export const addSafetyThingsChecView = (params) => export const addSafetyWaybillreView = (params) =>
upload("/waybillregistration/add", params); // 添加运单登记 upload("/waybillregistration/add", params); // 添加运单登记
export const deleteSafetyWaybillreView = (params) =>
upload("/waybillregistration/delete", params); // 删除运单登记
export const getUserPersonTypeListAll = (params) => export const getUserPersonTypeListAll = (params) =>
post("/user/listSelectPersonType", params); post("/user/listSelectPersonType", params);
export const dateteSecurityAllWaybillre = (params) =>
post("/waybillregistration/deleteAll", params); // 批量删除

View File

@ -64,11 +64,22 @@
</el-table-column> </el-table-column>
<el-table-column prop="CUSTOMERNAME" label="客户名称" width="200" /> <el-table-column prop="CUSTOMERNAME" label="客户名称" width="200" />
<el-table-column prop="CONTACT" label="联系人" width="200" /> <el-table-column prop="CONTACT" label="联系人" width="200" />
<el-table-column prop="CONTACTPHONE" label="联系电话" width="150" /> <el-table-column prop="CONTACTPHONE" label="联系电话" width="180" />
<el-table-column prop="CUSTOMERADDRESS" label="客户地址" width="200" /> <el-table-column prop="CUSTOMERADDRESS" label="客户地址" width="200" />
<el-table-column prop="CORP_NAME" label="运输企业" width="150" /> <el-table-column prop="CORP_NAME" label="运输企业" width="190" />
<el-table-column prop="CREATETIME" label="创建时间" width="200" /> <el-table-column prop="CREATETIME" label="创建时间" width="200" />
<el-table-column label="操作" width="200"> </el-table-column> <el-table-column label="操作" width="130">
<template #default="{ row }">
<el-button
text
link
type="primary"
@click="deleteItem(row.CUSTOMERMANAGEMENT_ID)"
>
删除
</el-button>
</template>
</el-table-column>
<template #button> <template #button>
<el-button <el-button
type="primary" type="primary"
@ -90,9 +101,13 @@
import { serialNumber } from "@/assets/js/utils"; import { serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref } from "vue";
import { getSecurityCustomerList } from "@/request/customer_management.js"; import {
deleteSafetyCustomerView,
getSecurityCustomerList,
} from "@/request/customer_management.js";
import { getSecurityPerson } from "@/request/waybill_registration.js"; import { getSecurityPerson } from "@/request/waybill_registration.js";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter(); const router = useRouter();
const tableRef = ref(null); const tableRef = ref(null);
@ -112,6 +127,15 @@ const fnPerson = async () => {
const resData = await getSecurityPerson({}); const resData = await getSecurityPerson({});
data.unitsList = [resData.pd]; data.unitsList = [resData.pd];
}; };
//
const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning",
});
await deleteSafetyCustomerView({ CUSTOMERMANAGEMENT_ID: value });
ElMessage.success("删除成功");
fnGetData();
};
</script> </script>
<style scoped></style> <style scoped></style>

View File

@ -64,9 +64,20 @@
</el-table-column> </el-table-column>
<el-table-column prop="LOCATIONNAME" label="地点名称" width="300" /> <el-table-column prop="LOCATIONNAME" label="地点名称" width="300" />
<el-table-column prop="ADDRESSDETAILS" label="地址详情" width="300" /> <el-table-column prop="ADDRESSDETAILS" label="地址详情" width="300" />
<el-table-column prop="CORP_NAME" label="运输企业" width="250" /> <el-table-column prop="CORP_NAME" label="运输企业" width="300" />
<el-table-column prop="CREATETIME" label="创建时间" width="250" /> <el-table-column prop="CREATETIME" label="创建时间" width="250" />
<el-table-column label="操作" width="200"> </el-table-column> <el-table-column label="操作" width="150">
<template #default="{ row }">
<el-button
text
link
type="primary"
@click="deleteItem(row.LOCATIONMANAGEMENT_ID)"
>
删除
</el-button>
</template>
</el-table-column>
<template #button> <template #button>
<el-button <el-button
type="primary" type="primary"
@ -89,8 +100,12 @@ import { serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref } from "vue";
import { getSecurityPerson } from "@/request/waybill_registration.js"; import { getSecurityPerson } from "@/request/waybill_registration.js";
import { getSecurityLocationList } from "@/request/location_management.js"; import {
deleteSafetyLocationView,
getSecurityLocationList,
} from "@/request/location_management.js";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter(); const router = useRouter();
const tableRef = ref(null); const tableRef = ref(null);
@ -110,6 +125,15 @@ const fnPerson = async () => {
const resData = await getSecurityPerson({}); const resData = await getSecurityPerson({});
data.unitsList = [resData.pd]; data.unitsList = [resData.pd];
}; };
//
const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning",
});
await deleteSafetyLocationView({ LOCATIONMANAGEMENT_ID: value });
ElMessage.success("删除成功");
fnGetData();
};
</script> </script>
<style scoped></style> <style scoped></style>

View File

@ -85,10 +85,10 @@
placeholder="请选择货运挂车" placeholder="请选择货运挂车"
> >
<el-option <el-option
v-for="item in TRUCKMENU" v-for="item in data.OperationTruck"
:key="item.id" :key="item"
:label="item.id" :label="item"
:value="item.name" :value="item"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -107,9 +107,9 @@
> >
<el-option <el-option
v-for="item in data.clientOptionsList" v-for="item in data.clientOptionsList"
:key="item" :key="item.CUSTOMERNAME_ID"
:label="item" :label="item.CUSTOMERNAME"
:value="item" :value="item.CUSTOMERNAME_ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -121,13 +121,12 @@
placeholder="请选择委联系人" placeholder="请选择委联系人"
@change="changeCLIENTCONTACTPERSON" @change="changeCLIENTCONTACTPERSON"
> >
<template v-for="item in data.clientOptions" :key="item.CONTACT">
<el-option <el-option
v-if="item.CUSTOMERNAME === data.form.CLIENT" v-for="contact in data.clientOptions"
:label="item.CONTACT" :key="contact.CONTACT_ID"
:value="item.CONTACT" :label="contact.CONTACT"
:value="contact.CONTACT_ID"
/> />
</template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -148,9 +147,9 @@
> >
<el-option <el-option
v-for="item in data.confirmerOptionsList" v-for="item in data.confirmerOptionsList"
:key="item" :key="item.CUSTOMERNAME_ID"
:label="item" :label="item.CUSTOMERNAME"
:value="item" :value="item.CUSTOMERNAME_ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -159,19 +158,15 @@
<el-form-item label="联系人" prop="CONFIRMINGPERSON"> <el-form-item label="联系人" prop="CONFIRMINGPERSON">
<el-select <el-select
v-model="data.form.CONFIRMINGPERSON" v-model="data.form.CONFIRMINGPERSON"
placeholder="请选择联系人" placeholder="请选择确认方联系人"
@change="changeCONFIRMINGPERSON" @change="changeCONFIRMINGPERSON"
>
<template
v-for="item in data.confirmerOptions"
:key="item.CONTACT"
> >
<el-option <el-option
v-if="item.CUSTOMERNAME === data.form.CONFIRMER" v-for="contact in data.confirmerOptions"
:label="item.CONTACT" :key="contact.CONTACT_ID"
:value="item.CONTACT" :label="contact.CONTACT"
:value="contact.CONTACT_ID"
/> />
</template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -197,9 +192,9 @@
> >
<el-option <el-option
v-for="item in data.StartOptionsList" v-for="item in data.StartOptionsList"
:key="item" :key="item.LOCATIONNAME_ID"
:label="item" :label="item.LOCATIONNAME"
:value="item" :value="item.LOCATIONNAME_ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -210,17 +205,13 @@
v-model="data.form.SHIPPINGADDRESS" v-model="data.form.SHIPPINGADDRESS"
placeholder="请选择起运地址" placeholder="请选择起运地址"
@change="changeSHIPPINGADDRESS" @change="changeSHIPPINGADDRESS"
>
<template
v-for="item in data.StartOptions"
:key="item.ADDRESSDETAILS"
> >
<el-option <el-option
v-if="item.LOCATIONNAME === data.form.ORIGIN" v-for="item in data.StartOptions"
:key="item.ADDRESSDETAILS_ID"
:label="item.ADDRESSDETAILS" :label="item.ADDRESSDETAILS"
:value="item.ADDRESSDETAILS" :value="item.ADDRESSDETAILS_ID"
/> />
</template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -241,9 +232,9 @@
> >
<el-option <el-option
v-for="item in data.EndOptionsList" v-for="item in data.EndOptionsList"
:key="item" :key="item.LOCATIONNAME_ID"
:label="item" :label="item.LOCATIONNAME"
:value="item" :value="item.LOCATIONNAME_ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -254,17 +245,13 @@
v-model="data.form.DESTINATIONADDRESS" v-model="data.form.DESTINATIONADDRESS"
placeholder="请选择起运地址" placeholder="请选择起运地址"
@change="changeDESTINATIONADDRESS" @change="changeDESTINATIONADDRESS"
>
<template
v-for="item in data.EndOptions"
:key="item.ADDRESSDETAILS"
> >
<el-option <el-option
v-if="item.LOCATIONNAME === data.form.DESTINATION" v-for="item in data.EndOptions"
:key="item.ADDRESSDETAILS_ID"
:label="item.ADDRESSDETAILS" :label="item.ADDRESSDETAILS"
:value="item.ADDRESSDETAILS" :value="item.ADDRESSDETAILS_ID"
/> />
</template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -285,9 +272,8 @@
</template> </template>
<script setup> <script setup>
import { TRUCKMENU } from "@/assets/js/constant";
import { import {
addSafetyThingsChecView, addSafetyWaybillreView,
getSecurityPerson, getSecurityPerson,
getUserPersonTypeListAll, getUserPersonTypeListAll,
} from "@/request/waybill_registration.js"; } from "@/request/waybill_registration.js";
@ -300,6 +286,7 @@ import { getSecurityCustomerList } from "@/request/customer_management.js";
import { getSecurityLocationList } from "@/request/location_management.js"; import { getSecurityLocationList } from "@/request/location_management.js";
import { getOperationVehicleList } from "@/request/operation_vehicle.js"; import { getOperationVehicleList } from "@/request/operation_vehicle.js";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { getFreightTrailerList } from "@/request/enterprise_management.js";
const formRef = ref(null); const formRef = ref(null);
const rules = { const rules = {
@ -401,23 +388,48 @@ const data = reactive({
const router = useRouter(); const router = useRouter();
const changeCLIENT = () => { const changeCLIENT = () => {
//
data.form.CLIENTCONTACTPERSON = ""; data.form.CLIENTCONTACTPERSON = "";
data.form.CLIENTCONTACTPHONE = ""; data.form.CLIENTCONTACTPHONE = "";
const selectedClient = data.clientOptionsList.find(
(item) => item.CUSTOMERNAME_ID === data.form.CLIENT
);
data.clientOptions = selectedClient ? selectedClient.CONTACTS : [];
}; };
const changeCLIENTCONTACTPERSON = (e) => { const changeCLIENTCONTACTPERSON = (contactPersonId) => {
const info = data.clientOptions.find((v) => v.CONTACT === e); const selectedContact = data.clientOptions.find(
data.form.CLIENTCONTACTPHONE = info.CONTACTPHONE || ""; (item) => item.CONTACT_ID === contactPersonId
);
data.form.CLIENTCONTACTPHONE = selectedContact
? selectedContact.CONTACTPHONE
: "";
}; };
const changeCONFIRMER = () => { const changeCONFIRMER = () => {
//
data.form.CONFIRMINGPERSON = ""; data.form.CONFIRMINGPERSON = "";
data.form.CONFIRMINGPHONE = ""; data.form.CONFIRMINGPHONE = "";
//
const selectedConfirmer = data.confirmerOptionsList.find(
(item) => item.CUSTOMERNAME_ID === data.form.CONFIRMER
);
data.confirmerOptions = selectedConfirmer ? selectedConfirmer.CONTACTS : [];
}; };
const changeCONFIRMINGPERSON = (e) => { const changeCONFIRMINGPERSON = (contactPersonId) => {
const info = data.confirmerOptions.find((v) => v.CONTACT === e); //
data.form.CONFIRMINGPHONE = info.CONTACTPHONE || ""; const selectedContact = data.confirmerOptions.find(
(item) => item.CONTACT_ID === contactPersonId
);
//
data.form.CONFIRMINGPHONE = selectedContact
? selectedContact.CONTACTPHONE
: "";
}; };
const fnGetUnitsList = async () => { const fnGetUnitsList = async () => {
@ -427,66 +439,155 @@ const fnGetUnitsList = async () => {
fnGetUnitsList(); fnGetUnitsList();
const changeORIGIN = () => { const changeORIGIN = () => {
data.form.LOCATIONNAME = ""; //
data.form.SHIPPINGADDRESS = ""; data.form.SHIPPINGADDRESS = "";
data.form.STARTADMINISTRATIVEAREA = ""; data.form.STARTADMINISTRATIVEAREA = "";
//
const selectedLocation = data.StartOptionsList.find(
(location) => location.LOCATIONNAME_ID === data.form.ORIGIN
);
//
data.StartOptions = selectedLocation ? selectedLocation.LOCATION : [];
}; };
const changeDESTINATION = () => { const changeDESTINATION = () => {
data.form.LOCATIONNAME = ""; //
data.form.DESTINATIONADDRESS = ""; data.form.DESTINATIONADDRESS = "";
data.form.ENDDMINISTRATIVEAREA = ""; data.form.ENDDMINISTRATIVEAREA = "";
//
const selectedDestination = data.EndOptionsList.find(
(location) => location.LOCATIONNAME_ID === data.form.DESTINATION
);
//
data.EndOptions = selectedDestination ? selectedDestination.LOCATION : [];
}; };
const fnVehicle = async () => { const fnVehicle = async () => {
const res = await getOperationVehicleList(); const res = await getOperationVehicleList();
const varList = res.varList || []; const varList = res.varList || [];
data.OperationVehicle = varList.map((item) => item.PLATE_NUMBER); data.OperationVehicle = varList.map((item) => item.PLATE_NUMBER);
}; };
const fnTruck = async () => {
const res = await getFreightTrailerList();
const varList = res.varList || [];
data.OperationTruck = varList.map((item) => item.PLATE_NUMBER);
};
const fnCustomerType = async () => { const fnCustomerType = async () => {
const res = await getSecurityCustomerList(); const res = await getSecurityCustomerList();
const varList = res.varList; const varList = res.varList;
data.clientOptions = varList.filter((item) => item.CUSTOMERTYPE === "1"); const clientMap = new Map();
let clientOptionsList = JSON.parse(JSON.stringify(data.clientOptions)); varList.forEach((item) => {
clientOptionsList = clientOptionsList.map((v) => { if (item.CUSTOMERTYPE === "1") {
return v.CUSTOMERNAME; if (!clientMap.has(item.CUSTOMERNAME)) {
clientMap.set(item.CUSTOMERNAME, {
CUSTOMERNAME: item.CUSTOMERNAME,
CUSTOMERNAME_ID: item.CUSTOMERNAME_ID,
CONTACTS: [],
}); });
data.clientOptionsList = [...new Set(clientOptionsList)]; }
// CUSTOMERNAME
data.confirmerOptions = varList.filter((item) => item.CUSTOMERTYPE === "2"); clientMap.get(item.CUSTOMERNAME).CONTACTS.push({
CONTACT: item.CONTACT,
let confirmerOptionsList = JSON.parse(JSON.stringify(data.confirmerOptions)); CONTACT_ID: item.CONTACT_ID,
confirmerOptionsList = confirmerOptionsList.map((v) => { CONTACTPHONE: item.CONTACTPHONE,
return v.CUSTOMERNAME;
}); });
data.confirmerOptionsList = [...new Set(confirmerOptionsList)]; }
});
data.clientOptionsList = [...clientMap.values()];
const confirmerMap = new Map();
varList.forEach((item) => {
if (item.CUSTOMERTYPE === "2") {
if (!confirmerMap.has(item.CUSTOMERNAME)) {
confirmerMap.set(item.CUSTOMERNAME, {
CUSTOMERNAME: item.CUSTOMERNAME,
CUSTOMERNAME_ID: item.CUSTOMERNAME_ID,
CONTACTS: [],
});
}
// CUSTOMERNAME
confirmerMap.get(item.CUSTOMERNAME).CONTACTS.push({
CONTACT: item.CONTACT,
CONTACT_ID: item.CONTACT_ID,
CONTACTPHONE: item.CONTACTPHONE,
});
}
});
data.confirmerOptionsList = [...confirmerMap.values()];
}; };
const fnLocation = async () => { const fnLocation = async () => {
const res = await getSecurityLocationList(); const res = await getSecurityLocationList();
const varList = res.varList || []; const varList = res.varList || [];
data.StartOptions = varList.filter((item) => item.LOCATIONTYPE === "1");
let StartOptionsList = JSON.parse(JSON.stringify(data.StartOptions));
StartOptionsList = StartOptionsList.map((v) => {
return v.LOCATIONNAME;
});
data.StartOptionsList = [...new Set(StartOptionsList)];
data.EndOptions = varList.filter((item) => item.LOCATIONTYPE === "2"); const StartOptionstMap = new Map();
let EndOptionsList = JSON.parse(JSON.stringify(data.EndOptions)); varList.forEach((item) => {
EndOptionsList = EndOptionsList.map((v) => { if (item.LOCATIONTYPE === "1") {
return v.LOCATIONNAME; if (!StartOptionstMap.has(item.LOCATIONNAME)) {
StartOptionstMap.set(item.LOCATIONNAME, {
LOCATIONNAME: item.LOCATIONNAME,
LOCATIONNAME_ID: item.LOCATIONNAME_ID,
LOCATION: [],
}); });
data.EndOptionsList = [...new Set(EndOptionsList)]; }
// CUSTOMERNAME
StartOptionstMap.get(item.LOCATIONNAME).LOCATION.push({
ADDRESSDETAILS: item.ADDRESSDETAILS,
ADDRESSDETAILS_ID: item.ADDRESSDETAILS_ID,
ADMINISTRATIVEREGIONS: item.ADMINISTRATIVEREGIONS,
});
}
});
data.StartOptionsList = [...StartOptionstMap.values()];
const EndOptionsMap = new Map();
varList.forEach((item) => {
if (item.LOCATIONTYPE === "2") {
if (!EndOptionsMap.has(item.LOCATIONNAME)) {
EndOptionsMap.set(item.LOCATIONNAME, {
LOCATIONNAME: item.LOCATIONNAME,
LOCATIONNAME_ID: item.LOCATIONNAME_ID,
LOCATION: [],
});
}
// CUSTOMERNAME
EndOptionsMap.get(item.LOCATIONNAME).LOCATION.push({
ADDRESSDETAILS: item.ADDRESSDETAILS,
ADDRESSDETAILS_ID: item.ADDRESSDETAILS_ID,
ADMINISTRATIVEREGIONS: item.ADMINISTRATIVEREGIONS,
});
}
});
data.EndOptionsList = [...EndOptionsMap.values()];
}; };
const changeSHIPPINGADDRESS = (e) => { const changeSHIPPINGADDRESS = (addressDetailsId) => {
const info = data.StartOptions.find((v) => v.ADDRESSDETAILS === e); //
data.form.STARTADMINISTRATIVEAREA = info.ADMINISTRATIVEREGIONS || ""; const matchingAddress = data.StartOptionsList.flatMap(
(item) => item.LOCATION
).find((address) => address.ADDRESSDETAILS_ID === addressDetailsId);
//
data.form.STARTADMINISTRATIVEAREA = matchingAddress
? matchingAddress.ADMINISTRATIVEREGIONS
: "";
}; };
const changeDESTINATIONADDRESS = (e) => { const changeDESTINATIONADDRESS = (destinationAddressId) => {
const info = data.EndOptions.find((v) => v.ADDRESSDETAILS === e); //
data.form.ENDDMINISTRATIVEAREA = info.ADMINISTRATIVEREGIONS || ""; const matchingAddress = data.EndOptionsList.flatMap(
(item) => item.LOCATION
).find((address) => address.ADDRESSDETAILS_ID === destinationAddressId);
//
data.form.ENDDMINISTRATIVEAREA = matchingAddress
? matchingAddress.ADMINISTRATIVEREGIONS
: "";
}; };
const fnDepartmentChange = async () => { const fnDepartmentChange = async () => {
data.userList = []; data.userList = [];
@ -511,6 +612,7 @@ onMounted(async () => {
await fnCustomerType(); await fnCustomerType();
await fnLocation(); await fnLocation();
await fnVehicle(); await fnVehicle();
await fnTruck();
}); });
const fnPerson = async () => { const fnPerson = async () => {
const resData = await getSecurityPerson({}); const resData = await getSecurityPerson({});
@ -525,7 +627,7 @@ const fnSubmit = async () => {
formData.append(key, data.form[key]); formData.append(key, data.form[key]);
}); });
await addSafetyThingsChecView(formData); await addSafetyWaybillreView(formData);
ElMessage.success("添加成功"); ElMessage.success("添加成功");
await router.push("/electronic_waybill_management/waybill_registration"); await router.push("/electronic_waybill_management/waybill_registration");
Object.keys(data.form).forEach((key) => { Object.keys(data.form).forEach((key) => {

View File

@ -15,6 +15,7 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item label="运单状态" prop="WAYBILLSTATUS"> <el-form-item label="运单状态" prop="WAYBILLSTATUS">
<el-select v-model="searchForm.WAYBILLSTATUS"> <el-select v-model="searchForm.WAYBILLSTATUS">
<el-option label="收车后" :value="2" />
<el-option label="已出发" :value="1" /> <el-option label="已出发" :value="1" />
<el-option label="未出发" :value="0" /> <el-option label="未出发" :value="0" />
</el-select> </el-select>
@ -54,17 +55,28 @@
</el-table-column> </el-table-column>
<el-table-column prop="TRANSPORTVEHICLE" label="运输车辆" width="150" /> <el-table-column prop="TRANSPORTVEHICLE" label="运输车辆" width="150" />
<el-table-column prop="NAME" label="从业人员" width="150" /> <el-table-column prop="NAME" label="从业人员" width="150" />
<el-table-column prop="CLIENT" label="委托方" width="150"> <el-table-column prop="CLIENT_NAME" label="委托方" width="150">
</el-table-column> </el-table-column>
<el-table-column prop="CONFIRMER" label="确认方" width="150"> <el-table-column prop="CONFIRMER_NAME" label="确认方" width="150">
</el-table-column> </el-table-column>
<el-table-column prop="ORIGIN" label="起运地" width="150"> <el-table-column prop="ORIGIN_NAME" label="起运地" width="150">
</el-table-column> </el-table-column>
<el-table-column prop="DESTINATION" label="目的地" width="150"> <el-table-column prop="DESTINATION_NAME" label="目的地" width="150">
</el-table-column> </el-table-column>
<el-table-column prop="SHIPPINGDATE" label="承运日期" width="180"> <el-table-column prop="SHIPPINGDATE" label="承运日期" width="180">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120"> </el-table-column> <el-table-column label="操作" width="120">
<template #default="{ row }">
<el-button
text
link
type="primary"
@click="deleteItem(row.WAYBILLREGISTRATION_ID)"
>
删除
</el-button>
</template>
</el-table-column>
<template #button> <template #button>
<el-button <el-button
type="primary" type="primary"
@ -93,11 +105,12 @@
import { serialNumber } from "@/assets/js/utils.js"; import { serialNumber } from "@/assets/js/utils.js";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import { layoutFnGetNotificationsClassification } from "@/request/safety_production_related.js";
import { import {
layoutFnGetNotificationsClassification, dateteSecurityAllWaybillre,
dateteSecurityAllNotice, deleteSafetyWaybillreView,
} from "@/request/safety_production_related.js"; getSecurityWaybillreList,
import { getSecurityWaybillreList } from "@/request/waybill_registration.js"; } from "@/request/waybill_registration.js";
import { ElMessageBox, ElMessage } from "element-plus"; import { ElMessageBox, ElMessage } from "element-plus";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js"; import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
@ -113,6 +126,15 @@ const fnResetPaginationTransfer = () => {
DEPTIDS: searchForm.value.DEPTIDS?.join(","), DEPTIDS: searchForm.value.DEPTIDS?.join(","),
}); });
}; };
//
const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning",
});
await deleteSafetyWaybillreView({ WAYBILLREGISTRATION_ID: value });
ElMessage.success("删除成功");
fnGetData();
};
const fnBatchDelete = debounce( const fnBatchDelete = debounce(
1000, 1000,
async () => { async () => {
@ -124,9 +146,9 @@ const fnBatchDelete = debounce(
} }
await ElMessageBox.confirm("确定要删除选中的数据吗?", { type: "warning" }); await ElMessageBox.confirm("确定要删除选中的数据吗?", { type: "warning" });
const DATA_IDS = selectionData const DATA_IDS = selectionData
.map((item) => item.NOTIFICATION_ID) .map((item) => item.WAYBILLREGISTRATION_ID)
.join(","); .join(",");
await dateteSecurityAllNotice({ DATA_IDS }); await dateteSecurityAllWaybillre({ DATA_IDS });
ElMessage.success("删除成功"); ElMessage.success("删除成功");
fnResetPaginationTransfer(); fnResetPaginationTransfer();
}, },

View File

@ -8,7 +8,7 @@
> >
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="制度名称" prop="SYSTEMNAME"> <el-form-item label="名称" prop="SYSTEMNAME">
<el-input v-model="searchForm.SYSTEMNAME" /> <el-input v-model="searchForm.SYSTEMNAME" />
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -110,11 +110,7 @@
<el-table-column prop="CAR_OWNERS" label="车主业户" width="150" /> <el-table-column prop="CAR_OWNERS" label="车主业户" width="150" />
<el-table-column prop="TELEPHONE" label="联系电话" width="150" /> <el-table-column prop="TELEPHONE" label="联系电话" width="150" />
<el-table-column prop="PROCESSING_DATE" label="办理日期" width="150" /> <el-table-column prop="PROCESSING_DATE" label="办理日期" width="150" />
<el-table-column <el-table-column prop="NAME" label="年检周期" width="150" />
prop="ANNUAL_INSPECTION_CYCLE_NAME"
label="年检周期"
width="150"
/>
<el-table-column prop="DUE_DATE" label="到期日期" width="150" /> <el-table-column prop="DUE_DATE" label="到期日期" width="150" />
<el-table-column prop="REGISTRANT" label="登记人" width="150" /> <el-table-column prop="REGISTRANT" label="登记人" width="150" />
<!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>--> <!--<el-table-column prop="CONTACTS" label="经营企业" width="150"/>-->

View File

@ -106,11 +106,6 @@
</template> </template>
</layout-table> </layout-table>
</layout-card> </layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div> </div>
</template> </template>

View File

@ -8,7 +8,11 @@
> >
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="职业危害告知书" prop="OCCUPATIONALNAME"> <el-form-item
label="职业危害告知书"
prop="OCCUPATIONALNAME"
label-width="120px"
>
<el-input v-model="searchForm.OCCUPATIONALNAME" /> <el-input v-model="searchForm.OCCUPATIONALNAME" />
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -112,12 +112,14 @@
v-model:visible="data.addOrEditDialog.visible" v-model:visible="data.addOrEditDialog.visible"
v-model:form="data.addOrEditDialog.form" v-model:form="data.addOrEditDialog.form"
:type="data.addOrEditDialog.type" :type="data.addOrEditDialog.type"
:options="[]"
:loading="false"
@get-data="fnResetPagination" @get-data="fnResetPagination"
/> />
<view-info <view-info
v-model:visible="data.viewDialog.visible" v-model:visible="data.viewDialog.visible"
:info="data.viewDialog.info" :info="data.viewDialog.info"
:label-name="labelName" label-name="详情"
/> />
</div> </div>
</template> </template>

View File

@ -101,11 +101,6 @@
</template> </template>
</layout-table> </layout-table>
</layout-card> </layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div> </div>
</template> </template>

View File

@ -8,7 +8,7 @@
> >
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="制度名称" prop="SYSTEMNAME"> <el-form-item label="名称" prop="SYSTEMNAME">
<el-input v-model="searchForm.SYSTEMNAME" /> <el-input v-model="searchForm.SYSTEMNAME" />
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -8,7 +8,7 @@
> >
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="制度名称" prop="SYSTEMNAME"> <el-form-item label="名称" prop="SYSTEMNAME">
<el-input v-model="searchForm.SYSTEMNAME" /> <el-input v-model="searchForm.SYSTEMNAME" />
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -54,9 +54,14 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="会议状态" prop="SIGNEDDATE"> <el-table-column label="会议状态" prop="SIGNEDDATE">
<!-- <template #default="{ row }">-->
<!-- <el-tag v-if="row.MEETING_STATUS === 1">{{ "" }}</el-tag>-->
<!-- <el-tag v-else></el-tag>-->
<!-- </template>-->
<template #default="{ row }"> <template #default="{ row }">
<el-tag v-if="row.MEETING_STATUS === 1">{{ "" }}</el-tag> <el-tag v-if="row.MEETING_STATUS === '0'"></el-tag>
<el-tag v-else></el-tag> <el-tag v-else-if="row.MEETING_STATUS === '1'">进行中</el-tag>
<el-tag v-else-if="row.MEETING_STATUS === '2'">已结束</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="MEETING_DATE" label="会议时间" /> <el-table-column prop="MEETING_DATE" label="会议时间" />
@ -142,6 +147,7 @@ import { useRouter } from "vue-router";
const router = useRouter(); const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } = const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getSafetyMeetingList); useListData(getSafetyMeetingList);
// //
const deleteItem = async (value) => { const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, { await ElMessageBox.confirm(`确定要删除吗?`, {

View File

@ -8,7 +8,11 @@
> >
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="岗位安全责任书" prop="RESPONSIBILITYNAME"> <el-form-item
label="岗位安全责任书"
prop="RESPONSIBILITYNAME"
label-width="120px"
>
<el-input v-model="searchForm.RESPONSIBILITYNAME" /> <el-input v-model="searchForm.RESPONSIBILITYNAME" />
</el-form-item> </el-form-item>
</el-col> </el-col>