feat(front):回收桶配置勾选门号,价格自动变更;

master
jiyufei 3 months ago
parent 75c4327733
commit 57d2c3f162

@ -2,10 +2,7 @@
<transition name="el-zoom-in-center">
<div class="JNPF-preview-main">
<div class="JNPF-common-page-header">
<el-page-header
@back="goBack"
:content="!dataForm.id ? '新建' : '编辑'"
/>
<el-page-header @back="goBack" :content="!dataForm.id ? '新建' : '编辑'" />
<div class="options">
<el-dropdown class="dropdown" placement="bottom">
<el-button style="width:70px">
@ -20,103 +17,51 @@
{{ "下一条" }}
</el-dropdown-item>
</template>
<el-dropdown-item
type="primary"
@click.native="dataFormSubmit(2)"
:loading="continueBtnLoading"
:disabled="btnLoading"
>
<el-dropdown-item type="primary" @click.native="dataFormSubmit(2)" :loading="continueBtnLoading"
:disabled="btnLoading">
{{
!dataForm.id ? "确定并新增" : "确定并继续"
}}</el-dropdown-item
>
}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button
type="primary"
@click="dataFormSubmit()"
:loading="btnLoading"
:disabled="continueBtnLoading"
>
</el-button
>
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading" :disabled="continueBtnLoading">
</el-button>
<el-button @click="goBack"> </el-button>
</div>
</div>
<el-row
:gutter="15"
class=" main"
:style="{ margin: '0 auto', width: '100%' }"
>
<el-form
ref="formRef"
:model="dataForm"
:rules="dataRule"
size="small"
label-width="120px"
label-position="right"
>
<el-row :gutter="15" class=" main" :style="{ margin: '0 auto', width: '100%' }">
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="120px"
label-position="right">
<template v-if="!loading">
<!-- 具体表单 -->
<el-col :span="8">
<jnpf-form-tip-item label="桶名称" prop="bucketName">
<JnpfInput
v-model="dataForm.bucketName"
@change="changeData('bucketName', -1)"
placeholder="请输入"
clearable
:style="{ width: '100%' }"
>
<JnpfInput v-model="dataForm.bucketName" @change="changeData('bucketName', -1)" placeholder="请输入"
clearable :style="{ width: '100%' }">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="显示名称" prop="showName">
<JnpfInput
v-model="dataForm.showName"
@change="changeData('showName', -1)"
placeholder="请输入"
clearable
:style="{ width: '100%' }"
>
<JnpfInput v-model="dataForm.showName" @change="changeData('showName', -1)" placeholder="请输入" clearable
:style="{ width: '100%' }">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="门号" prop="doorNum">
<JnpfSelect
v-model="dataForm.doorNum"
@change="changeData('doorNum', -1)"
placeholder="请选择"
clearable
:style="{ width: '100%' }"
:options="doorNumOptions"
:props="doorNumProps"
>
<JnpfSelect v-model="dataForm.doorNum" @change="changeData('doorNum', -1)" placeholder="请选择" clearable
:style="{ width: '100%' }" :options="doorNumOptions" :props="doorNumProps">
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="所属设备" prop="deviceCode">
<PopupSelectDeviceCode
v-model="dataForm.deviceCode"
@change="changeData('deviceCode', -1)"
:rowIndex="null"
:formData="dataForm"
:templateJson="interfaceRes.deviceCode"
placeholder="请选择"
propsValue="deviceCode"
popupWidth="800px"
popupTitle="选择数据"
popupType="dialog"
relationField="deviceName"
field="deviceCode"
interfaceId="564713894723988869"
:pageSize="20"
:columnOptions="deviceCodecolumnOptions"
clearable
:style="{ width: '100%' }"
>
<PopupSelectDeviceCode v-model="dataForm.deviceCode" @change="changeData('deviceCode', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.deviceCode" placeholder="请选择"
propsValue="deviceCode" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
relationField="deviceName" field="deviceCode" interfaceId="564713894723988869" :pageSize="20"
:columnOptions="deviceCodecolumnOptions" clearable :style="{ width: '100%' }">
</PopupSelectDeviceCode>
<!-- <JnpfPopupSelect
v-model="dataForm.deviceCode"
@ -142,291 +87,152 @@
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="是否显示" prop="isShow">
<JnpfRadio
v-model="dataForm.isShow"
@change="changeData('isShow', -1)"
optionType="default"
direction="horizontal"
size="small"
:options="isShowOptions"
:props="isShowProps"
>
<JnpfRadio v-model="dataForm.isShow" @change="changeData('isShow', -1)" optionType="default"
direction="horizontal" size="small" :options="isShowOptions" :props="isShowProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="显示顺序" prop="showOrd">
<JnpfInputNumber
v-model="dataForm.showOrd"
@change="changeData('showOrd', -1)"
placeholder="数字文本"
:step="1"
>
<JnpfInputNumber v-model="dataForm.showOrd" @change="changeData('showOrd', -1)" placeholder="数字文本"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="状态" prop="status">
<JnpfRadio
v-model="dataForm.status"
@change="changeData('status', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="statusOptions"
:props="statusProps"
>
<JnpfRadio v-model="dataForm.status" @change="changeData('status', -1)" optionType="button"
direction="horizontal" size="small" :options="statusOptions" :props="statusProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="回收大类" prop="productCode">
<JnpfRadio
v-model="dataForm.productCode"
@change="changeData('productCode', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="productCodeOptions"
:props="productCodeProps"
>
<JnpfRadio v-model="dataForm.productCode" @change="changeData('productCode', -1)" optionType="button"
direction="horizontal" size="small" :options="productCodeOptions" :props="productCodeProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="回收子类" prop="productSubCode">
<JnpfRadio
v-model="dataForm.productSubCode"
@change="changeData('productSubCode', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="productSubCodeOptions"
:props="productSubCodeProps"
>
<JnpfRadio v-model="dataForm.productSubCode" @change="changeData('productSubCode', -1)"
optionType="button" direction="horizontal" size="small" :options="productSubCodeOptions"
:props="productSubCodeProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="回收单价" prop="price">
<div>
<el-checkbox
v-model="useUnifiedConfig"
:label="checkboxLabel"
></el-checkbox>
<el-checkbox v-model="useUnifiedConfig" :label="checkboxLabel"></el-checkbox>
<span>{{ priceDesc }}</span>
</div>
<JnpfInputNumber
v-model="dataForm.price"
@change="changeData('price', -1)"
placeholder="数字文本"
:precision="2"
:step="1"
:disabled="useUnifiedConfig"
>
<JnpfInputNumber v-model="dataForm.price" @change="changeData('price', -1)" placeholder="数字文本"
:precision="2" :step="1" :disabled="useUnifiedConfig">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="满溢报警" prop="fullSet">
<div>
<el-checkbox
v-model="usefullSetConfig"
:label="checkboxLabel"
></el-checkbox>
<el-checkbox v-model="usefullSetConfig" :label="checkboxLabel"></el-checkbox>
<span>{{ fullSetDesc }}</span>
</div>
<JnpfRadio
v-model="dataForm.fullSet"
@change="changeData('fullSet', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="fullSetOptions"
:props="fullSetProps"
:disabled="usefullSetConfig"
>
<JnpfRadio v-model="dataForm.fullSet" @change="changeData('fullSet', -1)" optionType="button"
direction="horizontal" size="small" :options="fullSetOptions" :props="fullSetProps"
:disabled="usefullSetConfig">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="满溢状态" prop="fullStatus">
<JnpfRadio
v-model="dataForm.fullStatus"
@change="changeData('fullStatus', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="fullStatusOptions"
:props="fullStatusProps"
>
<JnpfRadio v-model="dataForm.fullStatus" @change="changeData('fullStatus', -1)" optionType="button"
direction="horizontal" size="small" :options="fullStatusOptions" :props="fullStatusProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="当前重量" prop="currentWeight">
<JnpfInput
v-model="dataForm.currentWeight"
@change="changeData('currentWeight', -1)"
placeholder="请输入"
addonAfter="KG"
clearable
:style="{ width: '100%' }"
>
<JnpfInput v-model="dataForm.currentWeight" @change="changeData('currentWeight', -1)" placeholder="请输入"
addonAfter="KG" clearable :style="{ width: '100%' }">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="烟雾报警" prop="smogSet">
<div>
<el-checkbox
v-model="useSmogSetConfig"
:label="checkboxLabel"
></el-checkbox>
<el-checkbox v-model="useSmogSetConfig" :label="checkboxLabel"></el-checkbox>
<span>{{ smogSetDesc }}</span>
</div>
<JnpfRadio
v-model="dataForm.smogSet"
@change="changeData('smogSet', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="smogSetOptions"
:props="smogSetProps"
:disabled="useSmogSetConfig"
>
<JnpfRadio v-model="dataForm.smogSet" @change="changeData('smogSet', -1)" optionType="button"
direction="horizontal" size="small" :options="smogSetOptions" :props="smogSetProps"
:disabled="useSmogSetConfig">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="烟雾状态" prop="smogStatus">
<JnpfRadio
v-model="dataForm.smogStatus"
@change="changeData('smogStatus', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="smogStatusOptions"
:props="smogStatusProps"
>
<JnpfRadio v-model="dataForm.smogStatus" @change="changeData('smogStatus', -1)" optionType="button"
direction="horizontal" size="small" :options="smogStatusOptions" :props="smogStatusProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="容器重量" prop="containerWeight">
<JnpfInput
v-model="dataForm.containerWeight"
@change="changeData('containerWeight', -1)"
placeholder="请输入"
addonAfter="KG"
clearable
:style="{ width: '100%' }"
>
<JnpfInput v-model="dataForm.containerWeight" @change="changeData('containerWeight', -1)"
placeholder="请输入" addonAfter="KG" clearable :style="{ width: '100%' }">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="重量上限" prop="warningWeight">
<div>
<el-checkbox
v-model="warningWeightConfig"
:label="checkboxLabel"
></el-checkbox>
<el-checkbox v-model="warningWeightConfig" :label="checkboxLabel"></el-checkbox>
<span>{{ warningWeightDesc }}</span>
</div>
<JnpfInput
v-model="dataForm.warningWeight"
@change="changeData('warningWeight', -1)"
placeholder="请输入"
addonAfter="KG"
clearable
:style="{ width: '100%' }"
:disabled="warningWeightConfig"
>
<JnpfInput v-model="dataForm.warningWeight" @change="changeData('warningWeight', -1)" placeholder="请输入"
addonAfter="KG" clearable :style="{ width: '100%' }" :disabled="warningWeightConfig">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="关门延时" prop="closeDelay">
<div>
<el-checkbox
v-model="closeDelayConfig"
:label="checkboxLabel"
></el-checkbox>
<el-checkbox v-model="closeDelayConfig" :label="checkboxLabel"></el-checkbox>
<span>{{ closeDelayDesc }}</span>
</div>
<JnpfInput
v-model="dataForm.closeDelay"
@change="changeData('closeDelay', -1)"
placeholder="请输入"
addonAfter="秒"
clearable
:style="{ width: '100%' }"
:disabled="closeDelayConfig"
>
<JnpfInput v-model="dataForm.closeDelay" @change="changeData('closeDelay', -1)" placeholder="请输入"
addonAfter="秒" clearable :style="{ width: '100%' }" :disabled="closeDelayConfig">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="垃圾袋编码" prop="bagNo">
<JnpfInput
v-model="dataForm.bagNo"
@change="changeData('bagNo', -1)"
placeholder="请输入"
clearable
:style="{ width: '100%' }"
>
<JnpfInput v-model="dataForm.bagNo" @change="changeData('bagNo', -1)" placeholder="请输入" clearable
:style="{ width: '100%' }">
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item
label="投递门"
tipLabel="投递门状态"
prop="deliveryDoorStatus"
>
<JnpfRadio
v-model="dataForm.deliveryDoorStatus"
@change="changeData('deliveryDoorStatus', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="deliveryDoorStatusOptions"
:props="deliveryDoorStatusProps"
>
<jnpf-form-tip-item label="投递门" tipLabel="投递门状态" prop="deliveryDoorStatus">
<JnpfRadio v-model="dataForm.deliveryDoorStatus" @change="changeData('deliveryDoorStatus', -1)"
optionType="button" direction="horizontal" size="small" :options="deliveryDoorStatusOptions"
:props="deliveryDoorStatusProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item
label="清运门"
tipLabel="清运门状态"
prop="cleanDoorStatus"
>
<JnpfRadio
v-model="dataForm.cleanDoorStatus"
@change="changeData('cleanDoorStatus', -1)"
optionType="button"
direction="horizontal"
size="small"
:options="cleanDoorStatusOptions"
:props="cleanDoorStatusProps"
>
<jnpf-form-tip-item label="清运门" tipLabel="清运门状态" prop="cleanDoorStatus">
<JnpfRadio v-model="dataForm.cleanDoorStatus" @change="changeData('cleanDoorStatus', -1)"
optionType="button" direction="horizontal" size="small" :options="cleanDoorStatusOptions"
:props="cleanDoorStatusProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="桶身图片" prop="bucketImg">
<JnpfUploadImg
v-model="dataForm.bucketImg"
disabled
detailed
:fileSize="10"
sizeUnit="MB"
:limit="1"
pathType="defaultPath"
:isAccount="0"
>
<JnpfUploadImg v-model="dataForm.bucketImg" disabled detailed :fileSize="10" sizeUnit="MB" :limit="1"
pathType="defaultPath" :isAccount="0">
</JnpfUploadImg>
</jnpf-form-tip-item>
<!-- <jnpf-form-tip-item label="桶身图片" prop="bucketImg">
@ -456,29 +262,16 @@
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="租户" prop="tenantId">
<JnpfOrganizeSelect
v-model="dataForm.tenantId"
@change="changeData('tenantId', -1)"
placeholder="请选择"
selectType="all"
:ableIds="ableAll.tenantIdableIds"
clearable
:style="{ width: '100%' }"
>
<JnpfOrganizeSelect v-model="dataForm.tenantId" @change="changeData('tenantId', -1)" placeholder="请选择"
selectType="all" :ableIds="ableAll.tenantIdableIds" clearable :style="{ width: '100%' }">
</JnpfOrganizeSelect>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog
v-if="selectDialogVisible"
:config="currTableConf"
:formData="dataForm"
ref="selectDialog"
@select="addForSelect"
@close="selectDialogVisible = false"
/>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
@select="addForSelect" @close="selectDialogVisible = false" />
</el-row>
</div>
</transition>
@ -500,6 +293,9 @@ import {
} from "@/components/Generator/utils/index.js";
import { thousandsFormat } from "@/components/Generator/utils/index";
let recycleDeviceConfigEntity = {
};
export default {
components: {},
props: [],
@ -821,7 +617,7 @@ export default {
this.initDefaultData();
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm));
},
mounted() {},
mounted() { },
methods: {
prev() {
this.index--;
@ -886,6 +682,9 @@ export default {
if (model == "productCode") {
this.fnProductCodeChg();
}
if (model == "doorNum") {
this.fnDoorNumChg();
}
},
fnProductCodeChg() {
console.log("productCode");
@ -903,6 +702,92 @@ export default {
}
}
},
fnDoorNumChg() {
if (this.dataForm.doorNum == 1) {
if (recycleDeviceConfigEntity.bucket1Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket1Price;
}
}
if (this.dataForm.doorNum == 2) {
if (recycleDeviceConfigEntity.bucket2Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket2Price;
}
}
if (this.dataForm.doorNum == 3) {
if (recycleDeviceConfigEntity.bucket3Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket3Price;
}
}
if (this.dataForm.doorNum == 4) {
if (recycleDeviceConfigEntity.bucket4Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket4Price;
}
}
if (this.dataForm.doorNum == 5) {
if (recycleDeviceConfigEntity.bucket5Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket5Price;
}
}
if (this.dataForm.doorNum == 6) {
if (recycleDeviceConfigEntity.bucket6Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket6Price;
}
}
if (this.dataForm.doorNum == 7) {
if (recycleDeviceConfigEntity.bucket7Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket7Price;
}
}
if (this.dataForm.doorNum == 8) {
if (recycleDeviceConfigEntity.bucket8Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket8Price;
}
}
if (this.dataForm.doorNum == 9) {
if (recycleDeviceConfigEntity.bucket9Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket9Price;
}
}
if (this.dataForm.doorNum == 10) {
if (recycleDeviceConfigEntity.bucket10Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket10Price;
}
}
if (this.dataForm.doorNum == 11) {
if (recycleDeviceConfigEntity.bucket11Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket11Price;
}
}
if (this.dataForm.doorNum == 12) {
if (recycleDeviceConfigEntity.bucket12Price == null) {
this.priceDesc = '暂无统一配置';
} else {
this.priceDesc = recycleDeviceConfigEntity.bucket12Price;
}
}
},
changeDataFormData(type, data, model, index, defaultValue) {
if (!this.isEdit) {
if (type == 2) {
@ -935,10 +820,10 @@ export default {
if (relationFieldAll.length > 1 && index > -1) {
val =
this.dataForm[relationFieldAll[0] + "List"] &&
this.dataForm[relationFieldAll[0] + "List"].length
this.dataForm[relationFieldAll[0] + "List"].length
? this.dataForm[relationFieldAll[0] + "List"][index][
relationFieldAll[1]
]
relationFieldAll[1]
]
: "";
} else {
val = this.dataForm[relationFieldAll];
@ -975,10 +860,10 @@ export default {
if (relationFieldAll.length > 1 && index > -1) {
val =
this.dataForm[relationFieldAll[0] + "List"] &&
this.dataForm[relationFieldAll[0] + "List"].length
this.dataForm[relationFieldAll[0] + "List"].length
? this.dataForm[relationFieldAll[0] + "List"][index][
relationFieldAll[1]
]
relationFieldAll[1]
]
: "";
} else {
val = this.dataForm[relationFieldAll];
@ -1074,29 +959,31 @@ export default {
//
initDefaultData() {
request({
url: `/api/scm/RecycleDeviceConfig`,
method: "GET"
}).then(res => {
this.priceDesc = res.data.deliveryPrice;
this.useUnifiedConfig = true;
if (res.data.fullSet == 0) {
this.fullSetDesc = "关闭";
} else {
this.fullSetDesc = "开启";
}
this.usefullSetConfig = true;
if (res.data.smogSet == 0) {
this.smogSetDesc = "关闭";
} else {
this.smogSetDesc = "开启";
}
this.useSmogSetConfig = true;
this.closeDelayDesc = res.data.closeDelay;
this.closeDelayConfig = true;
res.data.closeDelay = null;
this.warningWeightDesc = res.data.warningWeight;
this.warningWeightConfig = true;
});
url: `/api/scm/RecycleDeviceConfig`,
method: "GET"
}).then(res => {
//
recycleDeviceConfigEntity = res.data;
this.priceDesc = res.data.deliveryPrice;
this.useUnifiedConfig = true;
if (res.data.fullSet == 0) {
this.fullSetDesc = "关闭";
} else {
this.fullSetDesc = "开启";
}
this.usefullSetConfig = true;
if (res.data.smogSet == 0) {
this.smogSetDesc = "关闭";
} else {
this.smogSetDesc = "开启";
}
this.useSmogSetConfig = true;
this.closeDelayDesc = res.data.closeDelay;
this.closeDelayConfig = true;
res.data.closeDelay = null;
this.warningWeightDesc = res.data.warningWeight;
this.warningWeightConfig = true;
});
},
//
dataFormSubmit(type) {

Loading…
Cancel
Save