扩展小程序开发
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询费用定价信息列表
|
||||
export function listDefinition(query) {
|
||||
return request({
|
||||
url: '/dict-dictionary/definition/item-definition-page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 初始化下拉选
|
||||
export function initOption(query) {
|
||||
return request({
|
||||
url: '/dict-dictionary/definition/init',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 修改费用定价信息
|
||||
export function updateDefinition(data) {
|
||||
return request({
|
||||
url: '/dict-dictionary/definition/item-definition',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改费用定价信息
|
||||
export function getOptions() {
|
||||
return request({
|
||||
url: '/dict-dictionary/definition/status-enum-option',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
v-model="localOpen"
|
||||
width="800px"
|
||||
append-to-body
|
||||
@close="cancel"
|
||||
>
|
||||
<template #header>
|
||||
<div class="custom-header">
|
||||
<span>{{ title }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<div class="scrollable-content">
|
||||
<el-form ref="definitionRef" :model="fromModel" label-width="140px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="项目编号" prop="itemNo">
|
||||
<el-input v-model="fromModel.itemNo" disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="项目名称" prop="chargeName">
|
||||
<el-input v-model="fromModel.chargeName" disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="规格" prop="totalVolume">
|
||||
<el-input v-model="fromModel.totalVolume" disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="单位" prop="unitCode">
|
||||
<el-input v-model="fromModel.unitCode" disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="拆零比" prop="partPercent">
|
||||
<el-input-number
|
||||
v-model="fromModel.partPercent"
|
||||
:min="0"
|
||||
:max="999999.99"
|
||||
:step="0.01"
|
||||
:precision="2"
|
||||
controls-position="right"
|
||||
:controls="false"
|
||||
disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
label-width="100"
|
||||
label="指导价"
|
||||
prop="conditionYbCode"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="fromModel.conditionYbCode"
|
||||
:min="0"
|
||||
:max="999999.99"
|
||||
:step="0.01"
|
||||
:precision="2"
|
||||
controls-position="right"
|
||||
:controls="false"
|
||||
disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="价格" prop="amount">
|
||||
<el-input-number
|
||||
v-model="fromModel.amount"
|
||||
:min="0"
|
||||
:max="999999.99"
|
||||
:step="0.01"
|
||||
:precision="2"
|
||||
controls-position="right"
|
||||
:controls="false"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
label-width="100"
|
||||
label="拆零最小单位"
|
||||
prop="partMinUnitCode"
|
||||
>
|
||||
<el-input v-model="fromModel.partMinUnitCode" disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
label-width="100"
|
||||
label="拆零指导价"
|
||||
prop="partConditionPrice"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="fromModel.partConditionPrice"
|
||||
:min="0"
|
||||
:max="999999.99"
|
||||
:step="0.01"
|
||||
:precision="2"
|
||||
controls-position="right"
|
||||
:controls="false"
|
||||
disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="拆零价格" prop="price">
|
||||
<el-input-number
|
||||
v-model="fromModel.price"
|
||||
:min="0"
|
||||
:max="999999.99"
|
||||
:step="0.01"
|
||||
:precision="2"
|
||||
:controls="false"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="100" label="状态" prop="statusEnum">
|
||||
<el-select
|
||||
v-model="fromModel.statusEnum"
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label-width="100" label="调价说明" prop="description">
|
||||
<el-input
|
||||
v-model="fromModel.description"
|
||||
style="width: 100%"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请输入调价说明"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script setup>
|
||||
const emit = defineEmits(["submit", "update:open"]);
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
open: Boolean,
|
||||
formData: Object,
|
||||
statusOptions: Object
|
||||
});
|
||||
const localOpen = ref(props.open);
|
||||
const definitionRef = ref(null);
|
||||
const fromModel = ref(props.formData);
|
||||
const options = ref([]);
|
||||
/**
|
||||
* 提交表单函数
|
||||
*/
|
||||
const submitForm = () => {
|
||||
// 调用表单引用上的validate方法进行表单验证
|
||||
definitionRef.value.validate((valid) => {
|
||||
if (valid) {
|
||||
// 验证成功,触发'submit'事件并传递表单数据
|
||||
fromModel.value.statusEnum = Number(fromModel.value.statusEnum);
|
||||
// fromModel.value.statusEnum = "active"
|
||||
emit("submit", fromModel.value);
|
||||
} else {
|
||||
// 验证失败,显示错误消息
|
||||
ElMessage.warning("请确认后再提交");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 取消操作的函数
|
||||
*/
|
||||
const cancel = () => {
|
||||
definitionRef.value.resetFields();
|
||||
emit("update:open", false);
|
||||
};
|
||||
|
||||
watch(
|
||||
() => props.open,
|
||||
(newVal) => {
|
||||
localOpen.value = newVal;
|
||||
fromModel.value = props.formData;
|
||||
options.value = props.statusOptions
|
||||
if (!newVal) {
|
||||
// 如果对话框关闭,重置表单
|
||||
definitionRef.value.resetFields();
|
||||
}
|
||||
}
|
||||
);
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-input-number .el-input__inner){
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: textfield;
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user