“dzb”
2022-10-21 c46189c4f6749602c71eb7cb5bab89823fe9b1e1
src/views/operate/car/myIndex/create/law/index.vue
@@ -10,21 +10,14 @@
                    </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.group" placeholder="请选择所属类型">
                            <el-option v-for="item in teamList" :key="item.value" :label="item.label"
                                :value="item.value">
                        <!-- <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="optionItems" label="所属大队:" prop="belong">
                        <el-input v-model="car.belong" placeholder="请填写所属大队"></el-input>
                        <!-- <el-select v-model="car.group" placeholder="请选择所属类型">
                            <el-option v-for="item in teamList" :key="item.value" :label="item.label"
                                :value="item.value">
                            </el-option>
                        </el-select> -->
                        </el-select>
                    </el-form-item>
                    <!-- 车主姓名 -->
                    <el-form-item class="optionItem" label="车主姓名:" prop="ownerName">
@@ -37,10 +30,6 @@
                    <!-- 联系方式 -->
                    <el-form-item class="optionItem" label="联系方式:" prop="contact">
                        <el-input v-model="car.contact" placeholder="请输入车主手机号码"></el-input>
                    </el-form-item>
                    <!-- 轨迹 -->
                    <el-form-item class="optionItem" label="轨迹:" prop="trajectory">
                        <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="请输入车辆轨迹"></el-input>
                    </el-form-item>
                    <el-form-item>
                        <div class="optionBtn">
@@ -58,14 +47,14 @@
    </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)){
                if (validateCarNum(value)) {
                    callback()
                }else{
                } else {
                    callback(new Error('请输入正确的车牌号'));
                }
            } else {
@@ -74,9 +63,9 @@
        }
        const checkName = (rule, value, callback) => {
            if (value) {
                if(validateName(value)){
                if (validateName(value)) {
                    callback()
                }else{
                } else {
                    callback(new Error('请正确输入车主姓名'));
                }
            } else {
@@ -85,9 +74,9 @@
        }
        const checkUser = (rule, value, callback) => {
            if (value) {
                if(validateName(value)){
                if (validateName(value)) {
                    callback()
                }else{
                } else {
                    callback(new Error('请正确输入车辆使用人员'));
                }
            } else {
@@ -96,9 +85,9 @@
        }
        const checkPhone = (rule, value, callback) => {
            if (value) {
                if(validatePhone(value)){
                if (validatePhone(value)) {
                    callback()
                }else{
                } else {
                    callback(new Error('请输入正确的手机号'));
                }
            } else {
@@ -114,28 +103,28 @@
                ownerName: "",
                trajectory: "",
                vehicleUser: "",
                depart:'',
                depart: '',
            },
            createCarRules: {
                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
                        required: true, trigger: 'blur', validator: checkUser
                    }
                ]
            },
@@ -148,10 +137,23 @@
                    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: {
        // 添加车辆
@@ -159,7 +161,7 @@
            console.log(this.car);
            this.$refs.user.validate((valid) => {
                if (valid) {
                    const {car}  = this;
                    const { car } = this;
                    this.$axios({
                        method: 'post',
                        url: 'sccg/car_Manage/addition_enforce',
@@ -171,32 +173,64 @@
                            ownerName: car.ownerName,
                            trajectory: car.trajectory,
                            vehicleUser: car.vehicleUser,
                            depart:car.depart,
                            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,
                            })
                        }
                    })
                        .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;
                }
            })
        },
        handleStop(){
            this.$emit('closeDialog',{flag:false,index:0});
        }
        handleStop() {
            this.$emit('closeDialog', { flag: false, index: 0 });
        },
        // 部门修改
        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 = ''
            }
        },
    },
    props: ['closeDialog']