From a02a7acbcebc5ed668114087ea4256a44361a0c0 Mon Sep 17 00:00:00 2001 From: web <candymxq888@outlook.com> Date: 星期四, 03 七月 2025 16:31:57 +0800 Subject: [PATCH] fix:修改准东取水后台配置,界面 --- .env.staging | 2 src/api/facility/index.js | 8 .env.development | 9 src/views/customer/archives/index.vue | 108 +++++++++ src/views/customer/payRecord/index.vue | 99 ++++++++ src/views/customer/userCapitalChange/index.vue | 90 +++++++ src/views/facility/facilityList/index.vue | 177 +------------- .env.production | 11 src/api/user/userArchive.js | 37 +++ src/api/financial/record.js | 37 +++ src/router/index.js | 3 src/views/customer/rechargeRecord/index.vue | 98 ++++++++ 12 files changed, 496 insertions(+), 183 deletions(-) diff --git a/.env.development b/.env.development index 7d71278..be484de 100644 --- a/.env.development +++ b/.env.development @@ -1,12 +1,11 @@ - -# 页面标题 -VITE_APP_TITLE = 后台管理系统 + # 页面标题 +VITE_APP_TITLE = 取水管理系统 # 开发环境配置 VITE_APP_ENV = 'development' # 图片地址 -VITE_APP_IMG_BASEURL='http://113.250.189.120:8036/upload' +VITE_APP_IMG_BASEURL='http://192.168.0.67:8041/upload' #后端本地 - VITE_APP_PUBLIC_REQUEST_API = 'http://113.250.189.120:8036' + VITE_APP_PUBLIC_REQUEST_API = 'http://192.168.0.67:8041' diff --git a/.env.production b/.env.production index 7b4a06e..bdea75d 100644 --- a/.env.production +++ b/.env.production @@ -1,14 +1,5 @@ -### - # @Author: web candymxq888@outlook.com - # @Date: 2025-03-18 11:34:56 - # @LastEditors: web candymxq888@outlook.com - # @LastEditTime: 2025-06-19 14:53:44 - # @FilePath: \temp\.env.production - # @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE -### - # 页面标题 - VITE_APP_TITLE = 后台管理系统 + VITE_APP_TITLE = 取水管理系统 # 开发环境配置 VITE_APP_ENV = 'production' diff --git a/.env.staging b/.env.staging index 1c844d2..b2d3212 100644 --- a/.env.staging +++ b/.env.staging @@ -1,6 +1,6 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 取水管理系统 # 开发环境配置 VITE_APP_ENV = 'staging' diff --git a/src/api/facility/index.js b/src/api/facility/index.js index dc31fae..f98ed55 100644 --- a/src/api/facility/index.js +++ b/src/api/facility/index.js @@ -1,11 +1,3 @@ -/* - * @Author: elkers - * @Date: 2024-08-09 14:29:49 - * @LastEditors: hqs elkers@163.com - * @LastEditTime: 2024-08-14 09:04:16 - * @FilePath: \water-qinghe-web\src\api\facility\index.js - * @Description: 设备api - */ import { publicRequest } from '@/utils/request' export default function facilityApi() { return { diff --git a/src/api/financial/record.js b/src/api/financial/record.js new file mode 100644 index 0000000..e49bc68 --- /dev/null +++ b/src/api/financial/record.js @@ -0,0 +1,37 @@ +/* + * @Author: Liuyi candymxq888@outlook.com + * @Date: 2024-10-16 11:13:48 + * @LastEditors: Liuyi candymxq888@outlook.com + * @LastEditTime: 2024-10-17 09:38:23 + * @FilePath: \water-drinking-web\src\api\financial\payRecord.js + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import { publicRequest } from '@/utils/request' +export default function record(){ + return { + //充值记录 + rechargeSearch: (data) => { + return publicRequest({ + url: '/rechargeRecords/search', + method: 'post', + data, + }); + }, + //缴费记录 + paySearch: (data) => { + return publicRequest({ + url: '/paymentRecords/search', + method: 'post', + data, + }); + }, + //资金明细记录 + capitalSearch: (data) => { + return publicRequest({ + url: '/userCapitalChange/search', + method: 'post', + data, + }); + }, + }; +} \ No newline at end of file diff --git a/src/api/user/userArchive.js b/src/api/user/userArchive.js new file mode 100644 index 0000000..64d12a1 --- /dev/null +++ b/src/api/user/userArchive.js @@ -0,0 +1,37 @@ +/* + * @Author: Liuyi candymxq888@outlook.com + * @Date: 2024-10-17 15:32:00 + * @LastEditors: web candymxq888@outlook.com + * @LastEditTime: 2025-07-03 15:24:51 + * @FilePath: \water-drinking-web\src\api\user\userArchive.js + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%A + */ +import { publicRequest } from '@/utils/request' +export default function userArchive(){ + return { + //查询用户档案 + search: (data) => { + return publicRequest({ + url: '/user/search', + method: 'post', + data, + }); + }, + //查询用户水卡信息 + cardSearch: (data) => { + return publicRequest({ + url: '/userCard/search', + method: 'post', + data, + }); + }, + //查询用户水卡信息 + userAddressSearch: (data) => { + return publicRequest({ + url: '/userAddress/search', + method: 'post', + data, + }); + }, + }; +} \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 3f627c9..3999c72 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -2,7 +2,7 @@ * @Author: Liuyi candymxq888@outlook.com * @Date: 2024-08-06 14:47:41 * @LastEditors: web candymxq888@outlook.com - * @LastEditTime: 2025-07-02 16:23:08 + * @LastEditTime: 2025-07-03 16:28:10 * @FilePath: \water-qinghe-web\src\router\index.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -33,7 +33,6 @@ { path: '/', hidden: true, - redirect: '/userCenter', }, { path: '/login', diff --git a/src/views/customer/archives/index.vue b/src/views/customer/archives/index.vue new file mode 100644 index 0000000..216b0a0 --- /dev/null +++ b/src/views/customer/archives/index.vue @@ -0,0 +1,108 @@ + <script setup> + import userArchive from "@/api/user/userArchive.js"; + import setPostParams from "../../../utils/searchParams.js"; + const { proxy } = getCurrentInstance(); + +/** + * 搜索相关 + */ + /** 搜索按钮操作 */ + function handleQuery() { + getList({keywords:searchParams.value.keywords}) + } + + /** 重置按钮操作 */ + function resetQuery() { + proxy.resetForm("queryRef"); + handleQuery(); + } + + /** + * Table表格权限数据列表相关 + */ +const pageParam = ref({ + total:0, + limit:0, + page:1, +}) +const tableData = ref([]); +let tableHeader = ref({ + userCode: '用户编号', + nickName: '用户名称', + phone: '电话', + headImg: '头像', + comment: '备注', + createTimeView: '创建时间', +}) + /** 获取列表 */ + const loading = ref(false) + async function getList(val) { + loading.value = true; + + let postParam = setPostParams(val) + await userArchive().search(postParam).then((res) =>{ + res.data.list.forEach((item) =>{ + item.userTypeLabel = item.userType == 1 ? '会员' : (item.userType == 0 ? '游客' : '') + }) + tableData.value = res.data.list + pageParam.value.total = res.data.total + pageParam.value.limit = res.data.limit + pageParam.value.page = res.data.page + }) + loading.value = false; + } + +const searchParams = ref({ + keywords: '', +}); + getList(); + </script> + <template> + <div class="app-container"> + <el-form :model="searchParams" ref="queryRef" :inline="true"> + <el-form-item label="" prop=""> + <el-input + v-model="searchParams.keywords" + placeholder="请输入搜索信息" + clearable + style="width: 200px" + @keyup.enter="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> + <el-button icon="Refresh" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <!--表格及分页--> + <el-table v-loading="loading" :data="tableData"> + <el-table-column + v-for="(item, key, index) of tableHeader" + :prop="key.toString()" + :label="item" + :key="index" + align="center" + > + + <template #default="scope"> + <div v-if="key.toString() == 'headImg'" style="width: 50px;height: 50px;margin: 0 auto"> + <img :src="scope.row.headImg" class="table-headImg"/> + </div> + </template> + </el-table-column> + </el-table> + <pagination + :total="pageParam.total" + v-model:page="pageParam.page" + v-model:limit="pageParam.limit" + :page-sizes="[10,20,30]" + @pagination="getList" + /> + </div> + </template> + + <style lang="scss" scoped> + +</style> + \ No newline at end of file diff --git a/src/views/customer/payRecord/index.vue b/src/views/customer/payRecord/index.vue new file mode 100644 index 0000000..ae69982 --- /dev/null +++ b/src/views/customer/payRecord/index.vue @@ -0,0 +1,99 @@ +<script setup > +import record from "@/api/financial/record.js"; +import setPostParams from "../../../utils/searchParams.js"; +const { proxy } = getCurrentInstance(); + +/** +* 搜索相关 +*/ +const queryParams =ref({ + name: undefined, +},) +/** 搜索按钮操作 */ +function handleQuery() { + getList({keywords:queryParams.value.name}) +} + +/** 重置按钮操作 */ +function resetQuery() { + proxy.resetForm("queryRef"); + handleQuery(); +} + +/** + * Table表格权限数据列表相关 + */ +const pageParam = ref({ + total:0, + limit:0, + page:0, +}) +const tableData = ref([]); +let tableHeader = ref({ + userName: '用户名称', + paymentAmount:'消费金额', + payStatusLabel: '缴费状态',//payStatus + waterAmount: '本次出水量', + waterSeconds: '本次出水秒数', + balance: '剩余水量', + payTime: '支付时间', + facilityCode: '设备编号', + comment: '备注', + }) + +/** 获取列表 */ + +const loading = ref(false); +async function getList(val) { + loading.value = true; + +let postParam = setPostParams(val) + await record().paySearch(postParam).then((res) =>{ + res.data.list.forEach(item => { + item.payStatusLabel = item.payStatus == 200 ? '缴费成功' : (item.payStatus == 102 ? '缴费中' : (item.payStatus == 100 ) ? '待缴费' : '') + }); + tableData.value = res.data.list + pageParam.value.total = res.data.total + pageParam.value.limit = res.data.limit + pageParam.value.page = res.data.page + }) + loading.value = false; +} +getList(); +</script> +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryRef" :inline="true"> + <el-form-item prop="name"> + <el-input + v-model="queryParams.name" + placeholder="请输入内容" + clearable + style="width: 200px" + @keyup.enter="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> + <el-button icon="Refresh" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + <!--表格及分页--> + <el-table v-loading="loading" :data="tableData"> + <el-table-column + v-for="(item, key, index) of tableHeader" + :prop="key.toString()" + :label="item" + :key="index" + align="center" + ></el-table-column> + </el-table> + <pagination + :total="pageParam.total" + v-model:page="pageParam.page" + v-model:limit="pageParam.limit" + :page-sizes="[10,20,30]" + @pagination="getList" + /> + </div> +</template> diff --git a/src/views/customer/rechargeRecord/index.vue b/src/views/customer/rechargeRecord/index.vue new file mode 100644 index 0000000..639d675 --- /dev/null +++ b/src/views/customer/rechargeRecord/index.vue @@ -0,0 +1,98 @@ + <script setup > + import record from "@/api/financial/record.js"; + import setPostParams from "../../../utils/searchParams.js"; + const { proxy } = getCurrentInstance(); + +/** + * 搜索相关 + */ + const queryParams =ref({ + name: undefined, +},) + /** 搜索按钮操作 */ + function handleQuery() { + getList({keywords:queryParams.value.name}) + } + + /** 重置按钮操作 */ + function resetQuery() { + proxy.resetForm("queryRef"); + handleQuery(); + } + + /** + * Table表格权限数据列表相关 + */ +const pageParam = ref({ + total:0, + limit:0, + page:0, +}) +const tableData = ref([]); +let tableHeader = ref({ + rechargeOrder: '充值订单号', + rechargeType: '充值类型', + paymentMethod: '支付方式', + rechargeAmount: '充值金额', + rechargeStatusLabel: '状态',//rechargeStatus + comment: '备注', + createTimeView: '创建时间', + }) + + /** 获取列表 */ + +const loading = ref(false); + async function getList(val) { + loading.value = true; + + let postParam = setPostParams(val) + await record().rechargeSearch(postParam).then((res) =>{ + res.data.list.forEach(item => { + item.rechargeStatusLabel = item.rechargeStatus == 1 ? '已充值' : '未充值' + }); + tableData.value = res.data.list + pageParam.value.total = res.data.total + pageParam.value.limit = res.data.limit + pageParam.value.page = res.data.page + }) + loading.value = false; + } + getList(); + </script> + <template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryRef" :inline="true"> + <el-form-item prop="name"> + <el-input + v-model="queryParams.name" + placeholder="请输入内容" + clearable + style="width: 200px" + @keyup.enter="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> + <el-button icon="Refresh" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + <!--表格及分页--> + <el-table v-loading="loading" :data="tableData"> + <el-table-column + v-for="(item, key, index) of tableHeader" + :prop="key.toString()" + :label="item" + :key="index" + align="center" + ></el-table-column> + </el-table> + <pagination + :total="pageParam.total" + v-model:page="pageParam.page" + v-model:limit="pageParam.limit" + :page-sizes="[10,20,30]" + @pagination="getList" + /> + </div> +</template> + \ No newline at end of file diff --git a/src/views/customer/userCapitalChange/index.vue b/src/views/customer/userCapitalChange/index.vue new file mode 100644 index 0000000..a132d3e --- /dev/null +++ b/src/views/customer/userCapitalChange/index.vue @@ -0,0 +1,90 @@ + <script setup > + import record from "@/api/financial/record.js"; + import setPostParams from "../../../utils/searchParams.js"; + const { proxy } = getCurrentInstance(); +/** + * 搜索相关 + */ + const queryParams =ref({ + name: undefined, +},) + /** 搜索按钮操作 */ + function handleQuery() { + getList({keywords:queryParams.value.name}) + } + + /** 重置按钮操作 */ + function resetQuery() { + proxy.resetForm("queryRef"); + handleQuery(); + } + + /** + * Table表格权限数据列表相关 + */ +const pageParam = ref({ + total:0, + limit:0, + page:0, +}) +const tableData = ref([]); +let tableHeader = ref({ + businessCode: '户号', + changeMoney: '变动金额', + afterMoney: '余额', + description: '描述', + createTimeView: '创建时间', +}) + /** 获取列表 */ +const loading = ref(false); + async function getList(val) { + loading.value = true; + + let postParam = setPostParams(val) + await record().capitalSearch(postParam).then((res) =>{ + tableData.value = res.data.list + pageParam.value.total = res.data.total + pageParam.value.limit = res.data.limit + pageParam.value.page = res.data.page + }) + loading.value = false; + } + getList(); + </script> + <template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryRef" :inline="true"> + <el-form-item prop="name"> + <el-input + v-model="queryParams.name" + placeholder="请输入内容" + clearable + style="width: 200px" + @keyup.enter="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> + <el-button icon="Refresh" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + <!--表格及分页--> + <el-table v-loading="loading" :data="tableData"> + <el-table-column + v-for="(item, key, index) of tableHeader" + :prop="key.toString()" + :label="item" + :key="index" + align="center" + ></el-table-column> + </el-table> + <pagination + :total="pageParam.total" + v-model:page="pageParam.page" + v-model:limit="pageParam.limit" + :page-sizes="[10,20,30]" + @pagination="getList" + /> + </div> +</template> + \ No newline at end of file diff --git a/src/views/facility/facilityList/index.vue b/src/views/facility/facilityList/index.vue index 8ebec4f..45b09d0 100644 --- a/src/views/facility/facilityList/index.vue +++ b/src/views/facility/facilityList/index.vue @@ -1,9 +1,5 @@ <script setup> import facilityApi from "@/api/facility/index"; -import pointApi from "@/api/facility/point"; -import facilityTypeApi from "@/api/facility/facilityType.js"; -import commonParameters from "@/api/configuration/commonParameters/index.js"; -import waterFacilityParameter from "@/api/facility/parameter.js"; import setPostParams from "@/utils/searchParams.js"; import {onMounted} from "vue"; @@ -38,9 +34,10 @@ let tableHeader = ref({ facilityCode: '设备编号', facilityName: '设备名称', - facilityTypeName: '设备类型', - pointName: '设备监控点', + longitude: '经度', + latitude: '纬度', facilityUrl: '设备图片', + address: '设备地址', installDate: '安装日期', }) @@ -61,71 +58,23 @@ const formLabel = ({ facilityCode: '设备编号', facilityName: '设备名称', - facilityType: '设备类型', - pointId: '设备监控点', + longitude: '经度', + latitude: '纬度', facilityUrl: '设备图片', - remark: '备注信息', - createTimeView: '创建时间' + address: '设备地址', + installDate: '安装时间' }) const rules = ref({ facilityCode: [{required: true, message: `${inpTip + formLabel.facilityCode}`, trigger: "blur"}], facilityName: [{required: true, message: `${inpTip + formLabel.facilityName}`, trigger: "blur"}], - facilityType: [{required: true, message: `${inpTip + formLabel.facilityTypeName}`, trigger: "blur"}], - pointId: [{required: true, message: `${inpTip + formLabel.pointName}`, trigger: "blur"}], - supplier: [{required: true, message: `${inpTip + formLabel.supplier}`, trigger: "blur"}], + longitude: [{required: true, message: `${inpTip + formLabel.longitude}`, trigger: "blur"}], + latitude: [{required: true, message: `${inpTip + formLabel.latitude}`, trigger: "blur"}], + address: [{required: true, message: `${inpTip + formLabel.address}`, trigger: "blur"}], }); const form = ref({}); const searchParams = ref({ keywords: '', }); -//查询监控点 -const pointList = ref(); -const cascaderOption = { - label: 'pointName', - value: 'id', - children: 'childrenList', - checkStrictly: true, - expandTrigger: 'hover', - emitPath: false -}; //级联选择器配置 -const getPoint = async () => { - await pointApi().getParentPoint().then((res) => { - pointList.value = res.data - }) -} - -//查询设备类型 -const facilityTypeList = ref(); -const getFacilityTypeList = async () => { - await facilityTypeApi().search({limit: 100, page: 1}).then((res) => { - facilityTypeList.value = res.data.list - }) -} - -//获取参数列表数据 -//设备参数table -const tableParamData = ref([]); -const getParamList = async () => { - await commonParameters().search({limit: 10000, page: 1}).then((res) => { - tableParamData.value = res.data.list; - }) -} -//获取已绑定参数数据 -const getSelectParamList = async (val) => { - await waterFacilityParameter().getParam(val).then((res) => { - const data = res.data - console.log("参数列表", data) - if (data.length > 0) { - data.forEach(item => { - tableParamData.value.forEach((tableItem) => { - if (item.columnsCode == tableItem.mark) { - tableRef.value.toggleRowSelection(tableItem, undefined) - } - }) - }) - } - }) -} /** 新增按钮操作 */ async function handleAdd() { @@ -165,56 +114,10 @@ * 新增/修改弹窗Form表单相关 */ //设备参数弹窗 -const tableRef = ref() -const openParamForm = ref(false) const open = ref(false); const title = ref(""); const isDetail = ref(false); -const multipleSelection = ref([]) -let tableParamHeader = ref({ - name: '参数名称', - mark: '参数标识', - unit: '参数单位', -}) -/** - * 绑定相关 - */ -//绑定数据 -const facilityData = ref({ - facilityId: '', - parameterList: [] -}) -//已选择设备参数 -const handleSelectionParams = (val) => { - multipleSelection.value = val -} -/** - * 设备参数操作相关 - */ -//提交绑定 -const handleSubmit = async () => { - multipleSelection.value.forEach((item) => { - facilityData.value.parameterList.push({ - columnsCode: item.mark, - columnsShow: item.name, - columnsUnits: item.unit, - }) - }) - let res = await waterFacilityParameter().create(facilityData.value) - if (res.code == 200) { - - proxy.$modal.msgSuccess('绑定成功!') - facilityData.value.parameterList = [] - openParamForm.value = false - tableRef.value.clearSelection() - - } else { - proxy.$modal.msgError('绑定失败!') - openParamForm.value = false - tableRef.value.clearSelection() - } -} //上传文件,添加图片地址信息 const uploadData = (data) => { form.value.facilityUrl = data.toString(); @@ -253,16 +156,7 @@ /** 取消按钮 */ function cancel() { open.value = false; - openParamForm.value = false; reset(); -} - -/** 绑定按钮操作 */ -const handleband = async (row) => { - facilityData.value.facilityId = row.id - await getParamList() - getSelectParamList(row.id) - openParamForm.value = true } /** 表单重置 */ @@ -270,10 +164,10 @@ form.value = { facilityCode: '', facilityName: '', - facilityType: '', - pointId: '', + longitude: '', + latitude: '', facilityUrl: '', - remark: '', + address: '', installDate: '' }; proxy.resetForm("facilityTypeRef"); @@ -281,8 +175,6 @@ onMounted(() => { getList(); - getPoint() - getFacilityTypeList() }) </script> @@ -332,7 +224,6 @@ </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-button link type="primary" icon="Edit" @click="handleband(scope.row)">参数绑定</el-button> <el-button link type="primary" icon="Edit" v-has="['update',route]" @click="handleUpdate(scope.row)">修改 </el-button> @@ -358,19 +249,14 @@ <el-form-item :label="formLabel.facilityName" prop="facilityName"> <el-input v-model="form.facilityName" :placeholder="inpTip+formLabel.facilityName"/> </el-form-item> - <el-form-item label="选择设备类型" prop="facilityType"> - <el-select v-model="form.facilityType" :placeholder="inpTip+formLabel.facilityType"> - <el-option - v-for="(item,index) in facilityTypeList" - :label="item.name" - :value="item.id" - :key="index" - ></el-option> - </el-select> + <el-form-item :label="formLabel.longitude" prop="longitude"> + <el-input v-model="form.longitude" :placeholder="inpTip+formLabel.longitude"/> </el-form-item> - <el-form-item label="选择监控点" prop="pointId"> - <el-cascader v-model="form.pointId" :options="pointList" :show-all-levels="false" - :props="cascaderOption"/> + <el-form-item :label="formLabel.latitude" prop="latitude"> + <el-input v-model="form.latitude" :placeholder="inpTip+formLabel.latitude"/> + </el-form-item> + <el-form-item :label="formLabel.address" prop="address"> + <el-input v-model="form.address" :placeholder="inpTip+formLabel.address"/> </el-form-item> <el-form-item label="安装日期" prop="installDate"> <el-date-picker @@ -382,9 +268,6 @@ :disabled="isDetail ? true : false" /> </el-form-item> - <el-form-item :label="formLabel.remark" prop="remark"> - <el-input v-model="form.remark" :placeholder="inpTip+formLabel.remark"/> - </el-form-item> <el-form-item label="资料上传" prop="facilityUrl" style="flex: 1"> <upload-icons @uploadData="uploadData" :imageList="form.facilityUrl" :limit="1"></upload-icons> <span style="display: block;">(请上传1张设备图片)</span> @@ -393,26 +276,6 @@ <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </template> - </el-dialog> - <!-- 设备参数弹窗 --> - <el-dialog title="设备参数" v-model="openParamForm" width="50vw" center align-center append-to-body> - <!--表格--> - <el-table ref='tableRef' :data="tableParamData" height="75vh" @selection-change="handleSelectionParams"> - <el-table-column type="selection" width="55" align="center"/> - <el-table-column - v-for="(item, key, index) of tableParamHeader" - :prop="key.toString()" - :label="item" - :key="index" - align="center" - ></el-table-column> - </el-table> - <template #footer> - <div class="dialog-footer"> - <el-button type="primary" @click="handleSubmit">确认绑定</el-button> <el-button @click="cancel">取 消</el-button> </div> </template> -- Gitblit v1.9.3