zhanghua
2022-10-25 c569fe2027abbcb85c1f7c817456ecf31301f36a
车辆管理bug
4个文件已修改
1165 ■■■■ 已修改文件
src/views/operate/car/myIndex/create/law/index.vue 574 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/car/myIndex/edit/law/index.vue 562 ●●●● 补丁 | 查看 | 原始文档 | 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
@@ -1,303 +1,325 @@
<template>
    <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-item class="optionItem" label="车牌号:" prop="carNumber">
                        <el-input v-model="car.carNumber" placeholder="请填写车牌号"></el-input>
                    </el-form-item>
                    <!-- 所属部门 -->
                    <el-form-item class="optionItems" label="所属部门:" prop="depart">
                        <!-- <el-input v-model="car.depart" placeholder="请填写所属部门"></el-input> -->
                        <el-select v-model="car.belong" 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>
                            </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-form-item>
                    <!-- 车辆使用人员 -->
                    <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
  <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-item class="optionItem" label="车牌号:" prop="carNumber">
            <el-input
              v-model="car.carNumber"
              placeholder="请填写车牌号"
            ></el-input>
          </el-form-item>
          <!-- 所属部门 -->
          <el-form-item class="optionItems" label="所属部门:" prop="departId">
            <!-- <el-input v-model="car.depart" placeholder="请填写所属部门"></el-input> -->
            <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>
              </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-form-item>
          <!-- 车辆使用人员 -->
          <!-- <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
                        <el-input v-model="car.vehicleUser" 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>
                    <el-form-item>
                        <div class="optionBtn">
                            <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">确认
                            </el-button>
                            <el-button class="btn cancel" @click.native.prevent="handleStop">
                                取消
                            </el-button>
                        </div>
                    </el-form-item>
                </el-form>
                    </el-form-item> -->
          <!-- 联系方式 -->
          <el-form-item class="optionItem" label="联系方式:" prop="contact">
            <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>
              <el-button class="btn cancel" @click.native.prevent="handleStop">
                取消
              </el-button>
            </div>
        </main>
    </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()
                } else {
                    callback(new Error('请输入正确的车牌号'));
                }
            } else {
                callback(new Error('车牌号不能为空'));
            }
  data() {
    const checkCarNum = (rule, value, callback) => {
      if (value) {
        if (validateCarNum(value)) {
          callback();
        } else {
          callback(new Error("请输入正确的车牌号"));
        }
        const checkName = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
                } else {
                    callback(new Error('请正确输入车主姓名'));
                }
            } else {
                callback(new Error('车主姓名不能为空'));
            }
      } else {
        callback(new Error("车牌号不能为空"));
      }
    };
    const checkName = (rule, value, callback) => {
      if (value) {
        if (validateName(value)) {
          callback();
        } else {
          callback(new Error("请正确输入车主姓名"));
        }
        const checkUser = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
                } else {
                    callback(new Error('请正确输入车辆使用人员'));
                }
            } else {
                callback(new Error('车辆使用人员不能为空'));
            }
      } else {
        callback(new Error("车主姓名不能为空"));
      }
    };
    const checkDepartId = (rule, value, callback) => {
      if (value) {
          callback();
      } else {
        callback(new Error("车辆使用的部门不能为空"));
      }
    };
    const checkPhone = (rule, value, callback) => {
      if (value) {
        if (validatePhone(value)) {
          callback();
        } else {
          callback(new Error("请输入正确的手机号"));
        }
        const checkPhone = (rule, value, callback) => {
            if (value) {
                if (validatePhone(value)) {
                    callback()
                } else {
                    callback(new Error('请输入正确的手机号'));
                }
            } else {
                callback(new Error('手机号码不能为空'));
            }
        }
        return {
            car: {
                carNumber: "",
                contact: "",
                belong: "",
                // id: 0,
                ownerName: "",
                trajectory: "",
                vehicleUser: "",
                depart: '',
            },
            createCarRules: {
                carNumber: [
                    {
                        required: true, trigger: 'blur', validator: checkCarNum
                    }
                ],
                contact: [
                    {
                        required: true, trigger: 'blur', validator: checkPhone
                    }
                ],
                // id: 0,
                ownerName: [
                    {
                        required: true, trigger: 'blur', validator: checkName
                    }
                ],
                vehicleUser: [
                    {
                        required: true, trigger: 'blur', validator: checkUser
                    }
                ]
            },
            teamList: [
                {
                    label: '大队一',
                    value: 1,
                },
                {
                    label: '大队二',
                    value: 2,
                },
            ],
            selectOrg: {
                orgsid: [],
            },
            mylabel: '',
            departList: [],
            defaultProps: {
                children: "children",
                label: "departName",
            },
        }
    },
    created() {
        // 获取全部部门列表
        this.$axios.get('/sccg/depart/tree').then(res => {
            this.departList = res.data;
        })
    },
    methods: {
        // 添加车辆
        handleCar() {
            console.log(this.car);
            this.$refs.user.validate((valid) => {
                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 => {
                            console.log(res);
                            if (res.code === 200) {
                                this.$message({
                                    type: 'success',
                                    message: '新增车辆成功',
                                })
                                this.$emit('closeDialog', { flag: false, index: 1 });
                            } else {
                                this.$message({
                                    type: 'error',
                                    message: res.message,
                                })
                            }
                        })
                } else {
                    return false;
                }
            })
      } else {
        callback(new Error("手机号码不能为空"));
      }
    };
    return {
      car: {
        carNumber: "",
        contact: "",
        ownerName: "",
        trajectory: "",
        vehicleUser: "",
        departName: "",
        departId: 0,
      },
      createCarRules: {
        departId: [
          {
            required: true,
            trigger: "blur",
            validator: checkDepartId,
          },
        ],
        carNumber: [
          {
            required: true,
            trigger: "blur",
            validator: checkCarNum,
          },
        ],
        contact: [
          {
            required: true,
            trigger: "blur",
            validator: checkPhone,
          },
        ],
        // id: 0,
        ownerName: [
          {
            required: true,
            trigger: "blur",
            validator: checkName,
          },
        ],
        // vehicleUser: [
        //     {
        //         required: true, trigger: 'blur', validator: checkUser
        //     }
        // ]
      },
      teamList: [
        {
          label: "大队一",
          value: 1,
        },
        handleStop() {
            this.$emit('closeDialog', { flag: false, index: 0 });
        {
          label: "大队二",
          value: 2,
        },
        // 部门修改
        handleCheck(data, checked) {
            console.log(data);
            this.car.belong = data.departName
            this.car.depart = data.id
            // 获取当前选择的id在数组中的索引
            const indexs = this.selectOrg.orgsid.indexOf(data.id);
            // 如果不存在数组中,并且数组中已经有一个id并且checked为true的时候,代表不能再次选择。
            if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
                this.$message({
                    message: "只能选择一个部门!",
                    type: "warning",
                    showClose: true,
                });
                // 设置已选择的节点为false 很重要
                this.$refs.tree.setChecked(data, false);
            } else if (this.selectOrg.orgsid.length === 0 && checked) {
                // 发现数组为空 并且是已选择
                // 防止数组有值,首先清空,再push
                this.selectOrg.orgsid = [];
                this.selectOrg.orgsid.push(data.id);
            } else if (
                indexs >= 0 &&
                this.selectOrg.orgsid.length === 1 &&
                !checked
            ) {
                // 再次直接进行赋值为空操作
                this.selectOrg.orgsid = [];
                this.car.belong = ''
                this.car.depart = ''
      ],
      selectOrg: {
        orgsid: [],
      },
      mylabel: "",
      departList: [],
      defaultProps: {
        children: "children",
        label: "departName",
      },
    };
  },
  created() {
    // 获取全部部门列表
    this.$axios.get("/sccg/depart/tree").then((res) => {
      this.departList = res.data;
    });
  },
  methods: {
    // 添加车辆
    handleCar() {
      this.$refs.user.validate((valid) => {
          debugger;
        if (valid) {
          const { car } = this;
          this.$axios({
            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 });
            } else {
              this.$message({
                type: "error",
                message: res.message,
              });
            }
        },
          });
        } else {
          return false;
        }
      });
    },
    props: ['closeDialog']
}
    handleStop() {
      this.$emit("closeDialog", { flag: false, index: 0 });
    },
    // 部门修改
    handleCheck(data, checked) {
      console.log(data);
      // 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的时候,代表不能再次选择。
      if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
        this.$message({
          message: "只能选择一个部门!",
          type: "warning",
          showClose: true,
        });
        // 设置已选择的节点为false 很重要
        this.$refs.tree.setChecked(data, false);
      } else if (this.selectOrg.orgsid.length === 0 && checked) {
        // 发现数组为空 并且是已选择
        // 防止数组有值,首先清空,再push
        this.selectOrg.orgsid = [];
        this.selectOrg.orgsid.push(data.id);
      } else if (
        indexs >= 0 &&
        this.selectOrg.orgsid.length === 1 &&
        !checked
      ) {
        // 再次直接进行赋值为空操作
        this.selectOrg.orgsid = [];
        this.car.departName = "";
      }
    },
  },
  props: ["closeDialog"],
};
</script>
<style lang="scss" scoped>
.createUser {
    border-radius: 1px;
  border-radius: 1px;
  background-color: #09152f;
  main {
    // border: 1px solid #fff;
    text-align: left;
    padding: 0 55px;
    background-color: #09152f;
    padding-bottom: 50px;
    main {
        // border: 1px solid #fff;
        text-align: left;
        padding: 0 55px;
        background-color: #09152f;
        padding-bottom: 50px;
    .mainContent {
      display: flex;
      justify-content: center;
      padding-top: 50px;
        .mainContent {
            display: flex;
            justify-content: center;
            padding-top: 50px;
      .el-form-item__content {
        width: 400px;
            .el-form-item__content {
                width: 400px;
                .el-select {
                    width: 100%;
                }
            }
            .optionHandleSp {
                display: flex;
                .areaNumber,
                .moreNumber {
                    flex: 1;
                }
                .telNumber {
                    flex: 2;
                }
            }
            .optionBtn {
                display: flex;
                margin-top: 20px;
                .btn {
                    padding: 12px 50px;
                }
            }
        .el-select {
          width: 100%;
        }
    }
      }
    &::v-deep .el-textarea__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
    }
      .optionHandleSp {
        display: flex;
    ::v-deep .el-form-item__label {
        color: #4b9bb7;
    }
        .areaNumber,
        .moreNumber {
          flex: 1;
        }
    ::v-deep .el-input__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
        .telNumber {
          flex: 2;
        }
      }
      .optionBtn {
        display: flex;
        margin-top: 20px;
        .btn {
          padding: 12px 50px;
        }
      }
    }
  }
  &::v-deep .el-textarea__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
  }
  ::v-deep .el-form-item__label {
    color: #4b9bb7;
  }
  ::v-deep .el-input__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
  }
}
</style>
src/views/operate/car/myIndex/edit/law/index.vue
@@ -1,289 +1,331 @@
<template>
    <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-item class="optionItem" label="车牌号:" prop="carNumber">
                        <el-input v-model="car.carNumber" placeholder="请填写车牌号"></el-input>
                    </el-form-item>
                    <!-- 所属部门 -->
                    <el-form-item class="optionItems" label="所属部门:" prop="depart">
                        <!-- <el-input v-model="car.depart" placeholder="请填写所属部门"></el-input> -->
                        <el-select v-model="car.belong" 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>
                            </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-form-item>
                    <!-- 车辆使用人员 -->
                    <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
  <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-item class="optionItem" label="车牌号:" prop="carNumber">
            <el-input
              v-model="car.carNumber"
              placeholder="请填写车牌号"
            ></el-input>
          </el-form-item>
          <!-- 所属部门 -->
          <el-form-item class="optionItems" label="所属部门:" prop="departId">
            <!-- <el-input v-model="car.depart" placeholder="请填写所属部门"></el-input> -->
            <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>
              </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-form-item>
          <!-- 车辆使用人员 -->
          <!-- <el-form-item class="optionItem" label="车辆使用人员:" prop="vehicleUser">
                        <el-input v-model="car.vehicleUser" 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>
                    <el-form-item>
                        <div class="optionBtn">
                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUpdateLawCar">确认
                            </el-button>
                        </div>
                    </el-form-item>
                </el-form>
                    </el-form-item> -->
          <!-- 联系方式 -->
          <el-form-item class="optionItem" label="联系方式:" prop="contact">
            <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>
            </div>
        </main>
    </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()
                } else {
                    callback(new Error('请输入正确的车牌号'));
                }
            } else {
                callback(new Error('车牌号不能为空'));
            }
  data() {
    const checkCarNum = (rule, value, callback) => {
      if (value) {
        if (validateCarNum(value)) {
          callback();
        } else {
          callback(new Error("请输入正确的车牌号"));
        }
        const checkName = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
                } else {
                    callback(new Error('请正确输入车主姓名'));
                }
            } else {
                callback(new Error('车主姓名不能为空'));
            }
      } else {
        callback(new Error("车牌号不能为空"));
      }
    };
    const checkName = (rule, value, callback) => {
      if (value) {
        if (validateName(value)) {
          callback();
        } else {
          callback(new Error("请正确输入车主姓名"));
        }
        const checkUser = (rule, value, callback) => {
            if (value) {
                if (validateName(value)) {
                    callback()
                } else {
                    callback(new Error('请正确输入车辆使用人员'));
                }
            } else {
                callback(new Error('车辆使用人员不能为空'));
            }
      } else {
        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();
        } else {
          callback(new Error("请正确输入车辆使用人员"));
        }
        const checkPhone = (rule, value, callback) => {
            if (value) {
                if (validatePhone(value)) {
                    callback()
                } else {
                    callback(new Error('请输入正确的手机号'));
                }
            } else {
                callback(new Error('手机号码不能为空'));
            }
      } else {
        callback(new Error("车辆使用人员不能为空"));
      }
    };
    const checkPhone = (rule, value, callback) => {
      if (value) {
        if (validatePhone(value)) {
          callback();
        } else {
          callback(new Error("请输入正确的手机号"));
        }
        return {
            car: {
                carNumber: "",
                contact: "",
                belong: "",
                // id: 0,
                ownerName: "",
                trajectory: "",
                vehicleUser: "",
                depart: '',
      } else {
        callback(new Error("手机号码不能为空"));
      }
    };
    return {
      car: {
        carNumber: "",
        contact: "",
        ownerName: "",
        trajectory: "",
        vehicleUser: "",
        departName: "",
        departId: 0,
      },
      createCarRules: {
        departId: [
          {
            required: true,
            trigger: "blur",
            validator: checkDepartId,
          },
        ],
        carNumber: [
          {
            required: true,
            trigger: "blur",
            validator: checkCarNum,
          },
        ],
        contact: [
          {
            required: true,
            trigger: "blur",
            validator: checkPhone,
          },
        ],
        // id: 0,
        ownerName: [
          {
            required: true,
            trigger: "blur",
            validator: checkName,
          },
        ],
        // vehicleUser: [
        //     {
        //         required: true, trigger: 'blur', validator: checkUser
        //     }
        // ]
      },
      selectOrg: {
        orgsid: [],
      },
      mylabel: "",
      departList: [],
      defaultProps: {
        children: "children",
        label: "departName",
      },
    };
  },
  created() {
    console.log(this.info);
    const { getDepartTree } = this;
    // 初始化部门树
    getDepartTree();
    // 初始化数据
    this.car = JSON.parse(JSON.stringify(this.info));
    if (!this.car.departName) {
      this.car.departName = this.car.pdepartName;
    }
  },
  methods: {
    // 修改执法车
    handleUpdateLawCar() {
      this.$refs.user.validate((valid) => {
        if (valid) {
          const { car } = this;
          this.$axios({
            method: "put",
            url: "sccg/car_Manage/modification_enforce",
            data: {
              ...car,
            },
            createCarRules: {
                carNumber: [
                    {
                        required: true, trigger: 'blur', validator: checkCarNum
                    }
                ],
                contact: [
                    {
                        required: true, trigger: 'blur', validator: checkPhone
                    }
                ],
                // id: 0,
                ownerName: [
                    {
                        required: true, trigger: 'blur', validator: checkName
                    }
                ],
                vehicleUser: [
                    {
                        required: true, trigger: 'blur', validator: checkUser
                    }
                ]
            },
            selectOrg: {
                orgsid: [],
            },
            mylabel: '',
            departList: [],
            defaultProps: {
                children: "children",
                label: "departName",
            },
          }).then((res) => {
            console.log(res);
            if (res.code === 200) {
              this.$message({
                type: "success",
                message: "修改车辆成功",
              });
              this.$emit("closeDialog", { flag: false, index: 1 });
            } else {
              this.$message({
                type: "error",
                message: res.message,
              });
            }
          });
        } else {
          return false;
        }
      });
    },
    created() {
        console.log(this.info);
        const {getDepartTree} = this
        // 初始化部门树
        getDepartTree();
        // 初始化数据
        this.car = JSON.parse(JSON.stringify(this.info));
    // 部门修改
    handleCheck(data, checked) {
      console.log(data);
      this.car.departId = data.id;
      this.car.departName = data.departName;
      // 获取当前选择的id在数组中的索引
      const indexs = this.selectOrg.orgsid.indexOf(data.id);
      // 如果不存在数组中,并且数组中已经有一个id并且checked为true的时候,代表不能再次选择。
      if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
        this.$message({
          message: "只能选择一个部门!",
          type: "warning",
          showClose: true,
        });
        // 设置已选择的节点为false 很重要
        this.$refs.tree.setChecked(data, false);
      } else if (this.selectOrg.orgsid.length === 0 && checked) {
        // 发现数组为空 并且是已选择
        // 防止数组有值,首先清空,再push
        this.selectOrg.orgsid = [];
        this.selectOrg.orgsid.push(data.id);
      } else if (
        indexs >= 0 &&
        this.selectOrg.orgsid.length === 1 &&
        !checked
      ) {
        // 再次直接进行赋值为空操作
        this.selectOrg.orgsid = [];
        this.car.departName = "";
      }
    },
    methods: {
        // 修改执法车
        handleUpdateLawCar() {
            this.$refs.user.validate((valid) => {
                if (valid) {
                    const { car } = this;
                    this.$axios({
                        method: 'put',
                        url: 'sccg/car_Manage/modification_enforce',
                        data: {
                            ...car
                        }
                    })
                        .then(res => {
                            console.log(res);
                            if (res.code === 200) {
                                this.$message({
                                    type: 'success',
                                    message: '修改车辆成功',
                                })
                                this.$emit('closeDialog', { flag: false, index: 1 });
                            } else {
                                this.$message({
                                    type: 'error',
                                    message: res.message,
                                })
                            }
                        })
                } else {
                    return false;
                }
            })
        },
        // 部门修改
        handleCheck(data, checked) {
            console.log(data);
            this.car.belong = data.departName
            this.car.depart = data.id
            // 获取当前选择的id在数组中的索引
            const indexs = this.selectOrg.orgsid.indexOf(data.id);
            // 如果不存在数组中,并且数组中已经有一个id并且checked为true的时候,代表不能再次选择。
            if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
                this.$message({
                    message: "只能选择一个部门!",
                    type: "warning",
                    showClose: true,
                });
                // 设置已选择的节点为false 很重要
                this.$refs.tree.setChecked(data, false);
            } else if (this.selectOrg.orgsid.length === 0 && checked) {
                // 发现数组为空 并且是已选择
                // 防止数组有值,首先清空,再push
                this.selectOrg.orgsid = [];
                this.selectOrg.orgsid.push(data.id);
            } else if (
                indexs >= 0 &&
                this.selectOrg.orgsid.length === 1 &&
                !checked
            ) {
                // 再次直接进行赋值为空操作
                this.selectOrg.orgsid = [];
                this.car.belong = ''
                this.car.depart = ''
            }
        },
        // 获取部门树
        getDepartTree() {
            this.$axios.get('/sccg/depart/tree').then(res => {
                this.departList = res.data;
            })
        }
    // 获取部门树
    getDepartTree() {
      this.$axios.get("/sccg/depart/tree").then((res) => {
        this.departList = res.data;
      });
    },
    props: ['info','closeDialog']
}
  },
  props: ["info", "closeDialog"],
};
</script>
<style lang="scss" scoped>
.createUser {
    border-radius: 1px;
  border-radius: 1px;
  background-color: #09152f;
  main {
    // border: 1px solid #fff;
    text-align: left;
    padding: 0 55px;
    background-color: #09152f;
    padding-bottom: 50px;
    main {
        // border: 1px solid #fff;
        text-align: left;
        padding: 0 55px;
        background-color: #09152f;
        padding-bottom: 50px;
    .mainContent {
      display: flex;
      justify-content: center;
      padding-top: 50px;
        .mainContent {
            display: flex;
            justify-content: center;
            padding-top: 50px;
      .el-form-item__content {
        width: 400px;
            .el-form-item__content {
                width: 400px;
                .el-select {
                    width: 100%;
                }
            }
            .optionHandleSp {
                display: flex;
                .areaNumber,
                .moreNumber {
                    flex: 1;
                }
                .telNumber {
                    flex: 2;
                }
            }
            .optionBtn {
                display: flex;
                margin-top: 20px;
                .btn {
                    padding: 12px 50px;
                }
            }
        .el-select {
          width: 100%;
        }
    }
      }
    &::v-deep .el-textarea__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
    }
      .optionHandleSp {
        display: flex;
    ::v-deep .el-form-item__label {
        color: #4b9bb7;
    }
        .areaNumber,
        .moreNumber {
          flex: 1;
        }
    ::v-deep .el-input__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
        .telNumber {
          flex: 2;
        }
      }
      .optionBtn {
        display: flex;
        margin-top: 20px;
        .btn {
          padding: 12px 50px;
        }
      }
    }
  }
  &::v-deep .el-textarea__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
  }
  ::v-deep .el-form-item__label {
    color: #4b9bb7;
  }
  ::v-deep .el-input__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
  }
}
</style>
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>