水电表基本搭建完成
This commit is contained in:
@@ -5,19 +5,15 @@
|
||||
<div class="title">基本信息</div>
|
||||
<div class="addBuildingFormBody">
|
||||
<el-form class="formBody" label-position="right" ref="formRef" :model="form" :rules="rules" label-width="130px">
|
||||
<el-form-item label="项目名称" prop="name">
|
||||
<el-input v-model.trim="form.name" placeholder="请输入项目名称" />
|
||||
<el-form-item label="项目名称" prop="itemName">
|
||||
<el-input v-model.trim="form.itemName" placeholder="请输入项目名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计费方式" prop="billingMethod">
|
||||
<!-- <el-select v-model="form.billingMethod">
|
||||
<el-option v-for="(item, index) in com_charge_item_method" :key="index" :value="item.value" :label="item.label"></el-option>
|
||||
</el-select> -->
|
||||
<el-radio-group v-model="form.billingMethod">
|
||||
<el-radio value="0">固定单价</el-radio>
|
||||
<el-form-item label="计费方式" prop="billingType">
|
||||
<el-radio-group v-model="form.billingType">
|
||||
<el-radio v-for="(item, index) in com_charge_item_method" :key="index" :value="item.value" :label="item.label"></el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="计算公式" prop="materialName">
|
||||
<el-form-item label="计算公式" prop="formula">
|
||||
<el-select v-model="form.formula">
|
||||
<el-option v-for="(item, index) in com_charge_item_formula" :key="index" :value="item.value" :label="item.label"></el-option>
|
||||
</el-select>
|
||||
@@ -27,11 +23,11 @@
|
||||
<el-option v-for="(item, index) in com_charge_item_unit" :key="index" :value="item.value" :label="item.label"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="费用单价" prop="price">
|
||||
<el-input v-model.trim="form.price" placeholder="请输入费用单价" />
|
||||
<el-form-item label="费用单价" prop="fixedPrice">
|
||||
<el-input v-model.trim="form.fixedPrice" placeholder="请输入费用单价" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计算精度" prop="precision">
|
||||
<el-select v-model="form.precision">
|
||||
<el-form-item label="计算精度" prop="accuracy">
|
||||
<el-select v-model="form.accuracy">
|
||||
<el-option v-for="(item, index) in com_charge_item_precision" :key="index" :value="item.value" :label="item.label"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -40,7 +36,12 @@
|
||||
<el-option v-for="(item, index) in com_charge_item_carry_method" :key="index" :value="item.value" :label="item.label"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="启用/停用" prop="status">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio value="0" label="启用"></el-radio>
|
||||
<el-radio value="1" label="停用"></el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input type="textarea" :rows="5" v-model.trim="form.remark" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
@@ -65,6 +66,7 @@ const { com_charge_item_unit } = toRefs<any>(proxy?.useDict('com_charge_item_uni
|
||||
const { com_charge_item_precision } = toRefs<any>(proxy?.useDict('com_charge_item_precision'));
|
||||
const { com_charge_item_carry_method } = toRefs<any>(proxy?.useDict('com_charge_item_carry_method'));
|
||||
const { com_charge_item_formula } = toRefs<any>(proxy?.useDict('com_charge_item_formula'));
|
||||
const { com_charge_item_method } = toRefs<any>(proxy?.useDict('com_charge_item_method'));
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
@@ -72,22 +74,23 @@ const route = useRoute();
|
||||
const formRef = ref();
|
||||
const form = ref({
|
||||
'id': null,
|
||||
'name': '',
|
||||
'billingMethod': '0',
|
||||
'price': null,
|
||||
'itemName': '',
|
||||
'billingType': '0',
|
||||
'fixedPrice': null,
|
||||
'unit': '',
|
||||
'precision': '',
|
||||
'accuracy': '',
|
||||
'carryMethod': '',
|
||||
'remark': '',
|
||||
'status': '0',
|
||||
'formula': ''
|
||||
});
|
||||
const rules = ref({
|
||||
name: [{ required: true, message: '请输入 项目名称', trigger: 'blur' }],
|
||||
billingMethod: [{ required: true, message: '请输入 计费方式', trigger: 'blur' }],
|
||||
price: [{ required: true, message: '请输入 费用单价', trigger: 'blur' }],
|
||||
itemName: [{ required: true, message: '请输入 项目名称', trigger: 'blur' }],
|
||||
billingType: [{ required: true, message: '请输入 计费方式', trigger: 'blur' }],
|
||||
fixedPrice: [{ required: true, message: '请输入 费用单价', trigger: 'blur' }],
|
||||
formula: [{ required: true, message: '请选择 计费公式', trigger: 'blur' }],
|
||||
unit: [{ required: true, message: '请选择 计费单位', trigger: 'blur' }],
|
||||
precision: [{ required: true, message: '选择 计算精度', trigger: 'blur' }],
|
||||
accuracy: [{ required: true, message: '选择 计算精度', trigger: 'blur' }],
|
||||
carryMethod: [{ required: true, message: '请选择 进位方式', trigger: 'blur' }]
|
||||
});
|
||||
const userid = ref(null);
|
||||
|
||||
@@ -39,27 +39,31 @@
|
||||
|
||||
<el-table v-loading="loading" border :data="chargeItemList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="项目名称" align="center" prop="name" />
|
||||
<el-table-column label="计费方式" align="center" prop="billingMethod">
|
||||
<el-table-column label="项目名称" align="center" prop="itemName" />
|
||||
<el-table-column label="计费方式" align="center" prop="billingType">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="com_charge_item_method" :value="scope.row.billingMethod"></dict-tag>
|
||||
<dict-tag :options="com_charge_item_method" :value="scope.row.billingType"></dict-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价" align="center" prop="price">
|
||||
<el-table-column label="计算公式" align="center" prop="formula">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="com_charge_item_formula" :value="scope.row.formula"></dict-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价" align="center" prop="fixedPrice">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price }}
|
||||
<dict-tag :options="com_charge_item_unit" :value="scope.row.unit"></dict-tag>
|
||||
<dict-tag :options="com_charge_item_unit" :value="scope.row.fixedPrice"></dict-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label=" 计算方式" align="center" prop="price" />
|
||||
<el-table-column label="计量单位" align="center" prop="unit">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="com_charge_item_unit" :value="scope.row.unit"></dict-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="计算精度" align="center" prop="precision">
|
||||
<el-table-column label="计算精度" align="center" prop="accuracy">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="com_charge_item_precision" :value="scope.row.precision"></dict-tag>
|
||||
<dict-tag :options="com_charge_item_precision" :value="scope.row.accuracy"></dict-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="进位方式" align="center" prop="carryMethod">
|
||||
@@ -69,7 +73,14 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<template #default="scope">
|
||||
<el-switch inactive-text="停用" active-text="启用" inactive-value="0" active-value="1" v-model="scope.row.status"></el-switch>
|
||||
<el-switch
|
||||
@change="(val: string) => handleSwitch(val, scope.row)"
|
||||
inactive-text="停用"
|
||||
active-text="启用"
|
||||
inactive-value="1"
|
||||
active-value="0"
|
||||
v-model="scope.row.status"
|
||||
></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
||||
@@ -86,7 +97,7 @@
|
||||
</template>
|
||||
|
||||
<script setup name="ChargeItem" lang="ts">
|
||||
import { listChargeItem, getChargeItem, delChargeItem, addChargeItem, updateChargeItem } from '@/api/system/SdbChargeItem';
|
||||
import { listChargeItem, getChargeItem, delChargeItem, addChargeItem, updateChargeItem, changChargeItem } from '@/api/system/SdbChargeItem';
|
||||
import { ChargeItemVO, ChargeItemQuery, ChargeItemForm } from '@/api/system/SdbChargeItem/type';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
@@ -94,6 +105,7 @@ const { com_charge_item_method } = toRefs<any>(proxy?.useDict('com_charge_item_m
|
||||
const { com_charge_item_unit } = toRefs<any>(proxy?.useDict('com_charge_item_unit'));
|
||||
const { com_charge_item_precision } = toRefs<any>(proxy?.useDict('com_charge_item_precision'));
|
||||
const { com_charge_item_carry_method } = toRefs<any>(proxy?.useDict('com_charge_item_carry_method'));
|
||||
const { com_charge_item_formula } = toRefs<any>(proxy?.useDict('com_charge_item_formula'));
|
||||
|
||||
const chargeItemList = ref<ChargeItemVO[]>([]);
|
||||
const buttonLoading = ref(false);
|
||||
@@ -204,27 +216,20 @@ const handleUpdate = async (row?: ChargeItemVO) => {
|
||||
});
|
||||
};
|
||||
|
||||
/** 提交按钮 */
|
||||
const submitForm = () => {
|
||||
chargeItemFormRef.value?.validate(async (valid: boolean) => {
|
||||
if (valid) {
|
||||
buttonLoading.value = true;
|
||||
if (form.value.id) {
|
||||
await updateChargeItem(form.value).finally(() => (buttonLoading.value = false));
|
||||
} else {
|
||||
await addChargeItem(form.value).finally(() => (buttonLoading.value = false));
|
||||
}
|
||||
proxy?.$modal.msgSuccess('操作成功');
|
||||
dialog.visible = false;
|
||||
await getList();
|
||||
}
|
||||
const handleSwitch = (val: string, row: ChargeItemVO) => {
|
||||
console.log(val, typeof val, row);
|
||||
// 1停用 0 启用
|
||||
updateChargeItem({
|
||||
id: row.id,
|
||||
status: val
|
||||
}).then(() => {
|
||||
ElMessage.success('修改成功');
|
||||
});
|
||||
};
|
||||
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (row?: ChargeItemVO) => {
|
||||
const _ids = row?.id || ids.value;
|
||||
await proxy?.$modal.confirm('是否确认删除收费项目管理编号为"' + _ids + '"的数据项?').finally(() => (loading.value = false));
|
||||
await proxy?.$modal.confirm('是否确认删除该收费项目?').finally(() => (loading.value = false));
|
||||
await delChargeItem(_ids);
|
||||
proxy?.$modal.msgSuccess('删除成功');
|
||||
await getList();
|
||||
|
||||
Reference in New Issue
Block a user