Browse Source

开发上装配置管理前端页面

master
yunuo970428 3 years ago
parent
commit
24df764cde
  1. 393
      anrui-scm/anrui-scm-ui/src/views/shangzhuang/shangzhuangguanli/shangzhuangAdd.vue
  2. 175
      anrui-scm/anrui-scm-ui/src/views/shangzhuang/shangzhuangguanli/shangzhuangInfo.vue
  3. 475
      anrui-scm/anrui-scm-ui/src/views/shangzhuang/shangzhuangguanli/shangzhuangguanli.vue

393
anrui-scm/anrui-scm-ui/src/views/shangzhuang/shangzhuangguanli/shangzhuangAdd.vue

@ -1,40 +1,30 @@
<template>
<div class="headInfo">
<!--标题按钮部分开始-->
<div class="tab-headerg webtop">
<!--标题-->
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="dialogStatus === 'add' ? saveAdd() : saveEdit()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="dialogStatus === 'add' ? saveAdd() : saveEdit()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!--end 添加修改按钮-->
<!--end 详情按钮-->
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="300px" class="formadd">
<div class="wlInfo"><span>上装信息</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>上装配置信息</span></div>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">车辆功能</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="topName">
<el-select v-model="formobj.vehicleFunction" @change="changeVehicleFunction" style="width: 100%" filterable placeholder="请选择">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>车辆功能</span></div>
<el-form-item prop="vehicleFunction">
<el-select v-model="formobj.vehicleFunction" @change="changeVehicleFunction" filterable placeholder="请选择" class="addinputw addinputwOne">
<el-option v-for="item in vehicleFunction_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">上装名称</span></el-form-item>
</el-col>
<el-col :span="12" class="trightb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>上装名称</span></div>
<el-form-item prop="topName">
<el-select v-model="formobj.topName" @change="changeTopName" style="width: 30%" filterable placeholder="请选择">
<el-select v-model="formobj.topName" @change="changeTopName" class="addinputw addinputwOne" filterable placeholder="请选择">
<el-option v-for="item in topName_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
@ -42,92 +32,87 @@
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">委改方式</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>委改方式</span></div>
<el-form-item prop="refitMethod">
<el-input v-model="formobj.refitMethod" placeholder="委改方式" class="addinputw-copy" clearable/>
<el-input v-model="formobj.refitMethod" placeholder="委改方式" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">委改厂</span></el-form-item>
</el-col>
<el-col :span="12" class="trightb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>委改厂</span></div>
<el-form-item prop="refitFactory">
<el-input v-model="formobj.refitFactory" placeholder="委改厂" class="addinputw-copy" clearable/>
<el-input v-model="formobj.refitFactory" placeholder="委改厂" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">外廓尺寸</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>外廓尺寸</span></div>
<el-form-item prop="overallDimension">
<el-input v-model="formobj.overallDimension" placeholder="外廓尺寸" class="addinputw-copy" clearable/>
<div class="addinputw" style="display: inline-block;margin-left: 120px;">
<span></span><el-input size="mini" v-model="formobj.overallDimension" style="display: inline-block;width: 15%" placeholder="" class=""/>mm,
<span></span><el-input size="mini" v-model="formobj.overallDimension" style="display: inline-block;width: 15%" placeholder="" class=""/>mm,
<span></span><el-input size="mini" v-model="formobj.overallDimension" style="display: inline-block;width: 15%" placeholder="" class=""/>mm
</div>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">板材材质</span></el-form-item>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>颜色</span></div>
<el-form-item prop="color">
<el-input v-model="formobj.color" placeholder="颜色" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>板材材质</span></div>
<el-form-item prop="plateMaterial">
<el-input v-model="formobj.plateMaterial" placeholder="板材材质" class="addinputw-copy" clearable/>
<el-input v-model="formobj.plateMaterial" placeholder="板材材质" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">板材厚度</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="plateThickness">
<el-input v-model="formobj.plateThickness" placeholder="板材厚度" class="addinputw-copy" clearable/>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span><span class="icon">*</span>板材厚度</span></div>
<el-form-item prop="plateThickness plateMaterial">
<div class="addinputw" style="display: inline-block;margin-left: 120px;">
<span></span><el-input size="mini" v-model="formobj.plateThickness" style="display: inline-block;width: 15%" placeholder="" class=""/>mm,
<span></span><el-input size="mini" v-model="formobj.plateThickness" style="display: inline-block;width: 15%" placeholder="" class=""/>mm
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">公告型号</span></el-form-item>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>篷布滑道</span></div>
<el-form-item>
<el-input v-model="formobj.plateMaterial" placeholder="篷布滑道" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="20" class="trightb">
<el-form-item prop="announcementModel">
<el-input v-model="formobj.announcementModel" placeholder="公告型号" class="addinputw-copy" clearable/>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>冷藏冷机</span></div>
<el-form-item>
<el-input v-model="formobj.plateThickness" placeholder="冷藏冷机" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">厂家结算价</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="settlementPrice">
<el-input v-model="formobj.settlementPrice" @keyup.native="UpNumber" @keydown.native="UpNumber" placeholder="厂家结算价" class="addinputw-copy" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">销售指导价</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="guidePrice">
<el-input v-model="formobj.guidePrice" @keyup.native="UpNumber" @keydown.native="UpNumber" placeholder="销售指导价" class="addinputw-copy" clearable/>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>自卸液压盖板</span></div>
<el-form-item>
<el-input v-model="formobj.plateMaterial" placeholder="自卸液压盖板" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">价格有效期</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="priceValidity">
<el-date-picker value-format="yyyy-MM-dd" v-model="formobj.priceValidity" clearable style="width: 100%" type="date" placeholder="请选择"/>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>底板加热</span></div>
<el-form-item>
<el-input v-model="formobj.plateThickness" placeholder="底板加热" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item prop="remarks"><span slot="label">更多配置</span></el-form-item>
</el-col>
<el-col :span="20" class="trightb">
<el-form-item prop="otherConfig">
<el-input v-model="formobj.otherConfig" placeholder="更多配置" class="addinputw-copy" clearable/>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>更多配置</span></div>
<el-form-item>
<el-input v-model="formobj.otherConfig" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
@ -138,192 +123,188 @@
</template>
<script>
import req from "@/api/shangzhuang/shangzhuang";
import req from '@/api/shangzhuang/shangzhuang'
export default {
name: "ShangZhuangAdd",
name: 'ShangZhuangAdd',
data() {
return {
viewTitle: "",
dialogStatus: "add",
viewTitle: '',
dialogStatus: 'add',
topName_list: [],
vehicleFunction_list: [],
formobj: {
sid: "",
vehicleFunction: "",
vehicleFunctionKey: "",
topName: "",
topNameKey: "",
refitPrice: "",
announcementModel: "",
overallDimension: "",
plateMaterial: "",
plateThickness: "",
refitMethod: "",
refitFactory: "",
settlementPrice: "",
guidePrice: "",
priceValidity: "",
otherConfig: "",
sid: '',
vehicleFunction: '',
vehicleFunctionKey: '',
topName: '',
topNameKey: '',
refitPrice: '',
announcementModel: '',
overallDimension: '',
plateMaterial: '',
plateThickness: '',
refitMethod: '',
refitFactory: '',
settlementPrice: '',
guidePrice: '',
priceValidity: '',
otherConfig: ''
},
rules: {},
submitdisabled: false,
};
rules: {
vehicleFunction: [{ required: true, message: '请选择车辆功能', trigger: 'change' }],
topName: [{ required: true, message: '请选择上装名称', trigger: 'change' }],
refitMethod: [{ required: true, message: '请填写委改方式', trigger: 'blur' }],
refitFactory: [{ required: true, message: '请填写委改厂', trigger: 'blur' }],
overallDimension: [{ required: true, message: '请填写外廓尺寸', trigger: 'blur' }],
color: [{ required: true, message: '请填写颜色', trigger: 'blur' }],
plateMaterial: [{ required: true, message: '请填写板材材质', trigger: 'blur' }],
plateThickness: [{ required: true, message: '请填写板材厚度', trigger: 'blur' }]
},
submitdisabled: false
}
},
created() {
this.DataDictionary();
this.DataDictionary()
},
methods: {
DataDictionary() {
//
req.pullDown({ type: "topName" }).then((res) => {
if (res.code === "200") {
this.topName_list = res.data;
//
req.pullDown({ type: 'topName' }).then((res) => {
if (res.success) {
this.topName_list = res.data
}
});
//
req.pullDown({ type: "vehicleFunction" }).then((res) => {
if (res.code === "200") {
this.vehicleFunction_list = res.data;
})
//
req.pullDown({ type: 'vehicleFunction' }).then((res) => {
if (res.success) {
this.vehicleFunction_list = res.data
}
});
})
},
changeTopName(value) {
let bb = null;
let bb = null
this.topName_list.forEach((e) => {
if (e.dictKey == value) {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey,
};
value: e.dictKey
}
}
});
this.formobj.topName = bb.name;
this.formobj.topNameKey = bb.value;
})
this.formobj.topName = bb.name
this.formobj.topNameKey = bb.value
},
changeVehicleFunction(value) {
let bb = null;
let bb = null
this.vehicleFunction_list.forEach((e) => {
if (e.dictKey == value) {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey,
};
value: e.dictKey
}
}
});
this.formobj.vehicleFunction = bb.name;
this.formobj.vehicleFunctionKey = bb.value;
})
this.formobj.vehicleFunction = bb.name
this.formobj.vehicleFunctionKey = bb.value
},
UpNumber(e){
e.target.value=e.target.value.replace(/[^0-9.]/g,'')
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '')
},
handleReturn(isreload) {
if (isreload === "true") this.$emit("reloadlist");
this.formobj = {};
this.$refs["form_obj"].resetFields();
this.$emit("doback");
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
},
showAdd() {
this.$nextTick(() => {
this.$refs["form_obj"].clearValidate();
});
this.dialogStatus = "add";
this.viewTitle = "【新增】上装";
this.$refs['form_obj'].clearValidate()
})
this.dialogStatus = 'add'
this.viewTitle = '【新增】上装配置信息'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs["form_obj"].clearValidate();
});
this.dialogStatus = "edit";
this.viewTitle = "【编辑】上装";
const _this = this;
this.$refs['form_obj'].clearValidate()
})
this.dialogStatus = 'edit'
this.viewTitle = '【编辑】上装配置信息'
req.fetchBySid(row.sid).then((resp) => {
const vdata = resp.data;
this.formobj = vdata;
}).catch((e) => {
this.formobj = row;
});
const vdata = resp.data
this.formobj = vdata
}).catch((e) => {
this.formobj = row
})
},
saveAdd() {
const _this = this;
this.$refs["form_obj"].validate((valid) => {
const _this = this
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true;
this.submitdisabled = true
req.saveAdd(this.formobj).then((resp) => {
this.submitdisabled = false;
_this.$message({
showClose: true,
type: "success",
message: resp.msg,
});
_this.handleReturn("true");
}).catch(() => {
this.submitdisabled = false;
});
this.submitdisabled = false
_this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
_this.handleReturn('true')
}).catch(() => {
this.submitdisabled = false
})
} else {
return false;
return false
}
});
})
},
saveEdit() {
const _this = this;
this.$refs["form_obj"].validate((valid) => {
const _this = this
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true;
this.submitdisabled = true
req.saveEdit(this.formobj, this.formobj.sid).then((resp) => {
this.submitdisabled = false;
_this.$message({
showClose: true,
type: "success",
message: resp.msg,
});
_this.handleReturn("true");
}).catch(() => {
this.submitdisabled = false;
});
this.submitdisabled = false
_this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
_this.handleReturn('true')
}).catch(() => {
this.submitdisabled = false
})
} else {
return false;
return false
}
});
},
},
};
</script>
<style lang="scss" scoped>
.headInfo {
margin-left: -14px;
margin-right: -14px;
})
}
}
}
</script>
<style scoped>
.wlInfo {
width: 100%;
height: 100%;
padding: 60px 0;
padding-bottom: 40px;
font-size: 24px;
border-width: 0 0 1px 0;
border-style: solid;
border-color: #edf1f7;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.formadd {
padding: 0px;
.spanOneWidth {
width: 110px !important;
}
.tleftb {
text-align: right;
.addinputwOne {
margin-left: 120px !important;
width: 30% !important;
}
.tab-headerg {
height: 35px;
background-color: #edf1f7;
padding: 20px 20px;
.icon {
color: #e84026;
margin-right: 4px;
}
addinputw-copy {
width: 100%;
/deep/ .el-form-item__error {
margin-left: 120px;
}
</style>

175
anrui-scm/anrui-scm-ui/src/views/shangzhuang/shangzhuangguanli/shangzhuangInfo.vue

@ -1,65 +1,105 @@
<template>
<div class="headInfo">
<!--标题按钮部分开始-->
<div class="tab-headerg webtop">
<!--标题-->
<div>上装信息</div>
<!--start 详情按钮-->
<div><el-button itype="info" size="small" @click="handleReturn()">返回</el-button></div>
<!--end 详情按钮-->
<div class="app-container">
<div class="tab-header webtop">
<div>上装配置信息</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<div class="listconadd">
<el-form ref="dataForm" label-position="right" label-width="190px" class="forminfo">
<div class="wlInfo"><span>上装信息</span></div>
<el-row>
<el-col :span="4" class="trightb">车辆功能</el-col>
<el-col :span="4" class="tleftb">{{ formobj.vehicleFunction }}</el-col>
<el-col :span="4" class="trightb">上装名称</el-col>
<el-col :span="12" class="tleftb">{{ formobj.topName }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">委改方式</el-col>
<el-col :span="4" class="tleftb">{{ formobj.refitMethod }}</el-col>
<el-col :span="4" class="trightb">委改厂</el-col>
<el-col :span="12" class="tleftb">{{ formobj.refitFactory }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">外廓尺寸</el-col>
<el-col :span="4" class="tleftb">{{ formobj.overallDimension }}</el-col>
<el-col :span="4" class="trightb">板材材质</el-col>
<el-col :span="4" class="tleftb">{{ formobj.plateMaterial }}</el-col>
<el-col :span="4" class="trightb">板材厚度</el-col>
<el-col :span="4" class="tleftb">{{ formobj.plateThickness }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">公告型号</el-col>
<el-col :span="20" class="tleftb">{{ formobj.announcementModel }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">厂家结算价</el-col>
<el-col :span="4" class="tleftb">{{ formobj.settlementPrice }}</el-col>
<el-col :span="4" class="trightb">销售指导价</el-col>
<el-col :span="4" class="tleftb">{{ formobj.guidePrice }}</el-col>
<el-col :span="4" class="trightb">价格有效期</el-col>
<el-col :span="4" class="tleftb">{{ formobj.priceValidity }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">更多配置</el-col>
<el-col :span="20" class="tleftb">{{ formobj.otherConfig }}</el-col>
</el-row>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>上装配置信息</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车辆功能</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vehicleFunction }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>上装名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.topName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>委改方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitMethod }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>委改厂</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitFactory }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>外廓尺寸</span></div>
<el-form-item>
<div class="addinputInfo" style="display: inline-block;margin-left: 120px;">
<span></span>{{ formobj.ceshi }}mm,
<span></span>{{ formobj.ceshi }}mm,
<span></span>{{ formobj.ceshi }}mm
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>颜色</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitFactory }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材材质</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateMaterial }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材厚度</span></div>
<el-form-item>
<div class="addinputInfo" style="display: inline-block;margin-left: 120px;">
<span></span>{{ formobj.ceshi }}mm,
<span></span>{{ formobj.ceshi }}mm
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>篷布滑道</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateMaterial }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>冷藏冷机</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateThickness }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>自卸液压盖板</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateMaterial }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>底板加热</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateThickness }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>更多配置</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.otherConfig }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from "@/api/shangzhuang/shangzhuang";
import req from '@/api/shangzhuang/shangzhuang'
export default {
name: 'ShangZhuangInfo',
data() {
return {
formobj: {}
formobj: {},
ceshi: '1'
}
},
methods: {
@ -70,43 +110,30 @@ export default {
showInfo(row) {
// this.formobj = row
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data;
this.formobj = resp.data
}).catch((e) => {
this.formobj = row;
});
console.log('这里是详情回显',row)
this.formobj = row
})
console.log('这里是详情回显', row)
}
}
}
</script>
<style lang="scss" scoped>
.headInfo{
margin-left: -14px;
margin-right: -14px;
}
.wlInfo{
width: 100%;
height: 100%;
padding: 60px 0;
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-width: 0 0 1px 0;
border-style: solid;
border-color: #EDF1F7;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.formadd{
padding: 0px;
}
.tleftb{
text-align: left;
.spanOneWidth {
width: 110px !important;
}
.tab-headerg{
height: 35px;
background-color: #EDF1F7;
padding: 20px 20px;
.addinputwOne {
margin-left: 120px !important;
}
</style>

475
anrui-scm/anrui-scm-ui/src/views/shangzhuang/shangzhuangguanli/shangzhuangguanli.vue

@ -1,14 +1,11 @@
<template>
<div class="app-container-Update">
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="上装管理" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<el-tabs v-model="activeName" @tab-click="handleClick" type="card">
<el-tab-pane label="上装列表" name="first"></el-tab-pane>
<el-tab-pane label="待报价列表" name="second"></el-tab-pane>
</el-tabs>
<button-bar view-title="上装配置管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? "隐藏查询条件" : "显示查询条件" }}</el-button>
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">
{{ isSearchShow ? "隐藏查询条件" : "显示查询条件" }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-row>
@ -30,16 +27,18 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="外廓尺寸">
<el-input v-model="queryParams.params.overallDimension" placeholder="请输入外廓尺寸" clearable/>
<el-form-item label="颜色">
<el-input v-model="queryParams.params.overallDimension" placeholder="请输入颜色" clearable/>
</el-form-item>
<el-form-item label="板材材质">
<el-input v-model="queryParams.params.overallDimension" placeholder="请输入板材材质" clearable/>
</el-form-item>
</el-row>
<el-divider />
<div class="btn" style="text-align: center">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</el-form>
<div class="btn" style="text-align: center">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!--Start 项目列表头部-->
@ -51,29 +50,30 @@
<!--Start 项目列表-->
<div class="listcon">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="toInfo(scope.row)">查看</span>
<el-button type="primary" size="small" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="vehicleFunction" label="车辆功能" align="center"/>
<el-table-column prop="topName" label="上装名称" align="center"/>
<el-table-column prop="refitMethod" label="委改方式" align="center"/>
<el-table-column prop="refitFactory" label="委改厂" align="center"/>
<el-table-column prop="announcementModel" label="公告型号" align="center"/>
<el-table-column prop="overallDimension" label="外廓尺寸" align="center"/>
<el-table-column prop="announcementModel" label="颜色" align="center"/>
<el-table-column prop="plateMaterial" label="板材材质" align="center"/>
<el-table-column prop="plateThickness" label="板材厚度" align="center"/>
<el-table-column prop="settlementPrice" label="厂家结算价" align="center"/>
<el-table-column prop="guidePrice" label="参考价格(万元)" align="center"/>
<el-table-column prop="priceValidity" label="价格有效期" align="center"/>
<el-table-column prop="settlementPrice" label="篷布滑道" align="center"/>
<el-table-column prop="guidePrice" label="冷藏冷机" align="center"/>
<el-table-column prop="priceValidity" label="自卸液压盖板" align="center"/>
<el-table-column prop="priceValidity" label="底板加热" align="center"/>
</el-table>
</div>
<!--End 项目列表-->
<div class="pages">
<div class="tit" />
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
</div>
@ -83,37 +83,62 @@
<shangzhuangAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="loadList"/>
<!--详情部分组件-->
<shangzhuangInfo v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
<shangzhuangdaibaojia v-show="viewState == 5" ref="divdaibaojia" @doback="resetState"></shangzhuangdaibaojia>
</div>
</template>
<script>
import req from "@/api/shangzhuang/shangzhuang";
import ButtonBar from "@/components/ButtonBar";
import Pagination from "@/components/pagination";
import pageye from "@/components/pagination/pageye";
import shangzhuangAdd from "./shangzhuangAdd";
import shangzhuangInfo from "./shangzhuangInfo";
import shangzhuangdaibaojia from "./shangzhuangdaibaojia/shangzhuangdaibaojiaguanli";
import req from '@/api/shangzhuang/shangzhuang'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import shangzhuangAdd from './shangzhuangAdd'
import shangzhuangInfo from './shangzhuangInfo'
export default {
name: "ShangZhuangGuanLi",
name: 'ShangZhuangGuanLi',
components: {
ButtonBar,
Pagination,
pageye,
shangzhuangAdd,
shangzhuangInfo,
shangzhuangdaibaojia,
shangzhuangInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'edit',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
activeName: "first",
dataList: [],
topName_list: [],
vehicleFunction_list: [],
@ -122,217 +147,156 @@ export default {
size: 10,
total: 10,
params: {
vehicleFunction: "",
vehicleFunctionKey: "",
refitMethod: "",
refitFactory: "",
topName: "",
topNameKey: "",
overallDimension: "",
},
vehicleFunction: '',
vehicleFunctionKey: '',
refitMethod: '',
refitFactory: '',
topName: '',
topNameKey: '',
overallDimension: ''
}
},
multipleSelection: [],
};
multipleSelection: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList();
this.DataDictionary();
this.loadList()
this.DataDictionary()
},
methods: {
DataDictionary() {
//
req.pullDown({ type: "topName" }).then((res) => {
if (res.code === "200") {
this.topName_list = res.data;
//
req.pullDown({ type: 'topName' }).then((res) => {
if (res.success) {
this.topName_list = res.data
}
});
//
req.pullDown({ type: "vehicleFunction" }).then((res) => {
if (res.code === "200") {
this.vehicleFunction_list = res.data;
})
//
req.pullDown({ type: 'vehicleFunction' }).then((res) => {
if (res.success) {
this.vehicleFunction_list = res.data
}
});
})
},
changeTopName(value) {
let bb = null;
let bb = null
this.topName_list.forEach((e) => {
if (e.dictKey == value) {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey,
};
value: e.dictKey
}
}
});
this.queryParams.params.topName = bb.name;
this.queryParams.params.topNameKey = bb.value;
})
this.queryParams.params.topName = bb.name
this.queryParams.params.topNameKey = bb.value
},
changeVehicleFunction(value) {
let bb = null;
let bb = null
this.vehicleFunction_list.forEach((e) => {
if (e.dictKey == value) {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey,
};
value: e.dictKey
}
}
});
this.queryParams.params.vehicleFunction = bb.name;
this.queryParams.params.vehicleFunctionKey = bb.value;
})
this.queryParams.params.vehicleFunction = bb.name
this.queryParams.params.vehicleFunctionKey = bb.value
},
resetState() {
this.viewState = 1;
this.activeName = "first";
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
vehicleFunction: "",
vehicleFunctionKey: "",
refitMethod: "",
refitFactory: "",
topName: "",
topNameKey: "",
overallDimension: "",
},
};
this.loadList();
this.viewState = 1
},
btnHandle(btnKey) {
console.log("XXXXXXXXXXXXXXX " + btnKey);
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case "toAdd":
this.toAdd();
break;
case "toEdit":
this.toEdit();
break;
case "doSubmit":
this.doSubmit();
break;
case "doDel":
this.doDel();
break;
case "doImport":
this.doImport();
break;
case "doExport":
this.doExport();
break;
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break;
}
},
handleClick(tab, event) {
if (tab.name == "second") {
this.viewState = 5;
this.$refs["divdaibaojia"].loadList();
break
}
},
toAdd(row) {
this.viewState = 2;
this.$refs["divAdd"].showAdd();
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
toEdit() {
if (this.multipleSelection.length === 0) {
this.$message({
showClose: true,
type: "error",
message: "请选择一条记录进行编辑",
});
return;
type: 'error',
message: '请选择一条记录进行编辑'
})
return
}
if (this.multipleSelection.length > 1) {
this.$message({
showClose: true,
type: "error",
message: "只能选择一条记录进行编辑",
});
return;
type: 'error',
message: '只能选择一条记录进行编辑'
})
return
}
this.viewState = 3;
const row = this.multipleSelection[0];
this.$refs["divAdd"].showEdit(row);
},
doSubmit(row) {
//
this.btndisabled = true;
req.doSubmit(this.queryParams.params).then((resp) => {
this.btndisabled = false;
}).catch(() => {
this.btndisabled = false;
});
this.viewState = 3
const row = this.multipleSelection[0]
this.$refs['divAdd'].showEdit(row)
},
doDel(row) {
if (this.multipleSelection.length === 0) {
this.$message({
showClose: true,
type: "error",
message: "请选择至少一条记录进行删除操作",
});
return;
type: 'error',
message: '请选择至少一条记录进行删除操作'
})
return
}
const _this = this;
const sids = [];
const _this = this
const sids = []
this.multipleSelection.forEach((row) => {
sids.push(row.sid);
});
const tip ="请确认是否删除所选 " + this.multipleSelection.length + " 条记录?";
this.$confirm(tip, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
sids.push(row.sid)
})
const tip = '请确认是否删除所选 ' + this.multipleSelection.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: "Loading",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
req.delBySids(sids).then((resp) => {
loading.close();
_this.$message({
type: "success",
message: resp.msg,
showClose: true,
});
_this.loadList();
}).catch((e) => {
loading.close();
});
}).catch(() => {});
},
doImport(row) {
//
req.importExcel(this.queryParams.params).then((resp) => {
console.log(resp);
}).catch(() => {});
},
doExport(row) {
//
const sids = [];
this.multipleSelection.forEach((row) => {
sids.push(row.sid);
});
this.queryParams.params.sids = sids;
req.exportExcel(this.queryParams.params).then((resp) => {
var map = resp.data;
const fileName = map.filename; //
// // <a> Firefox Chrome download
// // IE10blobdownload
const link = document.createElement("a"); // a
link.download = fileName; // a
link.style.display = "none";
link.href = map.downurl;
document.body.appendChild(link);
link.click(); //
URL.revokeObjectURL(link.href); // url
document.body.removeChild(link); //
}).catch(() => {});
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(sids).then((resp) => {
loading.close()
_this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
_this.loadList()
}).catch((e) => {
loading.close()
})
}).catch(() => {
})
},
dosearch() {
this.queryParams.current = 1;
this.loadList();
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
@ -340,73 +304,80 @@ export default {
size: 10,
total: 0,
params: {
vehicleFunction: "",
vehicleFunctionKey: "",
refitMethod: "",
refitFactory: "",
topName: "",
topNameKey: "",
overallDimension: "",
},
};
this.loadList();
vehicleFunction: '',
vehicleFunctionKey: '',
refitMethod: '',
refitFactory: '',
topName: '',
topNameKey: '',
overallDimension: ''
}
}
this.loadList()
},
loadList() {
const _this = this;
this.tableLoading = true;
const _this = this
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
_this.tableLoading = false;
const data = resp.data;
_this.queryParams.total = data.total;
_this.dataList = data.records;
}).catch(() => {
_this.tableLoading = false;
});
_this.tableLoading = false
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
}).catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(val) {
console.log(val);
this.multipleSelection = val;
console.log(val)
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size;
var pageindex = index + 1 + pagestart;
return pageindex;
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs["divinfo"].showInfo(row);
this.viewState = 4;
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
},
},
};
</script>
<style lang="scss" scoped>
.app-container-Update {
margin: 5px -9px;
background-color: #fff;
.searchcon {
margin: 0px 9px;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.listcon {
margin: 0px 9px;
}
.listtop {
margin: 0px 9px;
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

Loading…
Cancel
Save