回收桶图片选择

master
mhsnet 3 months ago
parent 61b1027c33
commit 0aca0785b5

@ -2,7 +2,10 @@
<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">
@ -17,51 +20,103 @@
{{ "下一条" }}
</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"
@ -87,157 +142,283 @@
</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">
<!-- <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>
</jnpf-form-tip-item>
<!-- <jnpf-form-tip-item label="桶身图片" prop="bucketImg">
<JnpfUploadImg
v-model="productObj"
v-model="dataForm.bucketImg"
disabled
detailed
:fileSize="10"
@ -247,31 +428,77 @@
:isAccount="0"
>
</JnpfUploadImg>
</jnpf-form-tip-item> -->
<!-- <JnpfUploadImg
v-model="productObj"
disabled
detailed
:fileSize="10"
sizeUnit="MB"
:limit="1"
pathType="defaultPath"
:isAccount="0"
>
</JnpfUploadImg> -->
</jnpf-form-tip-item>
</el-col> -->
<el-col :span="24">
<div>
<div style="float: left;width:120px;text-align:right">
<span style="color: #606266;font-size:14px;margin-right:28px"
>桶身图片</span
>
</div>
<div style="float: left;width:calc(100% - 130px)">
<div class="bucket-img-select">
<div class="bucket-img-list" style="padding: 0px 0px;">
<div
class="bucket-img-item"
v-for="imgItem in imgList"
style="width: 120px;float:left;margin: 0px 10px 10px 0px;"
>
<div
@click="fnImgItemSltd(imgItem)"
style="width:100%;height:100px;cursor: pointer;"
>
<div style="float: left;">
<el-image
style="width: 80px; height: 100px"
:src="define.uploadDomain + imgItem[0]['url']"
fit="fill"
></el-image>
</div>
<div style="float: left; width:38px">
<div
v-if="
imgItem[0]['fileId'] ==
dataForm.bucketImg[0]['fileId']
"
style="margin-left:5px;width: 20px;height:20px;background-color:#a0d468;border-radius:5px;"
>
<i class="el-icon-check"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</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>
@ -293,14 +520,14 @@ import {
} from "@/components/Generator/utils/index.js";
import { thousandsFormat } from "@/components/Generator/utils/index";
let recycleDeviceConfigEntity = {
};
let recycleDeviceConfigEntity = {};
export default {
components: {},
props: [],
data() {
return {
imgList: [],
checkboxLabel: "采用统一配置:",
priceDesc: "",
fullSetDesc: "",
@ -522,10 +749,7 @@ export default {
{ label: "设备编码", value: "deviceCode" },
{ label: "设备名称", value: "deviceName" }
],
isShowOptions: [
{ fullName: "关闭", id: 0 },
{ fullName: "显示", id: 1 }
],
isShowOptions: [{ fullName: "关闭", id: 0 }, { fullName: "显示", id: 1 }],
isShowProps: { label: "fullName", value: "id" },
statusOptions: [
{ fullName: "停用", id: "0" },
@ -613,12 +837,44 @@ export default {
},
watch: {},
created() {
this.fnGetImgList();
this.dataAll();
this.initDefaultData();
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm));
},
mounted() { },
mounted() {},
methods: {
fnGetImgList() {
let _query = {
currentPage: 1,
dataType: 0,
keyword: "",
menuId: "585014585363274437",
moduleId: "585010334360672901",
pageSize: 10000,
sidx: "",
sort: "",
superQueryJson: "",
type: 1
};
request({
url: `/api/scm/BucketIcon/getList`,
method: "post",
data: _query
}).then(res => {
if ((res.code = 200)) {
let img_list = res.data.list;
img_list = img_list.map(x1 => {
let obj = x1.url;
return obj;
});
this.imgList = img_list;
}
});
},
fnImgItemSltd(item) {
this.dataForm.bucketImg = item;
},
prev() {
this.index--;
if (this.index === 0) {
@ -680,17 +936,13 @@ export default {
}
}
if (model == "productCode") {
this.fnProductCodeChg();
//this.fnProductCodeChg();
}
if (model == "doorNum") {
this.fnDoorNumChg();
}
},
fnProductCodeChg() {
console.log("productCode");
console.log(this.dataForm.productCode);
console.log(this.dataForm.bucketImg);
console.log(this.productCodeOptions);
if (this.dataForm.productCode) {
let productCodeOne = this.productCodeOptions.filter(o1 => {
return o1.id == this.dataForm.productCode;
@ -718,7 +970,7 @@ export default {
recycleDeviceConfigEntity.bucket12Price
];
const doorNum = Math.min(Math.max(this.dataForm.doorNum, 1), 12);
this.priceDesc = prices[doorNum - 1] || '暂无统一配置';
this.priceDesc = prices[doorNum - 1] || "暂无统一配置";
},
changeDataFormData(type, data, model, index, defaultValue) {
if (!this.isEdit) {
@ -752,10 +1004,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];
@ -776,7 +1028,7 @@ export default {
index,
"542988728520413647"
);
this.fnProductCodeChg();
//this.fnProductCodeChg();
});
},
getproductSubCodeOptions() {
@ -792,10 +1044,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];

Loading…
Cancel
Save