feat: ofm 修改车辆 印章的审批管理 以及 反存ticket_data

This commit is contained in:
zty 2025-10-14 16:48:23 +08:00
parent 8382275e67
commit a1444ca06f
4 changed files with 86 additions and 53 deletions

View File

@ -250,7 +250,11 @@ export default {
this.mode = "view";
this.editId = row.id;
this.limitedVisible = true;
this.lending_type = 'outer';
if (row.is_lending) {
this.lending_type = "outer";
} else {
this.lending_type = "";
}
this.addForm = Object.assign({}, row);
if (row.lending_date && row.return_date) {
this.timeRange = [row.lending_date, row.return_date];

View File

@ -40,7 +40,7 @@
@change="handleDateChange">
</el-date-picker>
</el-form-item>
<el-form-item label="实际归还日期" v-auth="'seal.return'">
<el-form-item label="实际归还日期" v-if="localForm.ticket_?.state_?.name=='借用中'">
<el-date-picker
v-model="localForm.actual_return_date"
type="date"
@ -48,7 +48,6 @@
value-format="YYYY-MM-DD"
unlink-panels
placeholder="选择日期"
:disabled="mode==='view'"
>
</el-date-picker>
</el-form-item>
@ -76,7 +75,12 @@
</sc-upload-file>
</el-form-item>
<el-form-item label="用印份数" prop="file_count">
<el-input v-model="localForm.file_count" clearable :disabled="mode==='view'"></el-input>
<el-input-number
v-model="localForm.file_count"
:min="0"
:step="1"
controls-position="right"
:disabled="mode==='view'"></el-input-number>
</el-form-item>
</el-form>
<el-footer v-show="mode!=='show'">
@ -85,6 +89,7 @@
:title="ticketTitle"
:t_id="localForm.id"
:ticket_="localForm.ticket_"
:ticket_data="ticket_data"
:submit_b_func="submit_b_func"
ref="ticketd_b_start"
@success="$emit('success')"
@ -95,6 +100,7 @@
<el-aside v-if="localForm.ticket">
<ticketd
:ticket_="localForm.ticket_"
:ticket_data="ticket_data"
@success="$emit('success')"
style="margin-top: 20px;"
/>
@ -115,6 +121,7 @@ export default {
emits: ["update:modelValue", "submit", "cancel"],
data() {
return {
ticket_data: {},
ticketTitle: "用印申请",
localForm: { ...this.modelValue },
timeRange: [],
@ -125,24 +132,31 @@ export default {
},
mounted() {
this.initTimeRange();
},
watch: {
// ->
modelValue: {
handler(val) {
this.localForm = { ...val };
this.initTimeRange();
},
deep: true,
if(this.lending_type === 'outer'){
this.ticket_data = {
is_lending: true
};
}else{
this.ticket_data={is_lending: false}
};
},
// ->
localForm: {
handler(val) {
watch: {
'localForm.actual_return_date'(val) {
this.ticket_data.actual_return_date = val
console.log('ticket_data发生变化',this.ticket_data)
},
},
computed: {
addForm: {
get() {
return this.modelValue;
},
set(val) {
this.$emit("update:modelValue", val);
},
deep: true,
},
},
methods: {
handleDateChange(val) {
this.localForm.lending_date = val?.[0] || null

View File

@ -66,17 +66,17 @@
min-width="100"
></el-table-column>
<el-table-column
label="出发公里"
label="出发公里(km)"
prop="start_km"
min-width="100"
></el-table-column>
<el-table-column
label="结束公里"
label="结束公里(km)"
prop="end_km"
min-width="100"
></el-table-column>
<el-table-column
label="使用公里"
label="使用公里(km)"
prop="actual_km"
min-width="100"
></el-table-column>
@ -90,7 +90,7 @@
v-auth="'vehicle.update'"
>详情
</el-button>
<!-- <el-popconfirm
<el-popconfirm
title="确定删除吗?"
@confirm="vehicleDel(scope.row)"
>
@ -103,7 +103,7 @@
>删除</el-button
>
</template>
</el-popconfirm> -->
</el-popconfirm>
</template>
</el-table-column>
</scTable>
@ -232,23 +232,22 @@ export default {
this.$refs.table.refresh();
}
});
}
},
},
async vehicleDel(row) {
var id = row.id;
var res = await this.$API.ofm.vehicle.delete.req(id);
if (res.err_msg) {
this.$message.error(res.err_msg);
} else {
this.$refs.table.refresh();
this.$message.success("删除成功");
}
var id = row.id;
var res = await this.$API.ofm.vehicle.delete.req(id);
if (res.err_msg) {
this.$message.error(res.err_msg);
} else {
this.$refs.table.refresh();
this.$message.success("删除成功");
}
},
//
handleQuery() {
this.$refs.table.queryData(this.query);
},
}
};
</script>
<style scoped>

View File

@ -30,12 +30,14 @@
<el-form-item label="到达地点" prop="destination">
<el-input v-model="addForm.destination" clearable :disabled="mode==='view'"></el-input>
</el-form-item>
<el-form-item label="出发公里数" prop="start_km">
<el-input-number v-model="addForm.start_km" clearable :disabled="mode==='view'"></el-input-number>
</el-form-item>
<el-form-item label="归还公里数" prop="end_km">
<el-input-number v-model="addForm.end_km" clearable></el-input-number>
</el-form-item>
<el-form-item label="出发公里数" prop="start_km">
<el-input-number v-model="addForm.start_km" clearable :disabled="mode==='view'"></el-input-number>
</el-form-item>
<el-form-item label="归还公里数" prop="end_km" v-if="addForm.ticket_?.state_?.name=='用车中'">
<el-input-number v-model="addForm.end_km" clearable>
<template #append>km</template>
</el-input-number>
</el-form-item>
<el-form-item label="出车时间">
<el-date-picker
v-model="addForm.start_time"
@ -48,7 +50,7 @@
>
</el-date-picker>
</el-form-item>
<el-form-item label="还车时间" v-auth="'vehicle.return'">
<el-form-item label="还车时间" v-if="addForm.ticket_?.state_?.name=='用车中'">
<el-date-picker
v-model="addForm.end_time"
type="date"
@ -56,7 +58,6 @@
value-format="YYYY-MM-DD"
unlink-panels
placeholder="选择日期"
:disabled="mode==='view'"
>
</el-date-picker>
</el-form-item>
@ -73,7 +74,6 @@
@success="$emit('success')"
@colsed="$emit('closed')"
/>
<el-button type='primary' @click="$emit('submit')">保存</el-button>
</el-footer>
</el-main>
<el-aside v-if="addForm.ticket_">
@ -93,7 +93,6 @@ import ticketd from '@/views/wf/ticketd.vue'
export default {
props: {
mode: { type: String, default: "view" }, // add / edit / view
lending_type: { type: String, default: "outer" }, // inner / outer
modelValue: { type: Object, default: () => ({}) },
transitions: { type: Array, default: () => [] },
},
@ -111,9 +110,12 @@ export default {
vehicle_scope:[{name: '市内', is_city: true},{name: '市外', is_city: false}],
}
},
// mounted() {
// console.log(this.transitions)
// },
mounted() {
this.ticket_data = {
...this.ticket_data,
is_city: this.addForm.is_city,
}
},
watch: {
// ->
modelValue: {
@ -123,13 +125,24 @@ export default {
deep: true,
},
// ->
addForm: {
handler(val) {
this.$emit("update:modelValue", val);
},
deep: true,
}
addForm: {
handler(val) {
this.$emit("update:modelValue", val);
},
deep: true,
},
addForm: {
handler(val) {
Object.assign(this.ticket_data, {
end_km: val.end_km,
end_time: val.end_time,
// ...
});
},
deep: true,
}
},
methods: {
async submit_b_func() {
let that = this;
@ -148,4 +161,7 @@ export default {
},
},
};
</script>
</script>