|
@@ -40,7 +40,16 @@
|
|
|
maxlength="200"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="车辆类型:" prop="vehicleType">
|
|
|
+ <el-form-item label="车辆模型:" prop="modelLabel">
|
|
|
+ <el-cascader
|
|
|
+ ref="cascader"
|
|
|
+ v-model="form.modelLabel"
|
|
|
+ :options="modelLabelList"
|
|
|
+ :props="props"
|
|
|
+ @change="modelLabelChange"
|
|
|
+ ></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="车辆类型:" prop="vehicleType">
|
|
|
<el-select v-model="form.vehicleType">
|
|
|
<el-option
|
|
|
v-for="item in vehicleTypeList"
|
|
@@ -49,8 +58,8 @@
|
|
|
:key="item.code"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="车辆型号:" prop="vehicleModel">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="车辆型号:" prop="vehicleModel">
|
|
|
<el-input
|
|
|
placeholder="请输入"
|
|
|
maxlength="60"
|
|
@@ -58,16 +67,16 @@
|
|
|
v-model="form.vehicleModel"
|
|
|
>
|
|
|
</el-input>
|
|
|
- <!-- <el-select v-model="form.vehicleModel" disabled>
|
|
|
+ <el-select v-model="form.vehicleModel" disabled>
|
|
|
<el-option
|
|
|
v-for="item in vehicleModelList"
|
|
|
:label="item.caption"
|
|
|
:value="item.code"
|
|
|
:key="item.code"
|
|
|
></el-option>
|
|
|
- </el-select> -->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="车辆颜色:" prop="vehicleColour">
|
|
|
+ </el-select>
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="车辆颜色:" prop="vehicleColour">
|
|
|
<el-input
|
|
|
placeholder="请输入"
|
|
|
maxlength="60"
|
|
@@ -75,15 +84,15 @@
|
|
|
v-model="form.vehicleColour"
|
|
|
>
|
|
|
</el-input>
|
|
|
- <!-- <el-select v-model="form.vehicleColour" disabled>
|
|
|
+ <el-select v-model="form.vehicleColour" disabled>
|
|
|
<el-option
|
|
|
v-for="item in vehicleColourList"
|
|
|
:label="item.caption"
|
|
|
:value="item.code"
|
|
|
:key="item.code"
|
|
|
></el-option>
|
|
|
- </el-select> -->
|
|
|
- </el-form-item>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item> -->
|
|
|
</div>
|
|
|
|
|
|
<div class="titlePanel">
|
|
@@ -286,7 +295,7 @@
|
|
|
<div class="titlePanelBor">3D视图</div>
|
|
|
</div>
|
|
|
<div class="modelBox">
|
|
|
- <img :src="imgSrc" width="100%" />
|
|
|
+ <img :src="modelImgSrc" width="100%" />
|
|
|
</div>
|
|
|
</el-form>
|
|
|
|
|
@@ -320,6 +329,7 @@
|
|
|
|
|
|
<script>
|
|
|
import modelList from "./components/modelList.vue";
|
|
|
+import { mapState } from "vuex";
|
|
|
|
|
|
export default {
|
|
|
name: "vehicleModel", // 车辆模型
|
|
@@ -329,14 +339,15 @@ export default {
|
|
|
getListApi: this.$api.modelLibrary.getVehicleList, // 获取列表api
|
|
|
showName: "vehicleName",
|
|
|
typeList: [],
|
|
|
- imgSrc: require("@/assets/common/image/car.png"),
|
|
|
+ // imgSrc: require("@/assets/common/image/car.png"),
|
|
|
form: {
|
|
|
vehicleCode: "", // 车辆ID
|
|
|
vehicleName: "", // 车辆名称
|
|
|
description: "", // 车辆描述
|
|
|
- vehicleType: "", // 车辆类型
|
|
|
- vehicleModel: "", // 车辆型号
|
|
|
- vehicleColour: "", // 车辆颜色
|
|
|
+ // vehicleType: "", // 车辆类型
|
|
|
+ // vehicleModel: "", // 车辆型号
|
|
|
+ // vehicleColour: "", // 车辆颜色
|
|
|
+ modelLabel: [], // 车辆模型
|
|
|
maxSpeed: "", // 最大速度
|
|
|
enginePower: "", // 发动机功率
|
|
|
maxDeceleration: "", // 最大减速度
|
|
@@ -355,6 +366,7 @@ export default {
|
|
|
wheelbase: "", // 轴距
|
|
|
mass: "", // 质量
|
|
|
share: "", // 分享
|
|
|
+ vehicleImage: "", // 对应的图片相对地址
|
|
|
},
|
|
|
vehicleTypeList: [],
|
|
|
vehicleModelList: [],
|
|
@@ -367,12 +379,12 @@ export default {
|
|
|
description: [
|
|
|
{ required: true, message: "请输入", trigger: "blur" },
|
|
|
],
|
|
|
- vehicleModel: [
|
|
|
- { required: true, message: "请输入", trigger: "blur" },
|
|
|
- ],
|
|
|
- vehicleColour: [
|
|
|
- { required: true, message: "请输入", trigger: "blur" },
|
|
|
- ],
|
|
|
+ // vehicleModel: [
|
|
|
+ // { required: true, message: "请输入", trigger: "blur" },
|
|
|
+ // ],
|
|
|
+ // vehicleColour: [
|
|
|
+ // { required: true, message: "请输入", trigger: "blur" },
|
|
|
+ // ],
|
|
|
maxSpeed: [
|
|
|
{ required: true, message: "请输入", trigger: "blur" },
|
|
|
],
|
|
@@ -419,17 +431,29 @@ export default {
|
|
|
{ required: true, message: "请输入", trigger: "blur" },
|
|
|
],
|
|
|
mass: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
|
- vehicleType: [
|
|
|
+ // vehicleType: [
|
|
|
+ // { required: true, message: "请选择", trigger: "change" },
|
|
|
+ // ],
|
|
|
+ wheelDrive: [
|
|
|
{ required: true, message: "请选择", trigger: "change" },
|
|
|
],
|
|
|
- wheelDrive: [
|
|
|
+ modelLabel: [
|
|
|
{ required: true, message: "请选择", trigger: "change" },
|
|
|
],
|
|
|
},
|
|
|
+ props: {
|
|
|
+ multiple: false,
|
|
|
+ label: "dictName",
|
|
|
+ value: "dictCode",
|
|
|
+ },
|
|
|
+ modelLabelList: [],
|
|
|
+ modelImgSrc: "",
|
|
|
};
|
|
|
},
|
|
|
|
|
|
- computed: {},
|
|
|
+ computed: {
|
|
|
+ ...mapState(["fileHost", "fileUrl"]),
|
|
|
+ },
|
|
|
|
|
|
methods: {
|
|
|
showInfo(id) {
|
|
@@ -443,12 +467,14 @@ export default {
|
|
|
if (res.code == 200 && res.info) {
|
|
|
this.$refs.form.clearValidate();
|
|
|
this.form = res.info;
|
|
|
+ this.modelImgSrc = this.getImgUrl(res.info.vehicleImage);
|
|
|
} else {
|
|
|
this.$message.error(res.message || "获取失败");
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
save(isAdd) {
|
|
|
+ // console.log(this.form);
|
|
|
this.$refs.form.validate((valid) => {
|
|
|
if (valid) {
|
|
|
// 判断是否新增
|
|
@@ -478,8 +504,10 @@ export default {
|
|
|
addOne() {
|
|
|
this.$refs.form.resetFields();
|
|
|
this.form.vehicleCode = "";
|
|
|
+ this.form.vehicleImage = "";
|
|
|
this.form.share = "";
|
|
|
this.form.id = "";
|
|
|
+ this.modelImgSrc = "";
|
|
|
},
|
|
|
delOne(id) {
|
|
|
this.$axios({
|
|
@@ -522,6 +550,40 @@ export default {
|
|
|
this.addOne();
|
|
|
}
|
|
|
},
|
|
|
+ getImgUrl(addr) {
|
|
|
+ let url = "";
|
|
|
+ if (process.env.VUE_APP_IS_DEV == "true") {
|
|
|
+ url = this.fileHost + this.fileUrl;
|
|
|
+ } else {
|
|
|
+ url = this.fileUrl;
|
|
|
+ }
|
|
|
+
|
|
|
+ let token = localStorage.getItem("Authorization").split(" ")[1];
|
|
|
+ let src = `${url}?objectName=${addr}&access_token=${token}`;
|
|
|
+ return src;
|
|
|
+ },
|
|
|
+ modelLabelChange() {
|
|
|
+ let remark =
|
|
|
+ this.$refs.cascader.getCheckedNodes(true)[0].data.remark;
|
|
|
+ this.form.vehicleImage = remark;
|
|
|
+
|
|
|
+ this.modelImgSrc = this.getImgUrl(remark);
|
|
|
+ },
|
|
|
+ async getModelLabelList() {
|
|
|
+ await this.$axios({
|
|
|
+ method: "post",
|
|
|
+ url: this.$api.common.getDictTreesByTypes,
|
|
|
+ data: {
|
|
|
+ dictTypes: "modelLabel",
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200 && res.info) {
|
|
|
+ this.modelLabelList = res.info.modelLabel;
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message || "获取车辆模型列表失败");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
|
|
|
async mounted() {
|
|
@@ -529,6 +591,8 @@ export default {
|
|
|
vehicleTypeList: "vehicleType",
|
|
|
wheelDriveList: "driveType",
|
|
|
});
|
|
|
+
|
|
|
+ this.getModelLabelList();
|
|
|
},
|
|
|
};
|
|
|
</script>
|