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.mode = "view";
this.editId = row.id; this.editId = row.id;
this.limitedVisible = true; this.limitedVisible = true;
this.lending_type = 'outer'; if (row.is_lending) {
this.lending_type = "outer";
} else {
this.lending_type = "";
}
this.addForm = Object.assign({}, row); this.addForm = Object.assign({}, row);
if (row.lending_date && row.return_date) { if (row.lending_date && row.return_date) {
this.timeRange = [row.lending_date, row.return_date]; this.timeRange = [row.lending_date, row.return_date];

View File

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

View File

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

View File

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