|
|
@@ -1,25 +1,26 @@
|
|
|
<template>
|
|
|
<div style="display: flex;flex-direction: row;" class="custom-calendar">
|
|
|
<el-card shadow="never" style="width: 60%;">
|
|
|
- <tableElm :columns="columns" :showButton="false" ref="table"></tableElm>
|
|
|
+ <tableElm :columns="columns" :showButton="true" @childToParent='childrenClick' ref="table"></tableElm>
|
|
|
|
|
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
|
|
|
v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
|
</el-card>
|
|
|
<el-card shadow="never" style="width: 38%;margin-left: 1%;">
|
|
|
<div>
|
|
|
- <el-tabs type="card" class="demo-tabs" active-name="3">
|
|
|
+ <el-tabs type="card" class="demo-tabs" active-name="4" v-model="activeName">
|
|
|
<el-tab-pane label="行驶" name="1">
|
|
|
<!-- <carWork></carWork> -->
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="加油" name="2">
|
|
|
+ <oilUse @addInfoObj="openDialog"></oilUse>
|
|
|
<!-- <schedule></schedule> -->
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="油耗" name="3">
|
|
|
- <oilUse></oilUse>
|
|
|
+ <oilUse @addInfoObj="openDialog"></oilUse>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="维修" name="4">
|
|
|
- <!-- <peopleLeave></peopleLeave> -->
|
|
|
+ <oilUse @addInfoObj="openDialog" ref="serviceObj"></oilUse>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="其它信息" name="5">
|
|
|
<!-- <peopleLeave></peopleLeave> -->
|
|
|
@@ -27,16 +28,36 @@
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
+
|
|
|
+ <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
|
|
|
+ <el-form ref="" :model="form" label-width="120px">
|
|
|
+ <el-form-item v-for="(item, index) in formList" :label="item.label" prop="carNum">
|
|
|
+ <el-input v-if="item.type == 'input'" v-model="addForm[item.prop]"
|
|
|
+ :placeholder="item.placeholder" />
|
|
|
+ <el-date-picker v-if="item.type == 'date'" value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ v-model="addForm[item.prop]" type="date" :placeholder="item.placeholder" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitService">确 定</el-button>
|
|
|
+ <el-button @click="dialog.visible = false">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="CarInfo" lang="ts">
|
|
|
import { listCarInfo, getCarInfo, delCarInfo, addCarInfo, updateCarInfo } from '@/api/carInfo';
|
|
|
import { CarInfoVO, CarInfoQuery, CarInfoForm } from '@/api/carInfo/types';
|
|
|
+import { listCarService, getCarService, delCarService, addCarService, updateCarService } from '@/api/carService';
|
|
|
import tableElm from "@/components/Public/table.vue";
|
|
|
import { useRoute, useRouter } from "vue-router";
|
|
|
|
|
|
-import oilUse from './oilUse.vue';
|
|
|
+import oilUse from './serviceInfo.vue';
|
|
|
+import serviceJson from '@/assets/json/carService.json'
|
|
|
|
|
|
const route = useRoute();
|
|
|
const router = useRouter();
|
|
|
@@ -52,10 +73,19 @@ const single = ref(true);
|
|
|
const multiple = ref(true);
|
|
|
const total = ref(0);
|
|
|
const value2 = ref('')
|
|
|
+const addForm = ref({});
|
|
|
+
|
|
|
+const activeName = ref("4")
|
|
|
|
|
|
const queryFormRef = ref<ElFormInstance>();
|
|
|
const carInfoFormRef = ref<ElFormInstance>();
|
|
|
|
|
|
+const formList = ref([
|
|
|
+ { placeholder: "请选择维修日期", type: 'date', label: '维修日期', prop: 'carNum', visible: true, isTemplate: false },
|
|
|
+ { placeholder: "请输入维修内容", type: 'input', label: '维修内容', prop: 'carNum', visible: true, isTemplate: false },
|
|
|
+ { placeholder: "请输入金额", type: 'input', label: '金额', prop: 'carNum', visible: true, isTemplate: false },
|
|
|
+])
|
|
|
+
|
|
|
|
|
|
const dialog = reactive<DialogOption>({
|
|
|
visible: false,
|
|
|
@@ -64,6 +94,8 @@ const dialog = reactive<DialogOption>({
|
|
|
|
|
|
const table = ref(tableElm)
|
|
|
|
|
|
+const serviceObj = ref(oilUse)
|
|
|
+
|
|
|
const times = ref([""])
|
|
|
|
|
|
const columns = ref([
|
|
|
@@ -90,6 +122,9 @@ const initFormData: CarInfoForm = {
|
|
|
ext1: undefined,
|
|
|
ext2: undefined
|
|
|
}
|
|
|
+
|
|
|
+const carId = ref(null);
|
|
|
+
|
|
|
const data = reactive<PageData<CarInfoForm, CarInfoQuery>>({
|
|
|
form: { ...initFormData },
|
|
|
queryParams: {
|
|
|
@@ -168,6 +203,40 @@ const getList = async () => {
|
|
|
loading.value = false;
|
|
|
}
|
|
|
|
|
|
+const openDialog = () => {
|
|
|
+ formList.value = serviceJson[activeName.value - 1].columns
|
|
|
+ console.log(formList.value)
|
|
|
+ addForm.value = {}
|
|
|
+ dialog.visible = true
|
|
|
+}
|
|
|
+
|
|
|
+const childrenClick = (data) => {
|
|
|
+ if (data.func == "updateObj") {
|
|
|
+ updateObj(data.data)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const updateObj = (data) => {
|
|
|
+ carId.value = data.id
|
|
|
+ console.log(carId.value)
|
|
|
+ serviceObj.value.initData(data,activeName.value)
|
|
|
+}
|
|
|
+
|
|
|
+const submitService = () => {
|
|
|
+ var obj = {
|
|
|
+ carId: carId.value
|
|
|
+ };
|
|
|
+ var key = serviceJson[activeName.value - 1].dataName
|
|
|
+ obj[key] = JSON.stringify(addForm.value);
|
|
|
+ console.log(obj)
|
|
|
+ console.log(addForm.value)
|
|
|
+ addCarService(obj).then(res => {
|
|
|
+ if(res.code == 200){
|
|
|
+ dialog.visible = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
/** 取消按钮 */
|
|
|
const cancel = () => {
|
|
|
reset();
|
|
|
@@ -251,6 +320,11 @@ const handleExport = () => {
|
|
|
|
|
|
onMounted(() => {
|
|
|
getList();
|
|
|
+ table.value.setButton([{
|
|
|
+ "type": "primary",
|
|
|
+ "text": "管理",
|
|
|
+ "func": "updateObj"
|
|
|
+ }]);
|
|
|
});
|
|
|
</script>
|
|
|
|