1.相关方车辆入港申请

dev-2.0-mkmj
guoyuepeng 2025-07-23 09:32:58 +08:00
parent dd244fc051
commit a830b6a4c7
4 changed files with 153 additions and 28 deletions

View File

@ -88,6 +88,10 @@ export const compareUserExamVideoFaceCertify = (params) => post('/app/user/compa
export const getClassInfoByParams = (params) => post("/app/stagestudentrelation/getClassInfoByParams", params ); // 获取班级信息 export const getClassInfoByParams = (params) => post("/app/stagestudentrelation/getClassInfoByParams", params ); // 获取班级信息
// ********************* end *********************** // ********************* end ***********************
export const addVehicleMessage = (params) => post('/app/vehiclemessage/addVehicleMessage', params) // 添加车联信息 export const goCheckLicenceNo = (params) => post("/vehiclemessage/goCheckLicenceNo", params);
export const goCheckLicenceNo = (params) => post("/app/vehiclemessage/goCheckLicenceNo", params); export const getVehiclemessagePageList = (params) => post("/vehiclemessage/getPageList", params);
export const getVehiclemessagePageList = (params) => post("/app/vehiclemessage/getPageList", params); export const getVehiclemessageView = (params) => post("/vehiclemessage/showVehicleMessage", params);
export const setVehiclemessageSave = (params) => post("/vehiclemessage/addVehicleMessage", params);
export const setVehiclemessageUpdate = (params) => post("/vehiclemessage/updateVehicleMessage", params);
export const getAuditUserList = (params) => post("/sys/user/audit/user", params);
export const setVehiclemessageDelete = (params) => post("/vehiclemessage/deleteVehicleMessage", params);

View File

@ -15,22 +15,29 @@
<u-input v-model="form.VEHICLE_TYPE_NAME" border="none" readonly input-align="right"/> <u-input v-model="form.VEHICLE_TYPE_NAME" border="none" readonly input-align="right"/>
<u-icon name="arrow-right"></u-icon> <u-icon name="arrow-right"></u-icon>
</u-form-item> </u-form-item>
<u-form-item label="范围" prop="port_id" borderBottom required <u-form-item label="范围" prop="portId" borderBottom required
@click="fnSingleChoiceClick('port_id')"> @click="fnSingleChoiceClick('portId')">
<u-input v-model="form.portId" border="none" readonly input-align="right"/> <u-input v-model="form.portName" border="none" readonly input-align="right"/>
<u-icon name="arrow-right"></u-icon> <u-icon name="arrow-right"></u-icon>
</u-form-item> </u-form-item>
<u-cell title="车辆所属部门" :value="$store.getters.getUserInfo.DEPARTMENT_NAME"></u-cell> <u-cell title="车辆所属部门" :value="$store.getters.getUserInfo.DEPARTMENT_NAME"></u-cell>
<u-cell title="负责人" :value="$store.getters.getUserInfo.NAME"></u-cell> <u-cell title="负责人" :value="$store.getters.getUserInfo.NAME"></u-cell>
<!-- <app-department label="车辆所属部门" :id.sync="form.DEPARTMENT_ID" :name.sync="form.DEPARTMENT_NAME"-->
<!-- :form.sync="form" prop="DEPARTMENT_ID" clear-key="USER_NAME,USER_ID"/>-->
<!-- <app-personnel :id.sync="form.USER_ID" :name.sync="form.USER_NAME" :department-id="form.DEPARTMENT_ID"-->
<!-- prop="USER_ID" label="负责人"/>-->
<app-time v-model="form.VISIT_START_TIME" prop="VISIT_START_TIME" label="有效期开始"/> <app-time v-model="form.VISIT_START_TIME" prop="VISIT_START_TIME" label="有效期开始"/>
<app-time v-model="form.VISIT_END_TIME" prop="VISIT_END_TIME" label="有效期结束"/> <app-time v-model="form.VISIT_END_TIME" prop="VISIT_END_TIME" label="有效期结束"/>
<app-department label="审核部门" :id.sync="form.AUDITOR_DEPARTMENT_ID" :name.sync="form.AUDITOR_DEPARTMENT_NAME" <!-- <app-department label="审核公司" :id.sync="form.AUDITOR_DEPARTMENT_ID" :name.sync="form.AUDITOR_DEPARTMENT_NAME"-->
type='0' <!-- type='0'-->
prop="AUDITOR_DEPARTMENT_ID"/> <!-- prop="AUDITOR_DEPARTMENT_ID"/>-->
<u-form-item label="审核公司" prop="corpInfo" borderBottom required
@click="fnSingleChoiceClick('corpInfoList')">
<u-input v-model="form.corpInfoName" border="none" readonly input-align="right"/>
<u-icon name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="审批人" prop="QY_AUDITOR" borderBottom required
@click="fnSingleChoiceClick('QY_AUDITOR')">
<u-input v-model="form.QY_AUDITOR_NAME" border="none" readonly input-align="right"/>
<u-icon name="arrow-right"></u-icon>
</u-form-item>
</u-form> </u-form>
<view class="mt-10"> <view class="mt-10">
<u-button type="primary" text="提交" @click="$u.debounce(fnSubmit, 1000, true)"/> <u-button type="primary" text="提交" @click="$u.debounce(fnSubmit, 1000, true)"/>
@ -45,7 +52,8 @@
import AppTime from "@/components/time/index.vue"; import AppTime from "@/components/time/index.vue";
import AppDepartment from "@/components/department/index.vue"; import AppDepartment from "@/components/department/index.vue";
import AppPersonnel from "@/components/personnel/index.vue"; import AppPersonnel from "@/components/personnel/index.vue";
import {addVehicleMessage,goCheckLicenceNo} from "@/api"; import {addVehicleMessage,goCheckLicenceNo,getVehiclemessageView, setVehiclemessageSave,getCorpInfoList,
setVehiclemessageUpdate,getAuditUserList} from "@/api";
export default { export default {
components: { components: {
AppTime, AppTime,
@ -62,6 +70,11 @@ export default {
{id: '3', name: "绿牌"}, {id: '3', name: "绿牌"},
{id: '4', name: "黑牌"}, {id: '4', name: "黑牌"},
], ],
VEHICLE_PORT_LIST: [
{id: "0", name: "全部"},
{id: "1", name: "东港区"},
{id: "2", name: "西港区"},
],
VEHICLE_TYPE_LIST: [{id: '1', name: "轿车"}], VEHICLE_TYPE_LIST: [{id: '1', name: "轿车"}],
form: { form: {
LICENCE_TYPE: '', LICENCE_TYPE: '',
@ -78,6 +91,8 @@ export default {
AUDITOR_DEPARTMENT_ID: '', AUDITOR_DEPARTMENT_ID: '',
AUDITOR_DEPARTMENT_NAME: '', AUDITOR_DEPARTMENT_NAME: '',
portId: '', portId: '',
QY_AUDITOR:'',
QY_AUDITOR_NAME:''
}, },
rules: { rules: {
LICENCE_TYPE: [{type: 'string', required: true, message: '请选择车牌类型', trigger: ['blur', 'change']}], LICENCE_TYPE: [{type: 'string', required: true, message: '请选择车牌类型', trigger: ['blur', 'change']}],
@ -96,6 +111,7 @@ export default {
type: 'picker', type: 'picker',
defaultIndex: [] defaultIndex: []
}, },
corpInfoList: [],
} }
}, },
onLoad(event) { onLoad(event) {
@ -104,7 +120,9 @@ export default {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: "重新申请", title: "重新申请",
}); });
this.getData();
} }
this.getCorpInfoList()
}, },
computed: { computed: {
userInfo() { userInfo() {
@ -120,9 +138,20 @@ export default {
if (event === 'VEHICLE_TYPE') { if (event === 'VEHICLE_TYPE') {
this.picker.columns = [this.VEHICLE_TYPE_LIST] this.picker.columns = [this.VEHICLE_TYPE_LIST]
} }
if (event === 'port_id') { if (event === 'portId') {
this.picker.columns = [[{id: '0', name: "全部"}, {id: '1', name: "东港区"}, {id: '2', name: "西港区"}]] this.picker.columns = [this.VEHICLE_PORT_LIST]
} }
if (event === 'corpInfoList') {
this.picker.columns = [this.corpInfoList]
this.form.QY_AUDITOR = ''
this.form.QY_AUDITOR_NAME = ''
}
if (event === 'QY_AUDITOR') {
this.form.QY_AUDITOR = ''
this.form.QY_AUDITOR_NAME = ''
this.picker.columns = [this.userList]
}
this.picker.show = true this.picker.show = true
}, },
fnSingleChoiceConfirm(event) { fnSingleChoiceConfirm(event) {
@ -134,6 +163,21 @@ export default {
this.form.VEHICLE_TYPE = event.value[0].id this.form.VEHICLE_TYPE = event.value[0].id
this.form.VEHICLE_TYPE_NAME = event.value[0].name this.form.VEHICLE_TYPE_NAME = event.value[0].name
} }
if (this.picker.type === 'portId') {
this.form.portId = event.value[0].id
this.form.portName = event.value[0].name
}
console.info(' this.picker.type')
console.info( this.picker.type)
if (this.picker.type === 'corpInfoList') {
this.form.corpInfoId = event.value[0].corpinfo_ID
this.form.corpInfoName = event.value[0].name
this.getUserList(event.value[0].corpinfo_ID)
}
if (this.picker.type === 'QY_AUDITOR') {
this.form.QY_AUDITOR = event.value[0].userId
this.form.QY_AUDITOR_NAME = event.value[0].name
}
this.fnSingleChoiceCancel() this.fnSingleChoiceCancel()
}, },
fnSingleChoiceCancel() { fnSingleChoiceCancel() {
@ -158,13 +202,47 @@ export default {
USER_ID: this.userInfo.USER_ID, USER_ID: this.userInfo.USER_ID,
VEHICLE_DEPARTMENT_ID: this.userInfo.DEPARTMENT_ID, VEHICLE_DEPARTMENT_ID: this.userInfo.DEPARTMENT_ID,
VEHICLE_DEPARTMENT_NAME: this.userInfo.DEPARTMENT_NAME, VEHICLE_DEPARTMENT_NAME: this.userInfo.DEPARTMENT_NAME,
QY_AUDITOR:'QY_AUDITOR' carForm:'2',
OLD_LICENCE_NO:this.form.LICENCE_NO
} }
const resData = await addVehicleMessage(params); // const resData = await addVehicleMessage(params);
this.VEHICLE_ID ? await setVehiclemessageUpdate(params) : await setVehiclemessageSave(params)
uni.navigateBack(); //
} catch { } catch {
uni.$u.toast('请补全必填项') uni.$u.toast('请补全必填项')
} }
},
async getCorpInfoList() {
const resData = await getCorpInfoList()
this.corpInfoList = resData.list.corpInfoDos
},
async getUserList(corpinfoId) {
const resData = await getAuditUserList(
{corpinfoId: corpinfoId}
);
this.userList = resData.data;
},
async getData() {
const resData = await getVehiclemessageView({VEHICLE_ID: this.$route.query.VEHICLE_ID});
this.form = resData.pd;
const matchedItem = this.VEHICLE_LICENSE_PLATE_TYPE_LIST.find(item => item.id === resData.pd.LICENCE_TYPE.toString());
if (matchedItem) {
this.form.LICENCE_TYPE_NAME = matchedItem.name;
this.form.LICENCE_TYPE = resData.pd.LICENCE_TYPE.toString();
} }
const vehicleType = this.VEHICLE_TYPE_LIST.find(item => item.id === resData.pd.VEHICLE_TYPE.toString());
if (vehicleType) {
this.form.VEHICLE_TYPE_NAME = vehicleType.name;
this.form.VEHICLE_TYPE = resData.pd.VEHICLE_TYPE.toString();
}
const vehiclePort = this.VEHICLE_PORT_LIST.find(item => item.id === resData.pd.portId.toString());
if (vehiclePort) {
this.form.portName = vehiclePort.name;
this.form.portId = resData.pd.portId.toString();
}
this.form.corpInfoName = this.form.QY_AUDITOR_CORP_NAME
this.form.corpInfoId = this.form.QY_AUDITOR_CORP_ID
},
}, },
} }
</script> </script>

View File

@ -100,15 +100,29 @@ export default {
} }
}, },
onShow() { onShow() {
// this.resetList() this.resetList()
}, },
methods: { methods: {
async getData() { async getData() {
const resData = await getVehiclemessagePageList({ type: 1, CAR_FROM: 0, curPage: this.currentPage, limit: this.pageSize}); const resData = await getVehiclemessagePageList({ type: 1, CAR_FROM: 2, curPage: this.currentPage, limit: this.pageSize});
this.list = [...this.list, ...resData.varList]; this.list = [...this.list, ...resData.varList];
console.info(this.list) console.info(this.list)
this.totalPage = resData.page.totalPage; this.totalPage = resData.page.totalPage;
}, },
fnDelete(VEHICLE_ID) {
uni.showModal({
title: '提示',
content: '确定要删除这条记录?',
success: async res => {
if (res.confirm) {
await setVehiclemessageDelete({
VEHICLE_ID
})
this.resetList()
}
}
})
},
resetList() { resetList() {
this.pageSize = 10 this.pageSize = 10
this.currentPage = 1 this.currentPage = 1

View File

@ -2,18 +2,38 @@
<view class="content"> <view class="content">
<view class="card"> <view class="card">
<u-cell-group :border="false"> <u-cell-group :border="false">
<u-cell title="车牌号" :value="info.LICENCE_NO"></u-cell> <u-cell>
<u-cell title="车牌类型" :value="VEHICLE_LICENSE_PLATE_TYPE_MAP[info.LICENCE_TYPE]"></u-cell> <view slot="title" class="title">车牌号</view>
<u-cell title="车辆类型" :value="VEHICLE_TYPE_MAP[info.VEHICLE_TYPE]"></u-cell> <view slot="label" class="mt-10">{{ info.LICENCE_NO }}</view>
<u-cell title="范围" :value="VEHICLE_PORT_MAP[info.portId]"></u-cell> </u-cell>
<u-cell title="车辆所属部门" :value="info.DEPT_NAME"></u-cell> <u-cell>
<u-cell title="车辆归属人" :value="info.U_NAME"></u-cell> <view slot="title" class="title">车牌类型</view>
<view slot="label" class="mt-10">{{ VEHICLE_LICENSE_PLATE_TYPE_MAP[info.LICENCE_TYPE] }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">车辆类型</view>
<view slot="label" class="mt-10">{{ VEHICLE_TYPE_MAP[info.VEHICLE_TYPE] }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">范围</view>
<view slot="label" class="mt-10">{{ VEHICLE_PORT_MAP[info.portId] }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">车辆所属部门</view>
<view slot="label" class="mt-10">{{ info.DEPT_NAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">车辆归属人</view>
<view slot="label" class="mt-10">{{ info.U_NAME }}</view>
</u-cell>
</u-cell-group> </u-cell-group>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import { getVehiclemessageView } from "@/api";
export default { export default {
data() { data() {
return { return {
@ -37,6 +57,15 @@ export default {
} }
} }
}, },
onShow() {
this.getData()
},
methods: {
async getData() {
const resData = await getVehiclemessageView({VEHICLE_ID: this.$route.query.VEHICLE_ID });
this.info = resData.pd;
},
}
} }
</script> </script>