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

# Conflicts:
#	src/views/enterprise_management/basics_info_management/operation_vehicle/index.vue
#	src/views/mechanical_files/inspect_annually/index.vue
dev
xiepeng 2024-04-01 10:44:15 +08:00
commit 1306882ed0
99 changed files with 889 additions and 689 deletions

View File

@ -16,7 +16,7 @@ export const MENU = [
{ title: "双重预防", model: MODEL["3"] },
{ title: "教育培训", model: MODEL["4"] },
{ title: "综合管理", model: MODEL["5"] },
{ title: "定位管理", model: MODEL["6"] },
// { title: "定位管理", model: MODEL["6"] },
];
// 安全生成及电子运单管理
export const PRACTITIONERMENU = [
@ -139,11 +139,11 @@ export const REMINDER_STATUS = [
{ ID: "1", NAME: "关闭" },
];
export const REMIND_DAYS = [
export const REMIND_DAYS = [
// 提醒天数
{ ID: "0", NAME: "30天", NUM: "30" },
{ ID: "1", NAME: "45天", NUM: "45" },
{ ID: "2", NAME: "90天", NUM: "90" }
{ ID: "2", NAME: "90天", NUM: "90" },
];
// export const MAINTENANCE_LEVEL_LIST = [

View File

@ -414,8 +414,6 @@ export function subtractDaysFromDate(date, daysToSubtract, type = false) {
} else if (Object.prototype.toString.call(date) === "[object Date]") {
// 直接传入了 Date 对象
newDate = date;
} else {
console.log("无效的输入参数");
}
if (type) {
newDate.setDate(newDate.getDate() + daysToSubtract);

View File

@ -4,9 +4,9 @@
<div class="logo" />
<div class="menu">
<ul>
<li>
<!-- <li>
<div class="title">BI</div>
</li>
</li>-->
<template v-for="(item, index) in MENU" :key="index">
<li
:class="{ active: item.model === menuStore.getModel }"

View File

@ -11,16 +11,16 @@ export const getLevels = (params) =>
});
// 获取数据字典
export const getLevelsByObject = (params) =>
post("/dictionaries/getDictList", {
loading: false,
...params,
});
post("/dictionaries/getDictList", {
loading: false,
...params,
});
// 获取数据字典
export const getLevelCustom = (params) =>
post("/dictionaries/getLevelCustom", {
loading: false,
...params,
});
post("/dictionaries/getLevelCustom", {
loading: false,
...params,
});
// 获取数据字典
export const getLevelsCorp = (params) =>
post("/dictionariesCorp/getLevels", {

View File

@ -26,7 +26,8 @@ export const getOperationsList = (params) => post("/operations/list", params); /
export const getOperationsView = (params) => post("/operations/goEdit", params); // 运营管理查看
export const setOperationsAdd = (params) => post("/operations/add", params); // 运营管理新增
export const setOperationsEdit = (params) => post("/operations/edit", params); // 运营管理修改
export const getOperationTrailerList = (params) => post("/operations/vehicleList", params);
export const getOperationTrailerList = (params) =>
post("/operations/vehicleList", params);
export const setOperationsDelete = (params) =>
post("/operations/delete", params); // 运营管理删除
export const setOperationsEdit2 = (params) => post("/operations/edit2", params); // 运营管理修改开启关闭
@ -41,7 +42,8 @@ export const setMaintenanceDelete = (params) =>
export const setMaintenanceEdit2 = (params) =>
post("/maintenance/edit2", params); // 维保管理修改开启关闭
export const getTrailerListMaintenance = (params) => post("/maintenance/vehicleList", params);
export const getTrailerListMaintenance = (params) =>
post("/maintenance/vehicleList", params);
export const getBeidouList = (params) => post("/beidou/list", params); // 维保管理列表
export const getBeidouView = (params) => post("/beidou/goEdit", params); // 维保管理查看
@ -50,4 +52,5 @@ export const setBeidouEdit = (params) => post("/beidou/edit", params); // 维保
export const setBeidouDelete = (params) => post("/beidou/delete", params); // 维保管理删除
export const setBeidouEdit2 = (params) => post("/beidou/edit2", params); // 维保管理修改开启关闭
export const getTrailerListCompass = (params) => post("/beidou/vehicleList", params);
export const getTrailerListCompass = (params) =>
post("/beidou/vehicleList", params);

View File

@ -108,8 +108,6 @@ export const findByPlateNumber = (params) =>
const getCorpList = (params) => post("/operatingvehicles/corpList", params);
export const getOperationVehicleCorpList1 = async () => {
const resData = await getCorpList();
return resData.list;

View File

@ -6,7 +6,9 @@ export const setDrivingCommitmentDelete = (params) =>
post("/drivingcommitment/delete", params); // 行车日志删除
export const getSafetyDrivingCommitmentView = (params) =>
post("/drivingcommitment/goEdit", params); // 安全例会详情
post("/drivingcommitment/goEdit", params); // 行车承诺详情
export const setDrivingCommitmentAdd = (params) => post("/drivingcommitment/add", params); // 风险点单元添加
export const setDrivingCommitmentEdit = (params) => post("/drivingcommitment/edit", params); // 风险点单元修改
export const setDrivingCommitmentAdd = (params) =>
post("/drivingcommitment/add", params); // 行车承诺添加
export const setDrivingCommitmentEdit = (params) =>
post("/drivingcommitment/edit", params); // 行车承诺修改

View File

@ -6,7 +6,7 @@ export const setDrivingTypeDelete = (params) =>
post("/drivingtype/delete", params); // 行车日志删除
export const getSafetyDrivingTypeView = (params) =>
post("/drivingtype/goEdit", params); // 安全例会详情
post("/drivingtype/goEdit", params); // 行车排查项类型详情
export const setDrivingTypeAdd = (params) => post("/drivingtype/add", params); // 风险点单元添加
export const setDrivingTypeEdit = (params) => post("/drivingtype/edit", params); // 风险点单元修改
export const setDrivingTypeAdd = (params) => post("/drivingtype/add", params); // 行车排查项类型添加
export const setDrivingTypeEdit = (params) => post("/drivingtype/edit", params); // 行车排查项类型修改

View File

@ -12,7 +12,8 @@ export const setPractitionerReview = (params) =>
export const getPractitionerInfo = (params) =>
post("/user/getPractitionerInfo", params);
export const getPractitionerForEdit = (params) => post("/user/getPractitionerForEdit", params); // 用户管理查看
export const getPractitionerForEdit = (params) =>
post("/user/getPractitionerForEdit", params); // 用户管理查看
// 从业人员添加(需从业人员确认)
export const setPractitionerAdd = (params) =>

View File

@ -4,7 +4,7 @@
<el-form
:model="searchForm"
label-width="80px"
@submit.prevent="fnResetPagination"
@submit.prevent="fnResetPaginationTransfer"
>
<el-row>
<el-col :span="4">
@ -25,11 +25,14 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="获取时间" prop="DATES">
<el-form-item label="获取时间" prop="dates">
<el-date-picker
v-model="searchForm.DATES"
v-model="searchForm.dates"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
@ -49,7 +52,7 @@
<el-col :span="6">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit"> 搜索 </el-button>
<el-button native-type="reset" @click="fnResetPagination">
<el-button native-type="reset" @click="fnResetPaginationTransfer">
重置
</el-button>
</el-form-item>
@ -61,7 +64,7 @@
<layout-table
v-model:pagination="pagination"
:data="list"
@get-data="fnGetData"
@get-data="fnGetDataTransfer"
>
<el-table-column label="序号" width="60">
<template #default="{ $index }">
@ -138,6 +141,18 @@ const statusList = [
];
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getPdffileList);
const fnGetDataTransfer = () => {
fnGetData({
STARTTIME: searchForm.value.dates?.[0],
ENDTIME: searchForm.value.dates?.[1],
});
};
const fnResetPaginationTransfer = () => {
fnResetPagination({
STARTTIME: searchForm.value.dates?.[0],
ENDTIME: searchForm.value.dates?.[1],
});
};
const fnHandleDownload = (filePath) => {
window.open(FILE_URL + filePath);
};

View File

@ -126,7 +126,6 @@ const fnSubmit = debounce(
Object.keys(props.outerLayerForm).forEach((key) => {
formData.append(key, props.outerLayerForm[key]);
});
console.log(props.outerLayerForm);
formData.append("REVIEW_USER", form.value.REVIEW_USER);
formData.append("DEPARTMENT", form.value.DEPARTMENT_NAME);
formData.append("DUTIES", form.value.DUTIES);

View File

@ -413,18 +413,18 @@
<td>{{ data.classInfo.USER_ID_CARD }}</td>
<td>学历</td>
<td>{{ data.classInfo.DEGREE_OF_EDUCATION_NAME }}</td>
<td>专业</td>
<td>{{ data.classInfo.MAJOR }}</td>
<td>毕业院校及专业</td>
<td>{{ data.classInfo.UNIVERSITY }}</td>
</tr>
<tr>
<td>职务/职称</td>
<td>{{ data.classInfo.DUTIES }}</td>
<td>{{ data.classInfo.DUTIES_NAME }}</td>
<td>部门</td>
<td>{{ data.classInfo.DEPARTMENT_NAME }}</td>
<td>工种</td>
<td>{{ data.classInfo.POST_NAME }}</td>
<td>行业类别</td>
<td>{{ data.classInfo.INDUSTRY_ALL_NAME }}</td>
<td>{{ data.classInfo.CORP_TYPE_NAME }}</td>
<td>联系电话</td>
<td>{{ data.classInfo.PHONE }}</td>
</tr>

View File

@ -36,8 +36,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="STATUS">
<el-select v-model="searchForm.STATUS">
<el-form-item label="状态" prop="STATE">
<el-select v-model="searchForm.STATE">
<el-option
v-for="item in statusList"
:key="item.ID"
@ -167,7 +167,7 @@ import {
} from "@/request/training_archive_management.js";
import { useRoute, useRouter } from "vue-router";
import ClassFileExport from "@/views/archives_management/user/components/class_file_export.vue";
import { ElMessage } from "element-plus";
import { ElMessage, ElMessageBox } from "element-plus";
const route = useRoute();
const router = useRouter();
@ -213,21 +213,20 @@ const fnExport = () => {
const fnSubmit = async (checkArchivesList) => {
const selectionData = tableRef.value.getSelectionRows();
let cnt = 0;
if (checkArchivesList.indexOf("人员登记表") !== -1) {
selectionData.forEach((item) => {
if (
!(
item.STATE === "6" ||
(item.EXAMINATION === "1" &&
parseInt(item.STAGEEXAMSCORE) > -1 &&
parseInt(item.STUDYSTATE) !== "5") ||
(item.EXAMINATION === 0 && parseInt(item.STUDYSTATE) > 1)
)
) {
cnt = cnt + 1;
}
});
}
selectionData.forEach((item) => {
if (
!(
item.STATE === "6" ||
(item.EXAMINATION === 1 &&
parseInt(item.STAGEEXAMSCORE) > -1 &&
parseInt(item.STUDYSTATE) !== 5) ||
(item.EXAMINATION === 0 && parseInt(item.STUDYSTATE) > 1)
)
) {
cnt = cnt + 1; //
}
});
if (cnt === selectionData.length) {
ElMessage.warning("所选中的内容不符合导出条件");
} else {
@ -245,6 +244,11 @@ const fnSubmit = async (checkArchivesList) => {
curriculum: JSON.stringify(curriculum),
checkArchivesList,
});
await ElMessageBox.confirm(
"导出后请前往档案下载中下载该档案!",
"温馨提示",
{ type: "info" }
);
}
};
</script>

View File

@ -58,18 +58,6 @@
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="certificate">
<span>3是否下载培训证明</span>
<div class="ml-20">
<el-switch
v-model="form.certificate"
active-text="是"
inactive-text="否"
/>
</div>
</el-form-item>
</el-col>
</el-form>
<template #footer>
<el-button @click="fnClose"></el-button>
@ -131,9 +119,6 @@ const fnSubmit = async () => {
if (form.value.register) {
form.value.checkArchivesList.push({ sort: 50, label: "人员登记表" });
}
if (form.value.certificate) {
form.value.checkArchivesList.push({ sort: 60, label: "培训证明" });
}
if (form.value.checkArchivesList.length === 0) {
ElMessage.warning("请选择要导出的项");
return;

View File

@ -7,9 +7,9 @@
<el-form ref="formRef" :rules="rules" :model="form" label-width="100px">
<el-form-item label="问询内容" prop="INQUIRYCONTENT">
<el-input
v-model="form.INQUIRYCONTENT"
type="textarea"
:autosize="{ minRows: 5 }"
v-model="form.INQUIRYCONTENT"
type="textarea"
:autosize="{ minRows: 5 }"
/>
</el-form-item>
</el-form>
@ -26,7 +26,10 @@ import { useVModels } from "@vueuse/core";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { ElMessage } from "element-plus";
import {setDrivingCommitmentAdd, setDrivingCommitmentEdit} from "@/request/traffic_driving_commitment.js";
import {
setDrivingCommitmentAdd,
setDrivingCommitmentEdit,
} from "@/request/traffic_driving_commitment.js";
const props = defineProps({
visible: {

View File

@ -146,7 +146,6 @@ const data = reactive({
});
const fnGetData = async () => {
const resData = await getSafetyDrivingLogView({ WAYBILLREGISTRATION_ID });
console.log(resData, "11111111111");
data.info = resData.pd;
data.commitmentList = resData.commitmentList;
};

View File

@ -8,21 +8,21 @@
<el-form-item label="排查项类型" prop="CHECKTYPE_ID">
<el-select v-model="form.CHECKTYPE_ID">
<el-option
v-for="item in drivingTypeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
v-for="item in drivingTypeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
<el-form-item label="排查项名称" prop="CHECKITEMNAME">
<el-input v-model="form.CHECKITEMNAME"/>
<el-input v-model="form.CHECKITEMNAME" />
</el-form-item>
<el-form-item label="排查项说明" prop="REMARKS">
<el-input
v-model="form.REMARKS"
type="textarea"
:autosize="{ minRows: 5 }"
v-model="form.REMARKS"
type="textarea"
:autosize="{ minRows: 5 }"
/>
</el-form-item>
</el-form>
@ -39,8 +39,11 @@ import { useVModels } from "@vueuse/core";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { ElMessage } from "element-plus";
import {setDrivingTypeAdd, setDrivingTypeEdit} from "@/request/traffic_driving_type.js";
import {layoutFnGetDrivingType} from "@/assets/js/data_dictionary.js";
import {
setDrivingTypeAdd,
setDrivingTypeEdit,
} from "@/request/traffic_driving_type.js";
import { layoutFnGetDrivingType } from "@/assets/js/data_dictionary.js";
const props = defineProps({
visible: {
@ -68,9 +71,7 @@ const rules = {
CHECKITEMNAME: [
{ required: true, message: "排查项名称不能为空", trigger: "blur" },
],
REMARKS: [
{ required: true, message: "排查项说明不能为空", trigger: "blur" },
],
REMARKS: [{ required: true, message: "排查项说明不能为空", trigger: "blur" }],
};
const formRef = ref(null);
const fnClose = () => {

View File

@ -33,18 +33,18 @@
<td style="width: 200px">
{{ data.evaluationDialogForm.DEGREE_OF_EDUCATION }}
</td>
<td style="width: 60px">专业</td>
<td>{{ data.evaluationDialogForm.MAJOR }}</td>
<td style="width: 60px">毕业院校及专业</td>
<td>{{ data.evaluationDialogForm.UNIVERSITY }}</td>
</tr>
<tr>
<td>职务/职称</td>
<td>{{ data.evaluationDialogForm.DUTIES }}</td>
<td>{{ data.evaluationDialogForm.DUTIES_NAME }}</td>
<td>部门</td>
<td>{{ data.evaluationDialogForm.DEPARTMENT_NAME }}</td>
<td>工种</td>
<td>{{ data.evaluationDialogForm.POST_NAME }}</td>
<td>行业类别</td>
<td>{{ data.evaluationDialogForm.INDUSTRY_ALL_NAME }}</td>
<td>{{ data.evaluationDialogForm.CORP_TYPE_NAME }}</td>
<td>联系电话</td>
<td>{{ data.evaluationDialogForm.PHONE }}</td>
</tr>

View File

@ -8,7 +8,7 @@
>
<el-row>
<el-col :span="6">
<el-form-item label="姓名" prop="STUDENTNAME">
<el-form-item label="姓名" prop="NAME">
<el-input v-model="searchForm.NAME" placeholder="请输入姓名" />
</el-form-item>
</el-col>

View File

@ -4,14 +4,6 @@
<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">
@ -278,7 +270,7 @@ import {
setFreightTrailerEdit,
} from "@/request/enterprise_management.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage, ElMessageBox } from "element-plus";
import { ElMessage } from "element-plus";
import { useRoute, useRouter } from "vue-router";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { addingPrefixToFile } from "@/assets/js/utils.js";
@ -377,16 +369,6 @@ 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 () => {

View File

@ -125,7 +125,7 @@
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>
</div>
<div v-html="PRINT_STYLE" />
<!-- <div v-html="PRINT_STYLE" />-->
</layout-card>
</template>

View File

@ -449,15 +449,14 @@ const rules = {
{ required: true, message: "请输入发动机号", trigger: "blur" },
{ min: 7, max: 8, message: "请输入7-8位发动机号", trigger: "blur" },
{
pattern:
/^[A-Z0-9a-z\d]{7,8}$/,
pattern: /^[A-Z0-9a-z\d]{7,8}$/,
message: "请输入正确的发动机号",
},
],
VOUCH_NUMBERLOAD: [
{ required: true, message: "请输入核定载人数", trigger: "blur" },
{ pattern: /^([1-9][0-9]*)$/, message: "请输入整数", trigger: "blur" },
]
],
};
const formRef = ref(null);
const form = ref({

View File

@ -5,10 +5,7 @@
<el-row>
<el-col :span="6">
<el-form-item label="编号" prop="GOODSSELFNUMBER">
<el-input
v-model="form.GOODSSELFNUMBER"
placeholder="请填写编号"
/>
<el-input v-model="form.GOODSSELFNUMBER" placeholder="请填写编号" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -328,7 +325,8 @@ import {
import {
findByIdOperatingVehicleInfo,
editOperatingVehicleInfo,
addOperatingVehicleInfo, findByPlateNumber
addOperatingVehicleInfo,
findByPlateNumber,
} from "@/request/operation_vehicle.js";
import useFormValidate from "@/assets/js/useFormValidate.js";
@ -343,17 +341,17 @@ import LayoutDepartment from "@/components/department/index.vue";
const route = useRoute();
const router = useRouter();
const { OPERATING_ID } = route.query;
let plateNumber = ''
let plateNumber = "";
const isPlateNumberRepetition = async (rule, vehicleNumber, callback) => {
if (vehicleNumber) {
const vehicleCount = await findByPlateNumber({ vehicleNumber });
if(vehicleCount.pd) {
if(vehicleCount.pd.PLATE_NUMBER === plateNumber){
if (vehicleCount.pd) {
if (vehicleCount.pd.PLATE_NUMBER === plateNumber) {
callback();
}else{
callback(new Error("车辆已存在"))
} else {
callback(new Error("车辆已存在"));
}
}else callback();
} else callback();
}
};
const isVehicleNumber = (rule, vehicleNumber, callback) => {
@ -495,7 +493,7 @@ const fnGetData = async () => {
form.value.OPERATING_CERTIFICATE_PHOTO = addingPrefixToFile(
resData.operatingcertificatephoto
);
plateNumber = form.value.PLATE_NUMBER
plateNumber = form.value.PLATE_NUMBER;
};
fnGetData();
const fnSubmit = debounce(

View File

@ -57,7 +57,7 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<!-- <el-col :span="6">
<el-form-item label="主动安全" prop="ACTIVE_SAFETY">
<el-select v-model="searchForm.ACTIVE_SAFETY" clearable>
<el-option
@ -72,7 +72,9 @@
<el-col :span="12">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPaginationTransfer"></el-button>
<el-button native-type="reset" @click="fnResetPaginationTransfer"
>重置</el-button
>
</el-form-item>
</el-col>
<el-col :span="6">
@ -182,9 +184,7 @@
<script setup>
import { serialNumber } from "@/assets/js/utils.js";
import useListData from "@/assets/js/useListData.js";
import {
layoutFnGetVehicleColor,
} from "@/assets/js/operation_vehicle.js";
import { layoutFnGetVehicleColor } from "@/assets/js/operation_vehicle.js";
import {
getOperationVehicleList,
setOperationVehicleDelete,
@ -196,13 +196,14 @@ import { ElMessage, ElMessageBox } from "element-plus";
import { NETWORK_STATE } from "@/assets/js/constant.js";
import { reactive } from "vue";
import { setFreightTrailerImport } from "@/request/enterprise_management.js";
import LayoutImportFile from "@/components/import_file/index.vue";
const router = useRouter();
const data = reactive({
importDialogVisible: false,
});
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef} =
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
useListData(getOperationVehicleList, {});
const troubleshootingCycleList = await layoutFnGetVehicleColor();
const fnGetDataTransfer = () => {
@ -251,9 +252,7 @@ const fnExport = async () => {
return;
}
await ElMessageBox.confirm("确定要导出到excel吗", { type: "warning" });
const DATA_IDS = selectionData
.map((item) => item.OPERATING_ID)
.join(",");
const DATA_IDS = selectionData.map((item) => item.OPERATING_ID).join(",");
window.location.href =
import.meta.env[import.meta.env.DEV ? "VITE_PROXY" : "VITE_BASE_URL"] +
"/operatingvehicles/excel?" +

View File

@ -213,10 +213,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="培训行业类型" prop="TRAINTYPE">
<layout-learning-train-type
v-model="data.form.TRAINTYPE"
type="trainingType"
<el-form-item label="培训行业类型" prop="INDUSTRY_TYPE">
<layout-industry-type
ref="industryTypeRef"
v-model="data.form.INDUSTRY_TYPE"
/>
</el-form-item>
</el-col>
@ -451,7 +451,6 @@ import { reactive, ref } from "vue";
import LayoutTerritory from "@/components/territory/index.vue";
import LayoutIndustry from "@/components/industry/index.vue";
import LayoutEconomicType from "@/components/economic_type/index.vue";
import LayoutLearningTrainType from "@/components/learning_train_type/index.vue";
import LayoutUpload from "@/components/upload/index.vue";
import {
layoutFnGetEnterpriseScale,
@ -475,6 +474,7 @@ const router = useRouter();
const formRef = ref(null);
const territoryCascaderRef = ref(null);
const industryCascaderRef = ref(null);
const industryTypeRef = ref(null);
const economicTypeCascaderRef = ref(null);
const rules = {
CORP_NAME: [{ required: true, message: "企业名称不能为空", trigger: "blur" }],
@ -516,7 +516,7 @@ const rules = {
message: "请输入正确的手机号码",
},
],
TRAINTYPE: [
INDUSTRY_TYPE: [
{ required: true, message: "培训行业类型不能为空", trigger: "blur" },
],
bus_images: [
@ -582,7 +582,7 @@ const data = reactive({
SUBORDINATION: "",
SCALE: "",
SCALE_TYPE: "",
TRAINTYPE: "",
INDUSTRY_TYPE: "",
USERS_NUM: "",
FOURTYPE: "",
four_images: [],
@ -621,6 +621,7 @@ const fnGetData = async () => {
data.form.four_images = addingPrefixToFile(resData.fourImgs);
data.form.OLDFOURTYPE = resData.pd.FOURTYPE;
data.form.FOURTYPE = resData.pd.FOURTYPE || 1;
data.form.INDUSTRY_TYPE = resData.pd.INDUSTRY_TYPE.split(",").at(-1);
};
fnGetData();
const enterpriseStatus = await layoutFnGetEnterpriseStatus();
@ -652,6 +653,7 @@ const fnSubmit = debounce(
data.form.CORP_TYPE3 = data.form.INDUSTRYALL[2] || "";
data.form.CORP_TYPE4 = data.form.INDUSTRYALL[3] || "";
data.form.CORP_TYPE_NAME = industryCascaderRef.value.getCheckedNodes();
data.form.INDUSTRY_NAME = industryTypeRef.value.getCheckedNodes();
const formData = new FormData();
Object.keys(data.form).forEach((key) => {
formData.append(key, data.form[key]);

View File

@ -76,7 +76,7 @@
<template v-if="data.info.SCALE_TYPE === 1"></template>
</el-descriptions-item>
<el-descriptions-item label="培训行业类型">
{{ data.info.TRAINTYPE_NAME }}
{{ data.info.INDUSTRY_NAME }}
</el-descriptions-item>
<el-descriptions-item label="企业可新建用户数量">
{{ data.info.USERS_NUM }}

View File

@ -54,10 +54,10 @@
<el-form-item label="人员类型" prop="PERSONNEL_TYPE">
<el-select v-model="data.form.PERSONNEL_TYPE">
<el-option
v-for="item in data.personnelTypeList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.DICTIONARIES_ID"
v-for="item in data.personnelTypeList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.DICTIONARIES_ID"
/>
</el-select>
</el-form-item>
@ -686,7 +686,6 @@ const fnChangeIdCard = () => {
data.form.SEX = sex;
data.form.DATE_OF_BIRTH = date;
data.form.USERNAME = data.form.USER_ID_CARD;
console.log(data.form.USERNAME);
};
const fnGetLevels = async () => {
const { value: nationList } = await layoutFnGetNation();

View File

@ -350,7 +350,7 @@
<el-col :span="9">
<el-row>
<el-col :span="24">
<el-form-item label="有效期限(身份证)" prop="dates">
<el-form-item label="有效期限(身份证)" prop="dates1">
<el-date-picker
v-model="data.form.ID_CARD_VALIDITY"
type="daterange"
@ -450,7 +450,7 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="有效期限" prop="dates">
<el-form-item label="有效期限" prop="dates2">
<el-date-picker
v-model="data.form.DRIVER_LICENSE_VALIDITY"
type="daterange"
@ -559,7 +559,7 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="有效期限" prop="dates">
<el-form-item label="有效期限" prop="dates3">
<el-date-picker
v-model="data.form.QUALIFICATION_CERTIFICATE_VALIDITY"
type="daterange"
@ -779,6 +779,146 @@ const rules = {
periodStr: [
{ required: true, message: "请选择完整的排班类型", trigger: "change" },
],
ID_CARD_FRONT: [
{
required: true,
message: "请上传身份证(正面)",
trigger: "blur",
},
],
ID_CARD_BACK: [
{
required: true,
message: "请上传身份证(反面)",
trigger: "blur",
},
],
dates1: [
{
required: true,
message: "请选择有效期限(身份证)",
trigger: "change",
},
],
ID_CARD_ADDRESS: [
{
required: true,
message: "住址不能为空",
trigger: "change",
},
],
ID_CARD_ORGAN: [
{
required: true,
message: "签发机关不能为空",
trigger: "change",
},
],
DRIVER_LICENSE: [
{
required: true,
message: "驾驶证不能为空",
trigger: "change",
},
],
DRIVER_LICENSE_NO: [
{
required: true,
message: "证号不能为空",
trigger: "change",
},
],
DRIVING_MODEL_ARR: [
{
required: true,
message: "准驾车型不能为空",
trigger: "change",
},
],
DRIVING_NATIONALITY: [
{
required: true,
message: "国籍不能为空",
trigger: "change",
},
],
DRIVER_LICENSE_ISSUE_DATE: [
{
required: true,
message: "初次领证日期不能为空",
trigger: "change",
},
],
dates2: [
{
required: true,
message: "请选择有效期限",
trigger: "change",
},
],
DRIVER_LICENSE_ORGAN: [
{
required: true,
message: "签发机关不能为空",
trigger: "blur",
},
],
QUALIFICATION_CERTIFICATE: [
{
required: true,
message: "从业资格证照片不能为空",
trigger: "change",
},
],
QUALIFICATION_CERTIFICATE_NATIONALITY: [
{
required: true,
message: "国籍不能为空",
trigger: "change",
},
],
QUALIFICATION_CERTIFICATE_NO: [
{
required: true,
message: "证号不能为空",
trigger: "change",
},
],
QUALIFICATION_CERTIFICATE_ARR: [
{
required: true,
message: "准驾车型不能为空",
trigger: "change",
},
],
QUALIFICATION_CERTIFICATE_ISSUE_DATE: [
{
required: true,
message: "初次领证日期不能为空",
trigger: "change",
},
],
dates3: [
{
required: true,
message: "请选择有效期限",
trigger: "change",
},
],
QUALIFICATION_CERTIFICATE_ORGAN: [
{
required: true,
message: "签发机关不能为空",
trigger: "blur",
},
],
faceFile: [
{
required: true,
message: "人员认证照片不能为空",
trigger: "blur",
},
],
};
const formRef = ref(null);
const data = reactive({

View File

@ -53,38 +53,36 @@
}}
</el-divider>
<el-descriptions :column="2" border>
<template>
<el-descriptions-item
:label="
item.CERTIFICATE_CATEGORY === '1'
? '身份证(正面)'
: item.CERTIFICATE_CATEGORY === '2'
? '驾驶证'
: '道路运输从业资格证'
"
:span="item.CERTIFICATE_CATEGORY === '1' ? 1 : 2"
>
<img
v-viewer
:src="item.ID_PHOTO_FRONT"
width="100"
height="100"
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item
v-if="item.CERTIFICATE_CATEGORY === '1'"
label="身份证(背面)"
>
<img
v-viewer
:src="item.ID_PHOTO_BACK"
width="100"
height="100"
class="ml-10"
/>
</el-descriptions-item>
</template>
<el-descriptions-item
:label="
item.CERTIFICATE_CATEGORY === '1'
? '身份证(正面)'
: item.CERTIFICATE_CATEGORY === '2'
? '驾驶证'
: '道路运输从业资格证'
"
:span="item.CERTIFICATE_CATEGORY === '1' ? 1 : 2"
>
<img
v-viewer
:src="item.ID_PHOTO_FRONT"
width="100"
height="100"
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item
v-if="item.CERTIFICATE_CATEGORY === '1'"
label="身份证(背面)"
>
<img
v-viewer
:src="item.ID_PHOTO_BACK"
width="100"
height="100"
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item
v-if="item.CERTIFICATE_CATEGORY === '1'"
label="住址"
@ -112,12 +110,7 @@
</el-descriptions>
</div>
<div class="tc mt-10">
<el-button
type="primary"
@click="router.back"
>
返回
</el-button>
<el-button type="primary" @click="router.back"> </el-button>
</div>
</layout-card>
</template>
@ -145,7 +138,6 @@ const fnGetData = async () => {
}
});
data.certificateList = resData.certificateList;
console.log(data.certificateList);
};
fnGetData();
</script>

View File

@ -40,10 +40,7 @@
<el-col :span="8">
<el-form-item label="手机号" prop="PHONE">
<el-input
v-model="data.form.PHONE"
placeholder="请输入"
/>
<el-input v-model="data.form.PHONE" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -486,7 +483,9 @@
prop="QUALIFICATION_CERTIFICATE"
>
<layout-upload
v-model:file-list="data.fileForm.QUALIFICATION_CERTIFICATE"
v-model:file-list="
data.fileForm.QUALIFICATION_CERTIFICATE
"
accept=".jpg,.jpeg,.png"
list-type="picture-card"
>
@ -937,7 +936,10 @@ const fnGetData = async () => {
form.DRIVER_LICENSE_NO = item.ID_NO;
form.DRIVING_NATIONALITY = item.ID_NATIONALITY;
form.DRIVER_LICENSE_ISSUE_DATE = item.ID_ISSUE_DATE;
form.DRIVER_LICENSE_VALIDITY = [item.ID_VALIDITY_START, item.ID_VALIDITY_END];
form.DRIVER_LICENSE_VALIDITY = [
item.ID_VALIDITY_START,
item.ID_VALIDITY_END,
];
form.DRIVER_LICENSE_VALIDITY_START = item.ID_VALIDITY_START;
form.DRIVER_LICENSE_VALIDITY_END = item.ID_VALIDITY_END;
form.DRIVER_LICENSE_ORGAN = item.ID_ORGAN;
@ -945,12 +947,17 @@ const fnGetData = async () => {
? item.ALLOW_QUALIFICATION.split(",")
: [];
} else if (item.CERTIFICATE_CATEGORY === "3") {
data.fileForm.QUALIFICATION_CERTIFICATE = addingPrefixFile(item.ID_PHOTO_FRONT);
data.fileForm.QUALIFICATION_CERTIFICATE = addingPrefixFile(
item.ID_PHOTO_FRONT
);
form.QUALIFICATION_CERTIFICATE = item.ID_PHOTO_FRONT;
form.QUALIFICATION_CERTIFICATE_NO = item.ID_NO;
form.QUALIFICATION_CERTIFICATE_NATIONALITY = item.ID_NATIONALITY;
form.QUALIFICATION_CERTIFICATE_ISSUE_DATE = item.ID_ISSUE_DATE;
form.QUALIFICATION_CERTIFICATE_VALIDITY = [item.ID_VALIDITY_START, item.ID_VALIDITY_END];
form.QUALIFICATION_CERTIFICATE_VALIDITY = [
item.ID_VALIDITY_START,
item.ID_VALIDITY_END,
];
form.QUALIFICATION_CERTIFICATE_VALIDITY_START = item.ID_VALIDITY_START;
form.QUALIFICATION_CERTIFICATE_VALIDITY_END = item.ID_VALIDITY_END;
form.QUALIFICATION_CERTIFICATE_ORGAN = item.ID_ORGAN;
@ -1156,9 +1163,15 @@ const fnSubmit = debounce(
data.fileForm.ID_CARD_BACK?.[0]?.raw &&
formData.append("idCardBackFiles", data.fileForm.ID_CARD_BACK[0].raw);
data.fileForm.DRIVER_LICENSE?.[0]?.raw &&
formData.append("driverLicenseFiles", data.fileForm.DRIVER_LICENSE[0].raw);
formData.append(
"driverLicenseFiles",
data.fileForm.DRIVER_LICENSE[0].raw
);
data.fileForm.QUALIFICATION_CERTIFICATE?.[0]?.raw &&
formData.append("qualificationCertificateFiles", data.fileForm.QUALIFICATION_CERTIFICATE[0].raw);
formData.append(
"qualificationCertificateFiles",
data.fileForm.QUALIFICATION_CERTIFICATE[0].raw
);
if (!USER_ID) {
// if (data.allUser > data.USERS_NUM) {
// ElMessage.error("");

View File

@ -38,6 +38,7 @@
<el-button native-type="reset" @click="fnResetPagination">
重置
</el-button>
<!-- <el-button native-type="reset" @click="fnWindow"> BI </el-button>-->
</el-form-item>
</el-col>
</el-row>
@ -231,6 +232,11 @@ const reviewItem = async (row) => {
data.reviewDialog.form = row;
};
/* const fnWindow = async () => {
window.open(
"http://60.10.47.50:9001/#/middlePage?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNzd2QiOiJMZmtmcUAxMjM0NTYiLCJleHAiOjE3MTE2MjQ3NDQsInVzZXIiOiJsZnlqemhkcCIsInRhcmdldCI6Imh0dHA6Ly8xOTIuMTY4LjAuNjk6ODA4Mi8jL21pZGRsZVBhZ2UifQ.nkVxqT3lcNkNIW1jiJY71gyXazJWyfHgfClWnbaFz8I"
);
}; */
//
const fnGetLevels = async () => {
const { value: personnelTypeList } = await layoutFnGetPersonnelTypeTraffic({

View File

@ -350,10 +350,10 @@ const fnSubmit = debounce(
}
if (form.value.APPLY_TYPE === "1" && form.value.REVIEW_RESULT === "1")
form.value.INCUMBENCY = "bd4d802e94354230b1bb19cfabd7f810"; // bd4d802e94354230b1bb19cfabd7f810
form.value.INCUMBENCY = "bd4d802e94354230b1bb19cfabd7f810";
// bd4d802e94354230b1bb19cfabd7f810
else if (form.value.APPLY_TYPE === "3" && form.value.REVIEW_RESULT === "1")
form.value.INCUMBENCY = "4dd28e91b104410b85c25a792c424172"; // 4dd28e91b104410b85c25a792c424172
// console.log(form.value);
await setPractitionerReview({ ...form.value });
ElMessage.success("操作成功");
fnClose();

View File

@ -24,7 +24,6 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="检查状态" prop="TYPE">
<el-select
@ -36,7 +35,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>

View File

@ -178,7 +178,7 @@
<el-form-item class="end">
<el-button
type="primary"
@click="data.SelectPersonDialogVisible = true"
@click="data.selectRiskDialogVisible = true"
>
选择其他存在风险
</el-button>
@ -219,9 +219,9 @@
@get-data="fnAddRiskSubmit"
/>
<select-risk
v-model:visible="data.SelectPersonDialogVisible"
v-model:visible="data.selectRiskDialogVisible"
:list-data="data.listAll"
@submit="fnSelectPersonSubmit"
@submit="fnSelectRiskSubmit"
/>
<add-inspection-route
v-model:visible="data.inspectionRouteDialog.visible"
@ -252,6 +252,8 @@ import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { ElMessage } from "element-plus";
import AddRisk from "@/views/risk_control/ledger/components/add.vue";
import SelectRisk from "./components/select_risk.vue";
import AddInspectionRoute from "./components/add_inspection_route.vue";
const route = useRoute();
const router = useRouter();
@ -302,7 +304,7 @@ const data = reactive({
list: [],
listAll: [],
searchForm: {},
SelectPersonDialogVisible: false,
selectRiskDialogVisible: false,
addOrEditDialog: {
visible: false,
form: {
@ -398,7 +400,7 @@ const fnAddRiskSubmit = (item) => {
data.listAll.push(item);
fnTableSelection();
};
const fnSelectPersonSubmit = (listData) => {
const fnSelectRiskSubmit = (listData) => {
data.list.push(...listData);
data.listAll.push(...listData);
fnTableSelection();

View File

@ -57,6 +57,7 @@ import { useVModels } from "@vueuse/core";
import { ElMessage } from "element-plus";
import { debounce } from "throttle-debounce";
import { setInventoryManagementRoute } from "@/request/hazard_investigation.js";
import { VueDraggable } from "vue-draggable-plus";
const props = defineProps({
visible: {

View File

@ -209,7 +209,6 @@ const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
},
defaultSearchForm: { STATE },
});
console.log(searchForm, "asdsadsadas");
const fnGetDataTransfer = () => {
fnGetData({
STARTTIME: searchForm.value.dates?.[0],

View File

@ -24,7 +24,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -102,7 +102,7 @@
<script setup>
import { useRoute } from "vue-router";
import useListData from "@/assets/js/useListData.js";
import { serialNumber } from "@/assets/js/utils.js";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils.js";
import { ElMessage, ElMessageBox } from "element-plus";
import { nextTick, reactive, ref } from "vue";
import Add from "@/views/labor_contract/components/add.vue";
@ -162,6 +162,11 @@ const fnAddOrEdit = async (
...detail,
OPERATINGCOMPANY: detail.CORP_NAME,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = { USER_ID };

View File

@ -30,7 +30,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>
@ -43,13 +43,13 @@
placeholder="选择时间"
/>
</el-form-item>
<el-form-item label="备注" prop="MEETING_CONTENT">
<el-input
v-model="form.MEETING_CONTENT"
placeholder="请输入内容"
style="width: 300px"
></el-input>
</el-form-item>
<!-- <el-form-item label="备注" prop="MEETING_CONTENT">-->
<!-- <el-input-->
<!-- v-model="form.MEETING_CONTENT"-->
<!-- placeholder="请输入内容"-->
<!-- style="width: 300px"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-form>
<template #footer>
<el-button @click="fnClose"></el-button>

View File

@ -122,7 +122,7 @@
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue";
import { nextTick, reactive } from "vue";
@ -151,7 +151,20 @@ const fnAddOrEdit = async (STAFFING_ID = "", type = "add") => {
data.addOrEditDialog.visible = true;
data.addOrEditDialog.type = type;
if (type === "edit" && STAFFING_ID) {
data.addOrEditDialog.form.STAFFING_ID = STAFFING_ID;
const resData = await infoStaffingView({ STAFFING_ID });
if (resData) {
const detail = resData.pd;
data.addOrEditDialog.form = {
...detail,
OPERATINGCOMPANY: detail.CORP_NAME,
EXPIRYDATE: detail.EXPIRYDATE,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = {};
}

View File

@ -273,12 +273,8 @@ import {
layoutFnGetAssignedWay,
layoutFnGetAssignedVehicleModel,
} from "@/assets/js/assigned_manage.js";
import {
getFreightTrailerView,
} from "@/request/enterprise_management.js";
import {
findByIdOperatingVehicleInfo
} from "@/request/operation_vehicle.js";
import { getFreightTrailerView } from "@/request/enterprise_management.js";
import { findByIdOperatingVehicleInfo } from "@/request/operation_vehicle.js";
import LayoutUpload from "@/components/upload/index.vue";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
@ -288,7 +284,7 @@ import {
setAssignedManageEdit,
layoutFnGetScrapVehicleType,
getAssignedOperationVehicleList,
getAssignedFreightTrailerList
getAssignedFreightTrailerList,
} from "@/request/assigned_manage.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";

View File

@ -1,108 +1,108 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ info.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ info.TRANSACTION_DATE }}
</el-descriptions-item>
<el-descriptions-item label="登记人">
{{ info.REGISTRANT }}
</el-descriptions-item>
<el-descriptions-item label="过户类型">
{{ info.ASSIGNED_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ info.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ info.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ info.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆品牌">
{{ info.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ info.VEHICLE_MODEL }}
</el-descriptions-item>
<el-descriptions-item label="发动机号">
{{ info.ENGINE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="动力类型">
{{ info.POWER_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="排放标准">
{{ info.EMISSION_STANDARD }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">过户信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="原车牌号">
{{ info.RAW_PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="原车主业主">
{{ info.RAW_OWNERS }}
</el-descriptions-item>
<el-descriptions-item label="原联系电话">
{{ info.RAW_CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="现车牌号">
{{ info.NOW_PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="现车主业主">
{{ info.NOW_OWNERS }}
</el-descriptions-item>
<el-descriptions-item label="现联系电话">
{{ info.NOW_CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="原营运证号">
{{ info.RAW_OPERATION_CERTIFICATE }}
</el-descriptions-item>
<el-descriptions-item label="现营运证号">
{{ info.NOW_OPERATION_CERTIFICATE }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions border>
<el-descriptions-item label="现营运证照片">
<img
v-for="item in info.NOW_VEHICLE_OPERATION_CERTIFICATE"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="现行驶证照片">
<img
v-for="item in info.NOW_DRIVINGLICENSE_IMG"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="过户资料">
{{ info.ASSIGNED_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ info.REMARK }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ info.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ info.TRANSACTION_DATE }}
</el-descriptions-item>
<el-descriptions-item label="登记人">
{{ info.REGISTRANT }}
</el-descriptions-item>
<el-descriptions-item label="过户类型">
{{ info.ASSIGNED_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ info.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ info.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ info.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆品牌">
{{ info.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ info.VEHICLE_MODEL }}
</el-descriptions-item>
<el-descriptions-item label="发动机号">
{{ info.ENGINE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="动力类型">
{{ info.POWER_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="排放标准">
{{ info.EMISSION_STANDARD }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">过户信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="原车牌号">
{{ info.RAW_PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="原车主业主">
{{ info.RAW_OWNERS }}
</el-descriptions-item>
<el-descriptions-item label="原联系电话">
{{ info.RAW_CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="现车牌号">
{{ info.NOW_PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="现车主业主">
{{ info.NOW_OWNERS }}
</el-descriptions-item>
<el-descriptions-item label="现联系电话">
{{ info.NOW_CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="原营运证号">
{{ info.RAW_OPERATION_CERTIFICATE }}
</el-descriptions-item>
<el-descriptions-item label="现营运证号">
{{ info.NOW_OPERATION_CERTIFICATE }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions border>
<el-descriptions-item label="现营运证照片">
<img
v-for="item in info.NOW_VEHICLE_OPERATION_CERTIFICATE"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
<el-descriptions-item label="现行驶证照片">
<img
v-for="item in info.NOW_DRIVINGLICENSE_IMG"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="过户资料">
{{ info.ASSIGNED_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ info.REMARK }}
</el-descriptions-item>
</el-descriptions>
</div>
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>

View File

@ -161,7 +161,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -307,7 +307,6 @@ const getRemiderDate = (val) => {
if (form.value.DUE_DATE) {
//
const reminderDateStr = subtractDaysFromDate(form.value.DUE_DATE, val);
console.log(reminderDateStr);
const reminderDate = new Date(reminderDateStr);
const today = new Date();

View File

@ -161,7 +161,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit

View File

@ -26,7 +26,7 @@
<el-descriptions-item label-class-name="width_200" label="初登日期">
{{ data.busInfo.INITIAL_REGISTRATION_DATE }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="所属区域">
<el-descriptions-item label-class-name="width_200" label="所属区域">
{{ data.busInfo.COMPANY_AREA }}
</el-descriptions-item>
</el-descriptions>
@ -47,10 +47,16 @@
<el-descriptions-item label-class-name="width_200" label="到期日期">
{{ info.DUE_DATE }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="北斗净费(元)">
<el-descriptions-item
label-class-name="width_200"
label="北斗净费(元)"
>
{{ info.ACTUAL_COLLECTION }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="北斗全费(元)">
<el-descriptions-item
label-class-name="width_200"
label="北斗全费(元)"
>
{{ info.ALL_FEES }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="提醒天数">
@ -142,7 +148,6 @@ const fnGetData = async () => {
if (!BEIDOU_ID) return;
const resData = await getBeidouView(BEIDOU_ID);
info.value = resData.pd;
console.log("数据",info.value);
info.value.BEIDOUINFO = [];
fnBusChange(resData.pd.VEHICLE);
info.value.BEIDOUINFO = addingPrefixToFile(resData.beidouinfoImgs);

View File

@ -187,7 +187,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -258,7 +258,10 @@ import {
setInspectAnnuallyEdit,
getTrailerList,
} from "@/request/mechanical_files.js";
import { OPERATING_VEHICLE_TYPE_LIST, REMIND_DAYS } from "@/assets/js/constant.js";
import {
OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS,
} from "@/assets/js/constant.js";
import { layoutFnGetAnnualInspectionCycle } from "@/assets/js/data_dictionary.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";

View File

@ -185,7 +185,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -256,7 +256,10 @@ import {
setInspectAnnuallyEdit,
getTrailerList,
} from "@/request/mechanical_files.js";
import { OPERATING_VEHICLE_TYPE_LIST, REMIND_DAYS } from "@/assets/js/constant.js";
import {
OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS,
} from "@/assets/js/constant.js";
import { layoutFnGetAnnualInspectionCycle } from "@/assets/js/data_dictionary.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";

View File

@ -70,7 +70,7 @@
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button link native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPaginationTransfer">
重置
</el-button>
@ -139,6 +139,7 @@
<template #default="{ row }">
<el-button
type="primary"
text
link
@click="
router.push({
@ -150,6 +151,7 @@
>
<el-button
type="primary"
text
link
@click="
router.push({
@ -162,6 +164,7 @@
<el-button
v-if="expandedRows[row.INSPECTANNUALLY_ID]"
type="danger"
text
link
@click="fnDelete(row.INSPECTANNUALLY_ID)"
>删除
@ -172,6 +175,7 @@
row.REMINDER_STATUS === '0'
"
type="primary"
text
link
@click="fnStatusChange(row.INSPECTANNUALLY_ID, '1')"
>开启</el-button
@ -182,12 +186,13 @@
row.REMINDER_STATUS === '1'
"
type="primary"
text
link
@click="fnStatusChange(row.INSPECTANNUALLY_ID, '0')"
>关闭
</el-button>
<el-button
type="text"
type="primary"
@click="toggleExpand(row.INSPECTANNUALLY_ID)"
>
{{ expandedRows[row.INSPECTANNUALLY_ID] ? "收起" : "更多" }}

View File

@ -30,8 +30,8 @@
<el-descriptions-item label-class-name="width_200" label="初登日期">
{{ data.busInfo.INITIAL_REGISTRATION_DATE }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="所属区域">
{{ info.AREA }}
<el-descriptions-item label-class-name="width_200" label="所属区域">
{{ info.AREA }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">年检信息</el-divider>
@ -48,10 +48,16 @@
<el-descriptions-item label-class-name="width_200" label="年检周期">
{{ info.ANNUAL_INSPECTION_CYCLE_NAME }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="年检费用(元)">
<el-descriptions-item
label-class-name="width_200"
label="年检费用(元)"
>
{{ info.INSPECTFEES }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="实收费用(元)">
<el-descriptions-item
label-class-name="width_200"
label="实收费用(元)"
>
{{ info.ACTUAL_COLLECTION }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="到期日期">

View File

@ -194,7 +194,10 @@
</el-col>
<el-col :span="12">
<el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-select v-model="form.REMINDER_DAYS" @change="getRemiderDate">
<el-select
v-model="form.REMINDER_DAYS"
@change="getRemiderDate"
>
<el-option
v-for="item in REMIND_DAYS"
:key="item.NAME"
@ -202,7 +205,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -287,7 +290,8 @@ import {
} from "@/request/mechanical_files.js";
import {
INSURANCEMENU,
OPERATING_VEHICLE_TYPE_LIST, REMIND_DAYS
OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS,
} from "@/assets/js/constant.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";
@ -359,7 +363,7 @@ const rules = {
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
};
const getVehicle = async (event) => {
const model = "insure"
const model = "insure";
const resData = await getTrailerList2({ TRAFFIC_TYPE: event, model });
data.vehicleList = resData.list;
form.value.VEHICLE = "";

View File

@ -192,7 +192,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -274,7 +274,10 @@ import {
setInsureEdit,
getTrailerList,
} from "@/request/mechanical_files.js";
import { OPERATING_VEHICLE_TYPE_LIST, REMIND_DAYS } from "@/assets/js/constant.js";
import {
OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS,
} from "@/assets/js/constant.js";
import { layoutFnGetInsuranceCompany } from "@/assets/js/data_dictionary.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";

View File

@ -17,7 +17,7 @@
<el-descriptions-item label-class-name="width_200" label="车辆类型">
{{ data.busInfo.TRAILER_TYPE }}
</el-descriptions-item>
<!-- <el-descriptions-item label-class-name="width_200" label="车辆品牌">
<!-- <el-descriptions-item label-class-name="width_200" label="车辆品牌">
{{ data.busInfo.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="车辆型号">
@ -36,7 +36,7 @@
{{ data.busInfo.INITIAL_REGISTRATION_DATE }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="所属区域">
{{ data.busInfo.COMPANY_AREA}}
{{ data.busInfo.COMPANY_AREA }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">年检信息</el-divider>
@ -72,10 +72,16 @@
<el-descriptions-item label-class-name="width_200" label="到期日期">
{{ info.DUE_DATE }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="保险全费(元)">
<el-descriptions-item
label-class-name="width_200"
label="保险全费(元)"
>
{{ info.ALL_FEES }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="净费实收(元)">
<el-descriptions-item
label-class-name="width_200"
label="净费实收(元)"
>
{{ info.ACTUAL_COLLECTION }}
</el-descriptions-item>
<el-descriptions-item

View File

@ -185,7 +185,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit

View File

@ -185,7 +185,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit

View File

@ -20,7 +20,7 @@
<el-descriptions-item label-class-name="width_200" label="车主电话">
{{ data.busInfo.CAR_OWNERS_TEL }}
</el-descriptions-item>
<!-- <el-descriptions-item label-class-name="width_200" label="车辆品牌">
<!-- <el-descriptions-item label-class-name="width_200" label="车辆品牌">
{{ data.busInfo.VEHICLE_BRAND }}
</el-descriptions-item>-->
<el-descriptions-item label-class-name="width_200" label="车主业户">
@ -29,7 +29,7 @@
<el-descriptions-item label-class-name="width_200" label="初登日期">
{{ data.busInfo.INITIAL_REGISTRATION_DATE }}
</el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="所属区域">
<el-descriptions-item label-class-name="width_200" label="所属区域">
{{ data.busInfo.COMPANY_AREA }}
</el-descriptions-item>
</el-descriptions>

View File

@ -159,7 +159,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -231,7 +231,10 @@ import {
getTrailerList,
getOperationTrailerList,
} from "@/request/mechanical_files.js";
import { OPERATING_VEHICLE_TYPE_LIST, REMIND_DAYS } from "@/assets/js/constant.js";
import {
OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS,
} from "@/assets/js/constant.js";
import { layoutFnGetAnnualInspectionCycle } from "@/assets/js/data_dictionary.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";

View File

@ -159,7 +159,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model.number="form.REMINDER_DAYS"
maxlength="50"
show-word-limit
@ -230,7 +230,10 @@ import {
setOperationsEdit,
getTrailerList,
} from "@/request/mechanical_files.js";
import { OPERATING_VEHICLE_TYPE_LIST, REMIND_DAYS } from "@/assets/js/constant.js";
import {
OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS,
} from "@/assets/js/constant.js";
import { layoutFnGetAnnualInspectionCycle } from "@/assets/js/data_dictionary.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";

View File

@ -237,7 +237,6 @@ import {
REMINDER_STATUS_LIST,
} from "@/assets/js/constant.js";
const router = useRouter();
const data = reactive({
exportExcelDialog: {

View File

@ -194,12 +194,10 @@ import {
getScrapOperationVehicleList,
getScrapFreightTrailerList,
} from "@/request/scrap_manage.js";
import {
getFreightTrailerView,
} from "@/request/enterprise_management.js";
import { getFreightTrailerView } from "@/request/enterprise_management.js";
import {
getOperationVehicleInfo,
setOperationsScrapStatus
setOperationsScrapStatus,
} from "@/request/operation_vehicle.js";
import LayoutUpload from "@/components/upload/index.vue";
import { debounce } from "throttle-debounce";
@ -288,7 +286,6 @@ const fnEditVehicleModel = async () => {
} else if (form.value.SCRAP_VEHICLEMODEL === "货运挂车") {
form.value.ALLVEHICLE = getAllFrailerList.varList;
form.value.FREIGHTVEHICLELIST = form.value.ALLVEHICLE;
console.log();
}
};
const info = ref({});
@ -300,7 +297,7 @@ const fnGetVehicleInfo = async () => {
form.value.SCRAP_VEHICLE
) {
const OPERATING_ID = form.value.OPERATIONVEHICLELIST[i].OPERATING_ID;
await setOperationsScrapStatus({OPERATING_ID})
await setOperationsScrapStatus({ OPERATING_ID });
const resData = await getOperationVehicleInfo({ OPERATING_ID });
info.value = resData.pd;
form.value.VEHICLE.VEHICLEOWNER = info.value.VEHICLEOWNER;
@ -337,7 +334,7 @@ const fnGetVehicleInfo = async () => {
form.value.SCRAP_VEHICLE
) {
form.value.FREIGHTTRAILER_ID =
form.value.FREIGHTVEHICLELIST[i].FREIGHTTRAILER_ID
form.value.FREIGHTVEHICLELIST[i].FREIGHTTRAILER_ID;
form.value.VEHICLE.VEHICLEOWNER =
form.value.FREIGHTVEHICLELIST[i].CAR_OWNERS;
form.value.VEHICLE.VEHICLEOWNER_NUMBER =

View File

@ -1,61 +1,61 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">详情</el-divider>
<el-descriptions border>
<el-descriptions-item label="车牌号">
{{ data.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ data.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车主业主">
{{ data.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="车主电话">
{{ data.VEHICLEOWNER_NUMBER }}
</el-descriptions-item>
<!-- <el-descriptions-item label="发动机号">
<el-divider content-position="left">详情</el-divider>
<el-descriptions border>
<el-descriptions-item label="车牌号">
{{ data.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ data.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车主业主">
{{ data.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="车主电话">
{{ data.VEHICLEOWNER_NUMBER }}
</el-descriptions-item>
<!-- <el-descriptions-item label="发动机号">
{{ data.ENGINE_NUMBER }}
</el-descriptions-item>-->
<el-descriptions-item label="初登日期">
{{ data.FIRSTSHOW_DATE }}
</el-descriptions-item>
<el-descriptions-item label="车辆品牌">
{{ data.BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ data.VEHICLE_MODEL }}
</el-descriptions-item>
<!-- <el-descriptions-item label="动力类型">
<el-descriptions-item label="初登日期">
{{ data.FIRSTSHOW_DATE }}
</el-descriptions-item>
<el-descriptions-item label="车辆品牌">
{{ data.BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ data.VEHICLE_MODEL }}
</el-descriptions-item>
<!-- <el-descriptions-item label="动力类型">
{{ data.POWER_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="排放标准">
{{ data.EMISSION_STANDARD }}
</el-descriptions-item>-->
</el-descriptions>
<el-divider content-position="left">报废数据</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ data.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ data.SCRAP_DATE }}
</el-descriptions-item>
<el-descriptions-item label="登记人">
{{ data.REGISTRANT }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="报废资料">
{{ data.SCRAP_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ data.REMARK }}
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
<el-divider content-position="left">报废数据</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ data.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ data.SCRAP_DATE }}
</el-descriptions-item>
<el-descriptions-item label="登记人">
{{ data.REGISTRANT }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="报废资料">
{{ data.SCRAP_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ data.REMARK }}
</el-descriptions-item>
</el-descriptions>
</div>
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>

View File

@ -69,11 +69,7 @@
<el-row>
<el-col :span="6">
<el-form-item label="所属省份" prop="PROVINCE">
<el-input
v-model="form.PROVINCE"
placeholder="--"
disabled
/>
<el-input v-model="form.PROVINCE" placeholder="--" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
@ -174,7 +170,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model="form.REMINDER_DAY"
placeholder="请填写提醒天数"
@change="fnGetReminderData"
@ -239,7 +235,10 @@ import LayoutUpload from "@/components/upload/index.vue";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { setTaxationManageAdd } from "@/request/taxation_manage.js";
import { getFreightTrailerView, getChoiceTrailerList } from "@/request/enterprise_management.js";
import {
getFreightTrailerView,
getChoiceTrailerList,
} from "@/request/enterprise_management.js";
import { ElMessage } from "element-plus";
import { useRouter } from "vue-router";
import { addingPrefixToFile } from "@/assets/js/utils.js";
@ -281,7 +280,7 @@ const rules = {
],
FREIGHTTRAILER_ID: [
{ required: true, message: "挂车车辆不能为空", trigger: "change" },
]
],
};
const formRef = ref(null);
const form = ref({
@ -322,11 +321,19 @@ const form = ref({
DRIVING_LICENSE_IMG: [],
ALLTRAILERINFO: [],
TAXATIONLISTTRAILER: [],
TRAILER: []
TRAILER: [],
});
const fnGetExpireDate = async () => {
if(form.value.TRANSACTION_DATA !== '' && form.value.TAXESDUES_PERIOD !== ''){
const TAXESDUES_PERIOD = Number(form.value.TAXESDUES_PERIOD.substring(0,form.value.TAXESDUES_PERIOD.indexOf("个")));
if (
form.value.TRANSACTION_DATA !== "" &&
form.value.TAXESDUES_PERIOD !== ""
) {
const TAXESDUES_PERIOD = Number(
form.value.TAXESDUES_PERIOD.substring(
0,
form.value.TAXESDUES_PERIOD.indexOf("个")
)
);
const date = new Date(form.value.TRANSACTION_DATA);
date.setMonth(date.getMonth() + TAXESDUES_PERIOD);
const year = date.getFullYear();
@ -335,14 +342,18 @@ const fnGetExpireDate = async () => {
let day = date.getDate();
day = day < 10 ? "0" + day : day;
form.value.EXPIRE_DATE = year + "-" + month + "-" + day;
if(form.value.TRANSACTION_DATA === null) {
form.value.EXPIRE_DATE = null
if (form.value.TRANSACTION_DATA === null) {
form.value.EXPIRE_DATE = null;
}
}
fnGetReminderData()
fnGetReminderData();
};
const fnGetReminderData = async () => {
if(form.value.TRANSACTION_DATA !== '' && form.value.TAXESDUES_PERIOD !== '' && form.value.REMINDER_DAY !== '') {
if (
form.value.TRANSACTION_DATA !== "" &&
form.value.TAXESDUES_PERIOD !== "" &&
form.value.REMINDER_DAY !== ""
) {
const REMINDER_DAY = Number(form.value.REMINDER_DAY);
const date = new Date(form.value.EXPIRE_DATE);
date.setDate(date.getDate() - REMINDER_DAY);
@ -352,8 +363,8 @@ const fnGetReminderData = async () => {
let day = date.getDate();
day = day < 10 ? "0" + day : day;
form.value.REMINDER_DATA = year + "-" + month + "-" + day;
if(form.value.TRANSACTION_DATA === null) {
form.value.REMINDER_DATA = null
if (form.value.TRANSACTION_DATA === null) {
form.value.REMINDER_DATA = null;
}
}
};
@ -361,9 +372,9 @@ const fnGetTrailerInfo = async () => {
const FREIGHTTRAILER_ID = form.value.FREIGHTTRAILER_ID;
form.value.FREIGHTTRAILER_ID = FREIGHTTRAILER_ID;
const resData = await getFreightTrailerView({ FREIGHTTRAILER_ID });
form.value.PROVINCE = resData.pd.PROVINCE
form.value.CITY = resData.pd.CITY
form.value.COUNTY = resData.pd.COUNTY
form.value.PROVINCE = resData.pd.PROVINCE;
form.value.CITY = resData.pd.CITY;
form.value.COUNTY = resData.pd.COUNTY;
form.value.PLATE_NUMBER = resData.pd.PLATE_NUMBER;
form.value.FRAMES_NUMBER = resData.pd.VIN;
form.value.VEHICLE_TYPE = resData.pd.TRAILER_TYPE;

View File

@ -129,8 +129,9 @@
</el-col>
<el-col :span="6">
<el-form-item label="税费周期" prop="TAXESDUES_PERIOD">
<el-select v-model="form.TAXESDUES_PERIOD"
@change="fnGetExpireDate"
<el-select
v-model="form.TAXESDUES_PERIOD"
@change="fnGetExpireDate"
>
<el-option
v-for="item in TAXES_PERIOD"
@ -164,7 +165,7 @@
:value="item.NUM"
/>
</el-select>
<!-- <el-input
<!-- <el-input
v-model="form.REMINDER_DAY"
placeholder="请填写提醒天数"
@change="fnGetReminderData"
@ -308,8 +309,16 @@ const form = ref({
});
const fnGetExpireDate = async () => {
if(form.value.TRANSACTION_DATA !== '' && form.value.TAXESDUES_PERIOD !== ''){
const TAXESDUES_PERIOD = Number(form.value.TAXESDUES_PERIOD.substring(0,form.value.TAXESDUES_PERIOD.indexOf("个")));
if (
form.value.TRANSACTION_DATA !== "" &&
form.value.TAXESDUES_PERIOD !== ""
) {
const TAXESDUES_PERIOD = Number(
form.value.TAXESDUES_PERIOD.substring(
0,
form.value.TAXESDUES_PERIOD.indexOf("个")
)
);
const date = new Date(form.value.TRANSACTION_DATA);
date.setMonth(date.getMonth() + TAXESDUES_PERIOD);
const year = date.getFullYear();
@ -319,10 +328,10 @@ const fnGetExpireDate = async () => {
day = day < 10 ? "0" + day : day;
form.value.EXPIRE_DATE = year + "-" + month + "-" + day;
}
fnGetReminderData()
fnGetReminderData();
};
const fnGetReminderData = async () => {
if(form.value.REMINDER_DAY !== '') {
if (form.value.REMINDER_DAY !== "") {
const REMINDER_DAY = Number(form.value.REMINDER_DAY);
const date = new Date(form.value.EXPIRE_DATE);
date.setDate(date.getDate() - REMINDER_DAY);
@ -333,7 +342,6 @@ const fnGetReminderData = async () => {
day = day < 10 ? "0" + day : day;
form.value.REMINDER_DATA = year + "-" + month + "-" + day;
}
};
fnGetReminderData();

View File

@ -1,66 +1,66 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ data.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车牌号">
{{ data.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ data.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ data.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车主业主">
{{ data.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="联系电话">
{{ data.CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="初登日期">
{{ data.FIRSTSHOW_DATE }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ data.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车牌号">
{{ data.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ data.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ data.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车主业主">
{{ data.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="联系电话">
{{ data.CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="初登日期">
{{ data.FIRSTSHOW_DATE }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">挂车税费信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记人">
{{ data.REGISTRANT }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ data.TRANSACTION_DATA }}
</el-descriptions-item>
<el-descriptions-item label="税费周期">
{{ data.TAXESDUES_PERIOD }}
</el-descriptions-item>
<el-descriptions-item label="到期日期">
{{ data.EXPIRE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="提醒天数">
{{ data.REMINDER_DAY }}
</el-descriptions-item>
<el-descriptions-item label="提醒日期">
{{ data.REMINDER_DATA }}
</el-descriptions-item>
<el-descriptions-item label="提醒状态">
<span v-if="data.REMINDER_STATUS === '0'"></span>
<span v-else-if="data.REMINDER_STATUS === '1'">关闭</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="税费资料">
{{ data.TAXESDUES_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ data.REMARK }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">挂车税费信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记人">
{{ data.REGISTRANT }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ data.TRANSACTION_DATA }}
</el-descriptions-item>
<el-descriptions-item label="税费周期">
{{ data.TAXESDUES_PERIOD }}
</el-descriptions-item>
<el-descriptions-item label="到期日期">
{{ data.EXPIRE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="提醒天数">
{{ data.REMINDER_DAY }}
</el-descriptions-item>
<el-descriptions-item label="提醒日期">
{{ data.REMINDER_DATA }}
</el-descriptions-item>
<el-descriptions-item label="提醒状态">
<span v-if="data.REMINDER_STATUS === '0'"></span>
<span v-else-if="data.REMINDER_STATUS === '1'">关闭</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="税费资料">
{{ data.TAXESDUES_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ data.REMARK }}
</el-descriptions-item>
</el-descriptions>
</div>
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>

View File

@ -28,7 +28,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -104,7 +104,7 @@
<script setup>
import { useRoute } from "vue-router";
import useListData from "@/assets/js/useListData.js";
import { serialNumber } from "@/assets/js/utils.js";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils.js";
import { ElMessage, ElMessageBox } from "element-plus";
import { nextTick, reactive, ref } from "vue";
import Add from "@/views/occupational_hazards/components/add.vue";
@ -166,6 +166,11 @@ const fnAddOrEdit = async (
...detail,
OPERATINGCOMPANY: detail.CORP_NAME,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = { USER_ID };

View File

@ -30,6 +30,7 @@
<el-input
v-model="form.WATCH_TELEPHONE"
placeholder="请输入值班座机"
maxlength="20"
/>
</el-form-item>
</el-col>
@ -92,13 +93,13 @@ const rules = {
],
WATCHLEAD: [{ required: true, message: "值班领导不能为空", trigger: "blur" }],
WATCH_TELEPHONE: [
{ required: true, message: "请输入", trigger: "blur" },
{ min: 11, max: 11, message: "请输入11位座机号码", trigger: "blur" },
{ required: true, message: "值班座机不能为空", trigger: "blur" },
/* { required: true, message: "", trigger: "blur" },
{ min: 11, max: 11, message: "请输入座机号码", trigger: "blur" },
{
pattern:
/^(\d{3,4}-)?\d{7,8}$/,
pattern: /^(\d{3,4}-)?\d{7,8}$/,
message: "请输入正确的座机号码",
},
}, */
],
WATCH_PHONE: [
{ required: true, message: "请输入", trigger: "blur" },

View File

@ -68,7 +68,7 @@
import { ref } from "vue";
import {
setEnterpriseSafetyProductEdit,
getEnterpriseSafetyProductEdit
getEnterpriseSafetyProductEdit,
} from "@/request/enterprise_safety_production.js";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
@ -90,8 +90,7 @@ const rules = {
{ required: true, message: "请输入", trigger: "blur" },
{ min: 11, max: 11, message: "请输入11位座机号码", trigger: "blur" },
{
pattern:
/^(\d{3,4}-)?\d{7,8}$/,
pattern: /^(\d{3,4}-)?\d{7,8}$/,
message: "请输入正确的座机号码",
},
],

View File

@ -106,11 +106,6 @@
</template>
</layout-table>
</layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div>
</template>
@ -119,7 +114,6 @@ import { serialNumber } from "@/assets/js/utils";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import useListData from "@/assets/js/useListData.js";
import { useRouter } from "vue-router";
import { reactive } from "vue";
import {
getEnterpriseSafetyProductionList,
setEnterpriseSafetyProductDelete,
@ -130,12 +124,6 @@ import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getEnterpriseSafetyProductionList);
const data = reactive({
analysisDialog: {
visible: false,
info: {},
},
});
const fnDelete = debounce(
1000,

View File

@ -91,11 +91,6 @@
</template>
</layout-table>
</layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div>
</template>
@ -104,7 +99,6 @@ import { serialNumber } from "@/assets/js/utils";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import useListData from "@/assets/js/useListData.js";
import { useRouter } from "vue-router";
import { reactive } from "vue";
import {
getEntrenchThingGrantList,
setEntrenchThingGrantDelete,
@ -115,12 +109,6 @@ import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getEntrenchThingGrantList);
const data = reactive({
analysisDialog: {
visible: false,
info: {},
},
});
const fnDelete = debounce(
1000,

View File

@ -22,11 +22,7 @@
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table
:data="list"
:show-pagination="false"
@submit.prevent="fnResetPagination"
>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />

View File

@ -147,11 +147,6 @@
</template>
</layout-table>
</layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div>
</template>
@ -160,7 +155,6 @@ import { serialNumber } from "@/assets/js/utils";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import useListData from "@/assets/js/useListData.js";
import { useRouter } from "vue-router";
import { reactive } from "vue";
import {
getFirefightingEquipmentFacilityList,
setFirefightingEquipmentFacilityDelete,
@ -171,12 +165,6 @@ import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getFirefightingEquipmentFacilityList);
const data = reactive({
analysisDialog: {
visible: false,
info: {},
},
});
const fnDelete = debounce(
1000,

View File

@ -27,7 +27,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
<!-- <span>{{ form.ATTACHMENT_NAME }}</span>-->

View File

@ -125,7 +125,7 @@
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue";
import { nextTick, reactive } from "vue";
@ -166,6 +166,11 @@ const fnAddOrEdit = async (MANAGEMENTAGREEMENT_ID = "", type = "add") => {
OPERATINGCOMPANY: detail.CORP_NAME,
ATTACHMENT_NAME: attachmentName,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = {}; //

View File

@ -141,11 +141,6 @@
</template>
</layout-table>
</layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div>
</template>
@ -154,7 +149,6 @@ import { serialNumber } from "@/assets/js/utils";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import useListData from "@/assets/js/useListData.js";
import { useRouter } from "vue-router";
import { reactive } from "vue";
import {
getProductionEquipmentFacilityList,
setProductionEquipmentFacilityDelete,
@ -165,12 +159,6 @@ import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getProductionEquipmentFacilityList);
const data = reactive({
analysisDialog: {
visible: false,
info: {},
},
});
const fnDelete = debounce(
1000,

View File

@ -40,10 +40,7 @@
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table :data="list"
:show-pagination="false"
@submit.prevent="fnResetPagination"
>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />
@ -115,15 +112,16 @@ const getData = async () => {
PRODUCTIONFACILITY_ID,
});
info.value = resData.pd;
info.value.EQUIPMENT_FACILITY = addingPrefixToFile(
resData.equipmentFacility
);
info.value.EQUIPMENT_FACILITY = addingPrefixToFile(resData.equipmentFacility);
};
getData();
const { list, fnResetPagination } = useListData(getMaintainFindProductionEquipmentFacilityId, {
otherParams: { PRODUCTIONFACILITY_ID },
usePagination: false,
});
const { list, fnResetPagination } = useListData(
getMaintainFindProductionEquipmentFacilityId,
{
otherParams: { PRODUCTIONFACILITY_ID },
usePagination: false,
}
);
const fnDelete = debounce(
1000,
@ -131,7 +129,7 @@ const fnDelete = debounce(
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setMaintainDelete({ MAINTAIN_ID });
ElMessage.success("删除成功");
fnResetPagination()
fnResetPagination();
},
{ atBegin: true }
);

View File

@ -1,53 +1,53 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="设施名称">
{{ info.FACILITY_NAME }}
</el-descriptions-item>
<el-descriptions-item label="设施编号">
{{ info.FACILITY_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="设施单位">
{{ info.FACILITY_UNIT }}
</el-descriptions-item>
<el-descriptions-item label="设施数量">
{{ info.FACILITY_COUNT }}
</el-descriptions-item>
<el-descriptions-item label="设施位置">
{{ info.FACILITY_LOCALTION }}
</el-descriptions-item>
<el-descriptions-item label="设施负责人">
{{ info.FACILITY_PRINCIPAL }}
</el-descriptions-item>
<el-descriptions-item label="登记时间">
{{ info.REGISTRATION_TIME }}
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ info.FACILITY_REMARK }}
</el-descriptions-item>
<el-descriptions-item label="设备设施">
<img
v-for="item in info.EQUIPMENT_FACILITY"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />
<el-table-column prop="MAINTAIN_PERSON" label="保养人" />
<el-table-column prop="REMARK" label="备注" />
</layout-table>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="设施名称">
{{ info.FACILITY_NAME }}
</el-descriptions-item>
<el-descriptions-item label="设施编号">
{{ info.FACILITY_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="设施单位">
{{ info.FACILITY_UNIT }}
</el-descriptions-item>
<el-descriptions-item label="设施数量">
{{ info.FACILITY_COUNT }}
</el-descriptions-item>
<el-descriptions-item label="设施位置">
{{ info.FACILITY_LOCALTION }}
</el-descriptions-item>
<el-descriptions-item label="设施负责人">
{{ info.FACILITY_PRINCIPAL }}
</el-descriptions-item>
<el-descriptions-item label="登记时间">
{{ info.REGISTRATION_TIME }}
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ info.FACILITY_REMARK }}
</el-descriptions-item>
<el-descriptions-item label="设备设施">
<img
v-for="item in info.EQUIPMENT_FACILITY"
:key="item.FILEPATH"
v-viewer
:src="item.url"
width="100"
height="100"
alt=""
class="ml-10"
/>
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">保养记录</el-divider>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" align="center" />
<el-table-column prop="MAINTAIN_DATE" label="保养时间" />
<el-table-column prop="MAINTAIN_CONDITION" label="保养情况" />
<el-table-column prop="MAINTAIN_PERSON" label="保养人" />
<el-table-column prop="REMARK" label="备注" />
</layout-table>
</div>
<div class="mt-10 tc">
<el-button v-print="'#printContainer'" type="primary"></el-button>
@ -74,9 +74,7 @@ const getData = async () => {
PRODUCTIONFACILITY_ID,
});
info.value = resData.pd;
info.value.EQUIPMENT_FACILITY = addingPrefixToFile(
resData.equipmentFacility
);
info.value.EQUIPMENT_FACILITY = addingPrefixToFile(resData.equipmentFacility);
};
getData();
const { list } = useListData(getMaintainFindProductionEquipmentFacilityId, {

View File

@ -123,11 +123,6 @@
</template>
</layout-table>
</layout-card>
<edit
v-model:visible="data.analysisDialog.visible"
:info="data.analysisDialog.info"
@get-data="fnResetPagination"
/>
</div>
</template>
@ -136,7 +131,6 @@ import { serialNumber } from "@/assets/js/utils";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import useListData from "@/assets/js/useListData.js";
import { useRouter } from "vue-router";
import { reactive } from "vue";
import {
getReportedIncidentDisposeList,
setReportedIncidentDisposeDelete,
@ -148,12 +142,6 @@ import { DISPOSE_STATUS_LIST } from "@/assets/js/constant.js";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getReportedIncidentDisposeList);
const data = reactive({
analysisDialog: {
visible: false,
info: {},
},
});
const fnDelete = debounce(
1000,

View File

@ -117,7 +117,6 @@ import { useRouter, useRoute } from "vue-router";
import {
addViolationRegistrationView,
editViolationRegistration,
infoViolationRegistration,
} from "@/request/violation_registration.js";
const formRef = ref(null);
@ -149,10 +148,9 @@ const registrationId = ref("");
onMounted(async () => {
isEditMode.value = route.query.mode === "edit";
registrationId.value = route.query.REGISTRATION_ID || "";
const resData = await infoViolationRegistration({
/* const resData = await infoViolationRegistration({
REGISTRATION_ID: registrationId.value,
});
console.log(resData, "11111111111111");
}); */
});
const router = useRouter();

View File

@ -114,7 +114,7 @@ import useFormValidate from "@/assets/js/useFormValidate.js";
import { useRoute, useRouter } from "vue-router";
import {
editViolationRegistration,
infoViolationRegistration
infoViolationRegistration,
} from "@/request/violation_registration.js";
import { ElMessage } from "element-plus";
@ -171,9 +171,9 @@ const data = reactive({
const fnGetData = async () => {
if (!REGISTRATION_ID) return;
const resData = await infoViolationRegistration({ REGISTRATION_ID });
data.form = resData.pd
data.form = resData.pd;
};
fnGetData()
fnGetData();
const fnSubmit = async () => {
await useFormValidate(formRef);
@ -183,7 +183,7 @@ const fnSubmit = async () => {
const value = rawForm[key];
formData.append(key, value);
});
await editViolationRegistration(data.form)
await editViolationRegistration(data.form);
ElMessage.success("编辑成功");
router.back();
};

View File

@ -24,7 +24,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -121,7 +121,7 @@
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue";
import { nextTick, reactive } from "vue";
@ -146,18 +146,31 @@ const data = reactive({
info: {},
},
});
const fnAddOrEdit = async (SAFETYASSESSMENT_ID = "", type = "add") => {
data.addOrEditDialog.visible = true;
data.addOrEditDialog.type = type;
if (type === "edit" && SAFETYASSESSMENT_ID) {
data.addOrEditDialog.form.SAFETYASSESSMENT_ID = SAFETYASSESSMENT_ID;
const resData = await infoAssessmentView({ SAFETYASSESSMENT_ID });
if (resData) {
const detail = resData.pd;
data.addOrEditDialog.form = {
...detail,
OPERATINGCOMPANY: detail.CORP_NAME,
EXPIRYDATE: detail.EXPIRYDATE,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = {};
}
await nextTick();
};
const fnView = async (SAFETYASSESSMENT_ID) => {
const resData = await infoAssessmentView({
SAFETYASSESSMENT_ID,

View File

@ -23,7 +23,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -121,7 +121,7 @@
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue";
import { nextTick, reactive } from "vue";
@ -157,6 +157,11 @@ const fnAddOrEdit = async (ACTIVITIES_ID = "", type = "add") => {
OPERATINGCOMPANY: resData.pd.CORP_NAME,
EXPIRYDATE: resData.pd.EXPIRYDATE,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: resData.pd.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = {};

View File

@ -23,7 +23,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -116,7 +116,7 @@
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue";
import { nextTick, reactive } from "vue";
@ -153,6 +153,11 @@ const fnAddOrEdit = async (MANUAL_ID = "", type = "add") => {
OPERATINGCOMPANY: resData.pd.CORP_NAME,
EXPIRYDATE: resData.pd.EXPIRYDATE,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: resData.pd.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = {};

View File

@ -24,7 +24,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -121,7 +121,7 @@
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue";
import { nextTick, reactive } from "vue";
@ -158,6 +158,11 @@ const fnAddOrEdit = async (SAFETYPRODUCTION_ID = "", type = "add") => {
OPERATINGCOMPANY: detail.CORP_NAME,
EXPIRYDATE: detail.EXPIRYDATE,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = {};

View File

@ -155,7 +155,9 @@ const relatedClassificationList = ref(null);
onMounted(async () => {
const data = await layoutFnGetSIGNEDSTATUSClassification();
relatedClassificationList.value = JSON.parse(data.value.zTreeNodes);
if (data && data.value && data.value.zTreeNodes) {
relatedClassificationList.value = JSON.parse(data.value.zTreeNodes);
}
});
</script>

View File

@ -131,7 +131,6 @@ const detailItems = ref({
const fnGetData = async () => {
const response = await getSafetyMeetingView({ SAFETY_MEETING_ID });
console.log(response, "1111111111111111111111111");
detailItems.value = response.pd;
};
fnGetData();

View File

@ -28,7 +28,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -104,7 +104,7 @@
<script setup>
import { useRoute } from "vue-router";
import useListData from "@/assets/js/useListData.js";
import { serialNumber } from "@/assets/js/utils.js";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils.js";
import { ElMessage, ElMessageBox } from "element-plus";
import { nextTick, reactive, ref } from "vue";
import Add from "@/views/safety_responsibility/components/add.vue";
@ -166,6 +166,11 @@ const fnAddOrEdit = async (
...detail,
OPERATINGCOMPANY: detail.CORP_NAME,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = { USER_ID };

View File

@ -29,7 +29,7 @@
<layout-upload
v-model:file-list="form.file"
accept=".pdf"
:limit="9"
:limit="1"
:size="100"
/>
</el-form-item>

View File

@ -109,7 +109,7 @@ import {
getSafetyCommitmentUserList,
} from "@/request/traffic_safety_commitment.js";
import useListData from "@/assets/js/useListData.js";
import { serialNumber } from "@/assets/js/utils.js";
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils.js";
import { ElMessage, ElMessageBox } from "element-plus";
import { nextTick, reactive, ref } from "vue";
import Add from "@/views/security_commitment/components/add.vue";
@ -168,6 +168,11 @@ const fnAddOrEdit = async (
...detail,
OPERATINGCOMPANY: detail.CORP_NAME,
};
data.addOrEditDialog.form.file = addingPrefixToFile([
{
FILEPATH: detail.ATTACHMENT_ROUTE,
},
]);
}
} else {
data.addOrEditDialog.form = { USER_ID };

View File

@ -29,7 +29,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="培训类型" prop="TRAINTYPE">
<layout-learning-train-type
<layout-
ref="trainingTypeRef"
v-model="data.form.TRAINTYPE"
type="trainingType"

View File

@ -379,4 +379,22 @@ const fnSubmit = debounce(
flex: 1;
}
}
:deep {
.el-radio-group {
width: 100%;
justify-content: space-between;
flex-wrap: wrap;
}
.el-radio-group .el-radio {
width: 25%;
margin-right: 0;
height: auto;
min-height: 30px;
}
.el-radio__input.is-disabled + span.el-radio__label {
white-space: break-spaces;
word-break: break-all;
line-height: 20px;
}
}
</style>

View File

@ -69,7 +69,7 @@
prop="EXAMNAME"
show-overflow-tooltip
/>
<el-table-column label="上传时间" prop="CREATTIME" width="150" />
<el-table-column label="创建时间" prop="CREATTIME" width="150" />
<el-table-column label="满分" prop="EXAMSCORE" width="150" />
<el-table-column label="合格分数" prop="PASSSCORE" width="150" />
<el-table-column label="试卷类型" width="150">

View File

@ -60,7 +60,7 @@
<layout-learning-train-type
v-model="searchForm.TRAINLEVEL"
type="trainingLevel"
:search-value="searchForm.TRAINTYPE"
:search-value="searchForm.POSTTYPE"
/>
</el-form-item>
</el-col>
@ -91,7 +91,7 @@
prop="CURRICULUMNAME"
show-overflow-tooltip
/>
<el-table-column label="上传时间" prop="CREATTIME" width="150" />
<el-table-column label="创建时间" prop="CREATTIME" width="150" />
<el-table-column label="行业类型">
<template #default="{ row }">
{{ row.INDUSTRY_END_NAME || row.INDUSTRY_ALL_NAME }}

View File

@ -8,7 +8,7 @@
>
<el-row>
<el-col :span="5">
<el-form-item label="课名称" prop="KEYWORDS">
<el-form-item label="课名称" prop="KEYWORDS">
<el-input v-model="searchForm.KEYWORDS" />
</el-form-item>
</el-col>
@ -65,7 +65,7 @@
prop="COURSEWARENAME"
show-overflow-tooltip
/>
<el-table-column label="上传时间" prop="CREATTIME" width="150" />
<el-table-column label="创建时间" prop="CREATTIME" width="150" />
<el-table-column label="行业类型" prop="INDUSTRY_END_NAME" />
<el-table-column label="培训类型" prop="TRAININGTYPE_NAME" />
<el-table-column label="岗位类型" prop="POSTTYPE_NAME" />

View File

@ -6,7 +6,7 @@
{{ data.info.COURSEWARENAME }}
</el-descriptions-item>
<el-descriptions-item label="培训类型">
{{ data.info.TYPENAME }}
{{ data.info.TRAININGTYPE_NAME }}
</el-descriptions-item>
<el-descriptions-item label="讲师名称">
{{ data.info.SPEAKERNAME }}
@ -18,13 +18,9 @@
</el-button>
</el-descriptions-item>
<el-descriptions-item label="课件截图">
<img
v-viewer
:src="data.info.VIDEOCAPTURE"
alt=""
width="100"
height="100"
/>
<viewer v-if="data.info.VIDEOCAPTURE">
<img :src="data.info.VIDEOCAPTURE" alt="" width="100" height="100" />
</viewer>
</el-descriptions-item>
<el-descriptions-item label="课件描述">
{{ data.info.COURSEWAREINTRODUCE }}