zhanghua
2022-10-25 c569fe2027abbcb85c1f7c817456ecf31301f36a
车辆管理bug
4个文件已修改
411 ■■■■■ 已修改文件
src/views/operate/car/myIndex/create/law/index.vue 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/car/myIndex/edit/law/index.vue 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/car/myIndex/edit/soil/index.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/car/myIndex/index.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/car/myIndex/create/law/index.vue
@@ -2,38 +2,65 @@
    <div class="createUser">
        <main>
            <div class="mainContent">
                <el-form ref="user" label-width="140px" :rules="createCarRules" autoComplete="on" :model="car"
                    label-position="right">
        <el-form
          ref="user"
          label-width="140px"
          :rules="createCarRules"
          autoComplete="on"
          :model="car"
          label-position="right"
        >
                    <!-- 车牌号 -->
                    <el-form-item class="optionItem" label="车牌号:" prop="carNumber">
                        <el-input v-model="car.carNumber" placeholder="请填写车牌号"></el-input>
            <el-input
              v-model="car.carNumber"
              placeholder="请填写车牌号"
            ></el-input>
                    </el-form-item>
                    <!-- 所属部门 -->
                    <el-form-item class="optionItems" label="所属部门:" prop="depart">
          <el-form-item class="optionItems" label="所属部门:" prop="departId">
                        <!-- <el-input v-model="car.depart" placeholder="请填写所属部门"></el-input> -->
                        <el-select v-model="car.belong" placeholder="请选择所属部门">
            <el-select v-model="car.departName" placeholder="请选择所属部门">
                            <el-option value="1">
                                <el-tree ref="tree" :check-strictly="true" :data="departList" :props="defaultProps"
                                    show-checkbox @check-change="handleCheck" default-expand-all node-key="id">
                <el-tree
                  ref="tree"
                  :check-strictly="true"
                  :data="departList"
                  :props="defaultProps"
                  show-checkbox
                  @check-change="handleCheck"
                  default-expand-all
                  node-key="id"
                >
                                </el-tree>
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <!-- 车主姓名 -->
                    <el-form-item class="optionItem" label="车主姓名:" prop="ownerName">
                        <el-input v-model="car.ownerName" placeholder="请输入车主姓名"></el-input>
            <el-input
              v-model="car.ownerName"
              placeholder="请输入车主姓名"
            ></el-input>
                    </el-form-item>
                    <!-- 车辆使用人员 -->
                    <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
          <!-- <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
                        <el-input v-model="car.vehicleUser" placeholder="请输入车辆使用人员"></el-input>
                    </el-form-item>
                    </el-form-item> -->
                    <!-- 联系方式 -->
                    <el-form-item class="optionItem" label="联系方式:" prop="contact">
                        <el-input v-model="car.contact" placeholder="请输入车主手机号码"></el-input>
            <el-input
              v-model="car.contact"
              placeholder="请输入车主手机号码"
            ></el-input>
                    </el-form-item>
                    <el-form-item>
                        <div class="optionBtn">
                            <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">确认
              <el-button
                type="primary"
                class="btn submit"
                @click.native.prevent="handleCar"
                >确认
                            </el-button>
                            <el-button class="btn cancel" @click.native.prevent="handleStop">
                                取消
@@ -41,169 +68,167 @@
                        </div>
                    </el-form-item>
                </el-form>
            </div>
        </main>
    </div>
</template>
<script>
import { validateCarNum, validatePhone, validateName } from '@/utils/validate'
import { validateCarNum, validatePhone, validateName } from "@/utils/validate";
export default {
    data() {
        const checkCarNum = (rule, value, callback) => {
            if (value) {
                if (validateCarNum(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请输入正确的车牌号'));
          callback(new Error("请输入正确的车牌号"));
                }
            } else {
                callback(new Error('车牌号不能为空'));
        callback(new Error("车牌号不能为空"));
            }
        }
    };
        const checkName = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请正确输入车主姓名'));
          callback(new Error("请正确输入车主姓名"));
                }
            } else {
                callback(new Error('车主姓名不能为空'));
        callback(new Error("车主姓名不能为空"));
            }
        }
        const checkUser = (rule, value, callback) => {
    };
    const checkDepartId = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请正确输入车辆使用人员'));
        callback(new Error("车辆使用的部门不能为空"));
                }
            } else {
                callback(new Error('车辆使用人员不能为空'));
            }
        }
    };
        const checkPhone = (rule, value, callback) => {
            if (value) {
                if (validatePhone(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请输入正确的手机号'));
          callback(new Error("请输入正确的手机号"));
                }
            } else {
                callback(new Error('手机号码不能为空'));
        callback(new Error("手机号码不能为空"));
            }
        }
    };
        return {
            car: {
                carNumber: "",
                contact: "",
                belong: "",
                // id: 0,
                ownerName: "",
                trajectory: "",
                vehicleUser: "",
                depart: '',
        departName: "",
        departId: 0,
            },
            createCarRules: {
        departId: [
          {
            required: true,
            trigger: "blur",
            validator: checkDepartId,
          },
        ],
                carNumber: [
                    {
                        required: true, trigger: 'blur', validator: checkCarNum
                    }
            required: true,
            trigger: "blur",
            validator: checkCarNum,
          },
                ],
                contact: [
                    {
                        required: true, trigger: 'blur', validator: checkPhone
                    }
            required: true,
            trigger: "blur",
            validator: checkPhone,
          },
                ],
                // id: 0,
                ownerName: [
                    {
                        required: true, trigger: 'blur', validator: checkName
                    }
            required: true,
            trigger: "blur",
            validator: checkName,
          },
                ],
                vehicleUser: [
                    {
                        required: true, trigger: 'blur', validator: checkUser
                    }
                ]
        // vehicleUser: [
        //     {
        //         required: true, trigger: 'blur', validator: checkUser
        //     }
        // ]
            },
            teamList: [
                {
                    label: '大队一',
          label: "大队一",
                    value: 1,
                },
                {
                    label: '大队二',
          label: "大队二",
                    value: 2,
                },
            ],
            selectOrg: {
                orgsid: [],
            },
            mylabel: '',
      mylabel: "",
            departList: [],
            defaultProps: {
                children: "children",
                label: "departName",
            },
        }
    };
    },
    created() {
        // 获取全部部门列表
        this.$axios.get('/sccg/depart/tree').then(res => {
    this.$axios.get("/sccg/depart/tree").then((res) => {
            this.departList = res.data;
        })
    });
    },
    methods: {
        // 添加车辆
        handleCar() {
            console.log(this.car);
            this.$refs.user.validate((valid) => {
          debugger;
                if (valid) {
                    const { car } = this;
                    this.$axios({
                        method: 'post',
                        url: 'sccg/car_Manage/addition_enforce',
                        data: {
                            carNumber: car.carNumber,
                            contact: car.contact,
                            belong: car.belong,
                            // id: 0,
                            ownerName: car.ownerName,
                            trajectory: car.trajectory,
                            vehicleUser: car.vehicleUser,
                            depart: car.depart,
                        }
                    })
                        .then(res => {
            method: "post",
            url: "sccg/car_Manage/addition_enforce",
            data: car,
          }).then((res) => {
                            console.log(res);
                            if (res.code === 200) {
                                this.$message({
                                    type: 'success',
                                    message: '新增车辆成功',
                                })
                                this.$emit('closeDialog', { flag: false, index: 1 });
                type: "success",
                message: "新增车辆成功",
              });
              this.$emit("closeDialog", { flag: false, index: 1 });
                            } else {
                                this.$message({
                                    type: 'error',
                type: "error",
                                    message: res.message,
                                })
              });
                            }
                        })
          });
                } else {
                    return false;
                }
            })
      });
        },
        handleStop() {
            this.$emit('closeDialog', { flag: false, index: 0 });
      this.$emit("closeDialog", { flag: false, index: 0 });
        },
        // 部门修改
        handleCheck(data, checked) {
            console.log(data);
            this.car.belong = data.departName
            this.car.depart = data.id
      // this.car.belong = data.departName
      this.car.departId = data.id;
      this.car.departName = data.departName;
            // 获取当前选择的id在数组中的索引
            const indexs = this.selectOrg.orgsid.indexOf(data.id);
            // 如果不存在数组中,并且数组中已经有一个id并且checked为true的时候,代表不能再次选择。
@@ -227,14 +252,12 @@
            ) {
                // 再次直接进行赋值为空操作
                this.selectOrg.orgsid = [];
                this.car.belong = ''
                this.car.depart = ''
        this.car.departName = "";
            }
        },
    },
    props: ['closeDialog']
}
  props: ["closeDialog"],
};
</script>
<style lang="scss" scoped>
.createUser {
@@ -282,7 +305,6 @@
                    padding: 12px 50px;
                }
            }
        }
    }
src/views/operate/car/myIndex/edit/law/index.vue
@@ -2,148 +2,195 @@
    <div class="createUser">
        <main>
            <div class="mainContent">
                <el-form ref="user" label-width="140px" :rules="createCarRules" autoComplete="on" :model="car"
                    label-position="right">
        <el-form
          ref="user"
          label-width="140px"
          :rules="createCarRules"
          autoComplete="on"
          :model="car"
          label-position="right"
        >
                    <!-- 车牌号 -->
                    <el-form-item class="optionItem" label="车牌号:" prop="carNumber">
                        <el-input v-model="car.carNumber" placeholder="请填写车牌号"></el-input>
            <el-input
              v-model="car.carNumber"
              placeholder="请填写车牌号"
            ></el-input>
                    </el-form-item>
                    <!-- 所属部门 -->
                    <el-form-item class="optionItems" label="所属部门:" prop="depart">
          <el-form-item class="optionItems" label="所属部门:" prop="departId">
                        <!-- <el-input v-model="car.depart" placeholder="请填写所属部门"></el-input> -->
                        <el-select v-model="car.belong" placeholder="请选择所属部门">
            <el-select v-model="car.departName" placeholder="请选择所属部门">
                            <el-option value="1">
                                <el-tree ref="tree" :check-strictly="true" :data="departList" :props="defaultProps"
                                    show-checkbox @check-change="handleCheck" default-expand-all node-key="id">
                <el-tree
                  ref="tree"
                  :check-strictly="true"
                  :data="departList"
                  :props="defaultProps"
                  show-checkbox
                  @check-change="handleCheck"
                  default-expand-all
                  node-key="id"
                >
                                </el-tree>
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <!-- 车主姓名 -->
                    <el-form-item class="optionItem" label="车主姓名:" prop="ownerName">
                        <el-input v-model="car.ownerName" placeholder="请输入车主姓名"></el-input>
            <el-input
              v-model="car.ownerName"
              placeholder="请输入车主姓名"
            ></el-input>
                    </el-form-item>
                    <!-- 车辆使用人员 -->
                    <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
          <!-- <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
                        <el-input v-model="car.vehicleUser" placeholder="请输入车辆使用人员"></el-input>
                    </el-form-item>
                    </el-form-item> -->
                    <!-- 联系方式 -->
                    <el-form-item class="optionItem" label="联系方式:" prop="contact">
                        <el-input v-model="car.contact" placeholder="请输入车主手机号码"></el-input>
            <el-input
              v-model="car.contact"
              placeholder="请输入车主手机号码"
            ></el-input>
                    </el-form-item>
                    <el-form-item>
                        <div class="optionBtn">
                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUpdateLawCar">确认
              <el-button
                type="primary"
                class="btn submit"
                @click.native.prevent="handleUpdateLawCar"
                >确认
                            </el-button>
                        </div>
                    </el-form-item>
                </el-form>
            </div>
        </main>
    </div>
</template>
<script>
import { validateCarNum, validatePhone, validateName } from '@/utils/validate'
import { validateCarNum, validatePhone, validateName } from "@/utils/validate";
export default {
    data() {
        const checkCarNum = (rule, value, callback) => {
            if (value) {
                if (validateCarNum(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请输入正确的车牌号'));
          callback(new Error("请输入正确的车牌号"));
                }
            } else {
                callback(new Error('车牌号不能为空'));
        callback(new Error("车牌号不能为空"));
            }
        }
    };
        const checkName = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请正确输入车主姓名'));
          callback(new Error("请正确输入车主姓名"));
                }
            } else {
                callback(new Error('车主姓名不能为空'));
        callback(new Error("车主姓名不能为空"));
            }
    };
    const checkDepartId = (rule, value, callback) => {
      if (value) {
        callback();
      } else {
        callback(new Error("车辆使用的部门不能为空"));
        }
    };
        const checkUser = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请正确输入车辆使用人员'));
          callback(new Error("请正确输入车辆使用人员"));
                }
            } else {
                callback(new Error('车辆使用人员不能为空'));
        callback(new Error("车辆使用人员不能为空"));
            }
        }
    };
        const checkPhone = (rule, value, callback) => {
            if (value) {
                if (validatePhone(value)) {
                    callback()
          callback();
                } else {
                    callback(new Error('请输入正确的手机号'));
          callback(new Error("请输入正确的手机号"));
                }
            } else {
                callback(new Error('手机号码不能为空'));
        callback(new Error("手机号码不能为空"));
            }
        }
    };
        return {
            car: {
                carNumber: "",
                contact: "",
                belong: "",
                // id: 0,
                ownerName: "",
                trajectory: "",
                vehicleUser: "",
                depart: '',
        departName: "",
        departId: 0,
            },
            createCarRules: {
        departId: [
          {
            required: true,
            trigger: "blur",
            validator: checkDepartId,
          },
        ],
                carNumber: [
                    {
                        required: true, trigger: 'blur', validator: checkCarNum
                    }
            required: true,
            trigger: "blur",
            validator: checkCarNum,
          },
                ],
                contact: [
                    {
                        required: true, trigger: 'blur', validator: checkPhone
                    }
            required: true,
            trigger: "blur",
            validator: checkPhone,
          },
                ],
                // id: 0,
                ownerName: [
                    {
                        required: true, trigger: 'blur', validator: checkName
                    }
            required: true,
            trigger: "blur",
            validator: checkName,
          },
                ],
                vehicleUser: [
                    {
                        required: true, trigger: 'blur', validator: checkUser
                    }
                ]
        // vehicleUser: [
        //     {
        //         required: true, trigger: 'blur', validator: checkUser
        //     }
        // ]
            },
            selectOrg: {
                orgsid: [],
            },
            mylabel: '',
      mylabel: "",
            departList: [],
            defaultProps: {
                children: "children",
                label: "departName",
            },
        }
    };
    },
    created() {
        console.log(this.info);
        const {getDepartTree} = this
    const { getDepartTree } = this;
        // 初始化部门树
        getDepartTree();
        // 初始化数据
        this.car = JSON.parse(JSON.stringify(this.info));
    if (!this.car.departName) {
      this.car.departName = this.car.pdepartName;
    }
    },
    methods: {
        // 修改执法车
@@ -152,37 +199,36 @@
                if (valid) {
                    const { car } = this;
                    this.$axios({
                        method: 'put',
                        url: 'sccg/car_Manage/modification_enforce',
            method: "put",
            url: "sccg/car_Manage/modification_enforce",
                        data: {
                            ...car
                        }
                    })
                        .then(res => {
              ...car,
            },
          }).then((res) => {
                            console.log(res);
                            if (res.code === 200) {
                                this.$message({
                                    type: 'success',
                                    message: '修改车辆成功',
                                })
                                this.$emit('closeDialog', { flag: false, index: 1 });
                type: "success",
                message: "修改车辆成功",
              });
              this.$emit("closeDialog", { flag: false, index: 1 });
                            } else {
                                this.$message({
                                    type: 'error',
                type: "error",
                                    message: res.message,
                                })
              });
                            }
                        })
          });
                } else {
                    return false;
                }
            })
      });
        },
        // 部门修改
        handleCheck(data, checked) {
            console.log(data);
            this.car.belong = data.departName
            this.car.depart = data.id
      this.car.departId = data.id;
      this.car.departName = data.departName;
            // 获取当前选择的id在数组中的索引
            const indexs = this.selectOrg.orgsid.indexOf(data.id);
            // 如果不存在数组中,并且数组中已经有一个id并且checked为true的时候,代表不能再次选择。
@@ -206,21 +252,18 @@
            ) {
                // 再次直接进行赋值为空操作
                this.selectOrg.orgsid = [];
                this.car.belong = ''
                this.car.depart = ''
        this.car.departName = "";
            }
        },
        // 获取部门树
        getDepartTree() { 
            this.$axios.get('/sccg/depart/tree').then(res => {
      this.$axios.get("/sccg/depart/tree").then((res) => {
                this.departList = res.data;
            })
        }
      });
    },
    props: ['info','closeDialog']
}
  },
  props: ["info", "closeDialog"],
};
</script>
<style lang="scss" scoped>
.createUser {
@@ -268,7 +311,6 @@
                    padding: 12px 50px;
                }
            }
        }
    }
src/views/operate/car/myIndex/edit/soil/index.vue
@@ -17,16 +17,16 @@
                        </el-select>
                    </el-form-item>
                    <!-- 车主姓名 -->
                    <el-form-item class="optionItem" label="车主姓名:" prop="ownerName">
                        <el-input v-model="car.ownerName" placeholder="请输入车主姓名"></el-input>
                    <el-form-item class="optionItem" label="车主姓名:" prop="carOwner">
                        <el-input v-model="car.carOwner" placeholder="请输入车主姓名"></el-input>
                    </el-form-item>
                    <!-- 车辆使用人员 -->
                    <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
                        <el-input v-model="car.vehicleUser" placeholder="请输入车辆使用人员"></el-input>
                    <el-form-item class="optionItem" label="车辆使用人员:" prop="carUser">
                        <el-input v-model="car.carUser" placeholder="请输入车辆使用人员"></el-input>
                    </el-form-item>
                    <!-- 联系方式 -->
                    <el-form-item class="optionItem" label="联系方式:" prop="contact">
                        <el-input v-model="car.contact" placeholder="请输入车主手机号码"></el-input>
                    <el-form-item class="optionItem" label="联系方式:" prop="phone">
                        <el-input v-model="car.phone" placeholder="请输入车主手机号码"></el-input>
                    </el-form-item>
                    <!-- 施工单位 -->
                    <el-form-item class="optionItems" label="施工单位:" prop="constructionOrg">
@@ -185,6 +185,7 @@
    created() {
        // 初始化数据
        this.car = JSON.parse(JSON.stringify(this.info));
        console.log('------------',this.car);
    },
    methods: {
        // 添加车辆
src/views/operate/car/myIndex/index.vue
@@ -5,7 +5,11 @@
                <div class="search">
                    <span>车辆搜索:</span>
                    <div class="option">
                        <el-input @input="handleSearch" v-model="context" placeholder="请输入车牌号"></el-input>
                        <el-input v-model="context" placeholder="请输入车牌号"></el-input>
                    </div>
                    <div class="findBtn">
                        <el-button type="primary" @click="handleSearch">查询</el-button>
                    </div>
                </div>
                <div class="addCar">
@@ -32,19 +36,19 @@
                    </el-table-column>
                    <el-table-column :prop="mystatus ===1 ? 'ownerName':'carOwner'" label="车主姓名" min-width="10">
                    </el-table-column>
                    <el-table-column :prop="mystatus ===1 ? 'vehicleUser' : 'carUser'" label="车辆使用人员" min-width="10">
                    <el-table-column v-if="mystatus ===2" :prop="mystatus ===1 ? 'vehicleUser' : 'carUser'" label="车辆使用人员" min-width="10">
                    </el-table-column>
                    <el-table-column :prop="mystatus ===1 ? 'contact' : 'phone' " label="联系方式" min-width="10">
                    </el-table-column>
                    <el-table-column :prop="mystatus===1 ? 'belong' : 'geographicPosition'" :label="mystatus === 1 ? '所属部门':'施工地址'" min-width="10">
                    <el-table-column :prop="mystatus===1 ? 'pdepartName' : 'geographicPosition'" :label="mystatus === 1 ? '所属部门':'施工地址'" min-width="10">
                    </el-table-column>
                    <el-table-column :prop="mystatus===1 ? 'depart' : 'constructionOrg'" :label="mystatus === 1 ? '所属大队' : '施工单位'" min-width="10">
                    <el-table-column :prop="mystatus===1 ? 'departName' : 'constructionOrg'" :label="mystatus === 1 ? '所属大队' : '施工单位'" min-width="10">
                    </el-table-column>
                    <el-table-column prop="operation" label="操作" min-width="20">
                        <template slot-scope="scope">
                            <div class="btn">
                                <span @click="handleView(scope.row)">查看</span>
                                <span class="line">|</span>
                                <!-- <span @click="handleView(scope.row)">查看</span>
                                <span class="line">|</span> -->
                                <span @click="handleEdit(scope.row)">编辑</span>
                                <span class="line">|</span>
                                <span @click="handleDelete(scope.row)">删除</span>