#
Junjie
2025-02-14 ac4341ea6b66ae02427d39d35f41d42d78b2eb2e
zy-asrs-admin/src/views/base/mat/edit.vue
@@ -3,11 +3,15 @@
import { get, post, postBlob, postForm } from '@/utils/request.js'
import { formatMessage } from '@/utils/localeUtils.js';
import { message } from 'ant-design-vue';
import {
    MinusCircleOutlined,
} from "@ant-design/icons-vue";
const formTable = ref(null);
const submitButton = ref(null);
const isSave = ref(true);
const open = ref(false);
const extendField = ref([]);
const initFormData = {}
let formData = ref(initFormData);
@@ -22,12 +26,11 @@
};
const onFinish = values => {
    // console.log('Success:', values);
    open.value = false;
    post(isSave.value ? '/api/mat/save' : '/api/mat/update', formData.value).then((resp) => {
        let result = resp.data;
        if (result.code === 200) {
            message.success(formatMessage('page.update.success', '更新成功'));
            message.success(isSave.value ? formatMessage('page.add.success', '新增成功') : formatMessage('page.update.success', '更新成功'));
        } else {
            message.error(result.msg);
        }
@@ -56,6 +59,24 @@
        let result = resp.data;
        TagQueryTree.value = result.data;
    })
}
//扩展字段
getColumns()
async function getColumns() {
    let fieldResp = await post('/api/matField/list', {
        fieldType: 0
    })
    let fieldResult = fieldResp.data;
    if (fieldResult.code == 200) {
        let data = fieldResult.data;
        extendField.value = data;
    } else if (result.code === 401) {
        message.error(result.msg);
        logout()
    } else {
        message.error(result.msg);
    }
}
@@ -118,9 +139,9 @@
                <a-form-item :label="formatMessage('db.man_mat.tag_id', '所属归类')" name="tagId" style="width: 250px;"
                    :rules="[{ required: true, message: '上级菜单不能为空!' }]">
                    <a-tree-select v-model:value="formData.tagId" show-search style="width: 100%"
                        :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :placeholder="formatMessage('page.input', '请输入')"
                        allow-clea tree-data-simple-mode :tree-data="TagQueryTree" tree-node-filter-prop="name"
                        :field-names="{
                        :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
                        :placeholder="formatMessage('page.input', '请输入')" allow-clea tree-data-simple-mode
                        :tree-data="TagQueryTree" tree-node-filter-prop="name" :field-names="{
                            children: 'children',
                            label: 'name',
                            value: 'id',
@@ -204,6 +225,18 @@
                    style="width: 250px;">
                    <a-input v-model:value="formData.deadTime" />
                </a-form-item>
                <a-form-item :label="formatMessage('db.man_mat.safeStockLimit', '安全库存上限')" name="safeStockLimit"
                    style="width: 250px;">
                    <a-input v-model:value="formData.safeStockLimit" />
                </a-form-item>
                <a-form-item :label="formatMessage('db.man_mat.safeStockMinimum', '安全库存下限')" name="safeStockMinimum"
                    style="width: 250px;">
                    <a-input v-model:value="formData.safeStockMinimum" />
                </a-form-item>
                <a-form-item :label="formatMessage('db.man_mat.validity', '有效期')" name="validity"
                    style="width: 250px;">
                    <a-input v-model:value="formData.validity" />
                </a-form-item>
                <a-form-item :label="formatMessage('db.man_mat.flag', '标识')" name="flag" style="width: 250px;">
                    <a-input v-model:value="formData.flag" />
                </a-form-item>
@@ -221,6 +254,11 @@
                    <a-input v-model:value="formData.memo" />
                </a-form-item>
                <a-form-item v-for="(item, index) in extendField" :key="index"
                    :label="formatMessage(item.language, item.describe)" :name="item.name" style="width: 250px;">
                    <a-input v-model:value="formData[item.name]" />
                </a-form-item>
                <a-form-item>
                    <a-button type="primary" html-type="submit" ref="submitButton"
                        style="visibility: hidden;">Submit</a-button>