|
@@ -14,56 +14,155 @@
|
|
|
:loading="loading"
|
|
:loading="loading"
|
|
|
@click="submit">完成</a-button>
|
|
@click="submit">完成</a-button>
|
|
|
</template>
|
|
</template>
|
|
|
- <a-form class="inlineForm">
|
|
|
|
|
|
|
+ <a-form class="inlineForm"
|
|
|
|
|
+ ref="formRef"
|
|
|
|
|
+ :model="formState"
|
|
|
|
|
+ :rules="rules">
|
|
|
<fieldset class="formFieldSet">
|
|
<fieldset class="formFieldSet">
|
|
|
<legend>基本信息</legend>
|
|
<legend>基本信息</legend>
|
|
|
<a-row :gutter="24">
|
|
<a-row :gutter="24">
|
|
|
<a-col :span="12">
|
|
<a-col :span="12">
|
|
|
- <a-form-item label="现货品种名称">
|
|
|
|
|
|
|
+ <a-form-item label="现货品种名称"
|
|
|
|
|
+ name="deliverygoodsname">
|
|
|
<a-input class="dialogInput"
|
|
<a-input class="dialogInput"
|
|
|
- style="width: 200px"
|
|
|
|
|
- placeholder="请输入现货品种名称" />
|
|
|
|
|
|
|
+ v-model:value="formState.deliverygoodsname"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ placeholder="请输入现货品种名称" />
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
</a-col>
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
<a-col :span="12">
|
|
|
- <a-form-item label="现货品种代码">
|
|
|
|
|
|
|
+ <a-form-item label="现货品种代码"
|
|
|
|
|
+ name="deliverygoodscode">
|
|
|
<a-input class="dialogInput"
|
|
<a-input class="dialogInput"
|
|
|
- style="width: 200px"
|
|
|
|
|
- placeholder="请输入现货品种代码" />
|
|
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.deliverygoodscode"
|
|
|
|
|
+ placeholder="请输入现货品种代码" />
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
</a-col>
|
|
</a-col>
|
|
|
</a-row>
|
|
</a-row>
|
|
|
<a-row :gutter="24">
|
|
<a-row :gutter="24">
|
|
|
<a-col :span="24">
|
|
<a-col :span="24">
|
|
|
- <a-form-item label="单位">
|
|
|
|
|
|
|
+ <a-form-item label="单位"
|
|
|
|
|
+ name="unitid">
|
|
|
<a-select class="inlineFormSelect"
|
|
<a-select class="inlineFormSelect"
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.unitid"
|
|
|
placeholder="请选择单位">
|
|
placeholder="请选择单位">
|
|
|
- <a-select-option value="1">
|
|
|
|
|
- 客户一
|
|
|
|
|
- </a-select-option>
|
|
|
|
|
- <a-select-option value="2">
|
|
|
|
|
- 客户二
|
|
|
|
|
|
|
+ <a-select-option v-for="item in unitList"
|
|
|
|
|
+ :value="item.enumitemname"
|
|
|
|
|
+ :key="item.autoid">
|
|
|
|
|
+ {{item.enumdicname}}
|
|
|
</a-select-option>
|
|
</a-select-option>
|
|
|
</a-select>
|
|
</a-select>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
</a-col>
|
|
</a-col>
|
|
|
</a-row>
|
|
</a-row>
|
|
|
<a-row :gutter="24">
|
|
<a-row :gutter="24">
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="备注">
|
|
|
|
|
- <a-input class="dialogInput"
|
|
|
|
|
- style="width: 562px"
|
|
|
|
|
- placeholder="请输入备注" />
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- </a-row>
|
|
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="备注"
|
|
|
|
|
+ name="remark">
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ v-model:value="formState.remark"
|
|
|
|
|
+ style="width: 562px"
|
|
|
|
|
+ placeholder="请输入备注" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
</fieldset>
|
|
</fieldset>
|
|
|
<fieldset class="formFieldSet">
|
|
<fieldset class="formFieldSet">
|
|
|
<legend>品类信息</legend>
|
|
<legend>品类信息</legend>
|
|
|
- <a-table class="dialogTable" :columns="columns" :data-source="dataSource" :pagination="false">
|
|
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <span>
|
|
|
|
|
+ <span class="red">*</span>
|
|
|
|
|
+ 品类
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <span>
|
|
|
|
|
+ <span class="red">*</span>
|
|
|
|
|
+ 单位
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <span>
|
|
|
|
|
+ <span class="red">*</span>
|
|
|
|
|
+ 标仓系数
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <span>
|
|
|
|
|
+ 操作
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <template v-for="(domain, index) in formState.gldwrstandards"
|
|
|
|
|
+ :key="domain.index + 'domain'">
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <a-form-item :name="['wrstandardname', index]"
|
|
|
|
|
+ :rules="rules.gldwrstandards.wrstandardname">
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ v-model:value="domain.wrstandardname"
|
|
|
|
|
+ placeholder="请输入品类"></a-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <a-form-item :name="['unitid', index]"
|
|
|
|
|
+ :rules="rules.gldwrstandards.unitid">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="domain.unitid"
|
|
|
|
|
+ placeholder="请选择单位">
|
|
|
|
|
+ <a-select-option v-for="item in unitList"
|
|
|
|
|
+ :value="item.enumitemname"
|
|
|
|
|
+ :key="item.autoid">
|
|
|
|
|
+ {{item.enumdicname}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <a-form-item :name="['convertfactor', index]"
|
|
|
|
|
+ :rules="rules.gldwrstandards.convertfactor">
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ v-model:value="domain.convertfactor"
|
|
|
|
|
+ placeholder="请输入标仓系数"></a-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="6">
|
|
|
|
|
+ <a-button class="plusBtn"
|
|
|
|
|
+ v-if="index > 0">
|
|
|
|
|
+ <template #icon>
|
|
|
|
|
+ <MinusOutlined />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </a-button>
|
|
|
|
|
+ <a-button class="minusBtn">
|
|
|
|
|
+ <template #icon>
|
|
|
|
|
+ <PlusOutlined />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </a-button>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <!-- <a-form-item
|
|
|
|
|
+ v-for="(domain, index) in dynamicValidateForm.gldwrstandards"
|
|
|
|
|
+ :key="domain.index + 'domain'"
|
|
|
|
|
+ v-bind="index === 0 ? formItemLayout : {}"
|
|
|
|
|
+ :name="['domains', index, 'value']"
|
|
|
|
|
+ :rules="{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: 'domain can not be null',
|
|
|
|
|
+ trigger: 'change',
|
|
|
|
|
+ }"
|
|
|
|
|
+ >
|
|
|
|
|
+
|
|
|
|
|
+ </a-form-item> -->
|
|
|
|
|
+ <a-table class="dialogTable"
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ :data-source="dataSource"
|
|
|
|
|
+ :pagination="false">
|
|
|
<template #type>
|
|
<template #type>
|
|
|
- <a-input class="dialogInput" placeholder="请输入品类"></a-input>
|
|
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ placeholder="请输入品类"></a-input>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customType>
|
|
<template #customType>
|
|
|
<span>
|
|
<span>
|
|
@@ -72,13 +171,14 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
<template #unit>
|
|
<template #unit>
|
|
|
- <a-select class="dialogSelect" placeholder="请选择单位">
|
|
|
|
|
- <a-select-option value="1">
|
|
|
|
|
- 一口价
|
|
|
|
|
- </a-select-option>
|
|
|
|
|
- <a-select-option value="2">
|
|
|
|
|
- 一口价2
|
|
|
|
|
- </a-select-option>
|
|
|
|
|
|
|
+ <a-select class="dialogSelect"
|
|
|
|
|
+ placeholder="请选择单位">
|
|
|
|
|
+ <a-select-option value="1">
|
|
|
|
|
+ 一口价
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ <a-select-option value="2">
|
|
|
|
|
+ 一口价2
|
|
|
|
|
+ </a-select-option>
|
|
|
</a-select>
|
|
</a-select>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customUnit>
|
|
<template #customUnit>
|
|
@@ -88,7 +188,8 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
<template #coefficient>
|
|
<template #coefficient>
|
|
|
- <a-input class="dialogInput" placeholder="请输入标仓系数"></a-input>
|
|
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ placeholder="请输入标仓系数"></a-input>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customCoefficient>
|
|
<template #customCoefficient>
|
|
|
<span>
|
|
<span>
|
|
@@ -112,9 +213,13 @@
|
|
|
</fieldset>
|
|
</fieldset>
|
|
|
<fieldset class="formFieldSet">
|
|
<fieldset class="formFieldSet">
|
|
|
<legend>品牌信息</legend>
|
|
<legend>品牌信息</legend>
|
|
|
- <a-table class="dialogTable" :columns="columns1" :data-source="dataSource1" :pagination="false">
|
|
|
|
|
|
|
+ <a-table class="dialogTable"
|
|
|
|
|
+ :columns="columns1"
|
|
|
|
|
+ :data-source="dataSource1"
|
|
|
|
|
+ :pagination="false">
|
|
|
<template #type>
|
|
<template #type>
|
|
|
- <a-input class="dialogInput" placeholder="请输入品牌"></a-input>
|
|
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ placeholder="请输入品牌"></a-input>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customType>
|
|
<template #customType>
|
|
|
<span>
|
|
<span>
|
|
@@ -138,15 +243,19 @@
|
|
|
</fieldset>
|
|
</fieldset>
|
|
|
<fieldset class="formFieldSet">
|
|
<fieldset class="formFieldSet">
|
|
|
<legend>套保品种信息</legend>
|
|
<legend>套保品种信息</legend>
|
|
|
- <a-table class="dialogTable" :columns="columns" :data-source="dataSource" :pagination="false">
|
|
|
|
|
|
|
+ <a-table class="dialogTable"
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ :data-source="dataSource"
|
|
|
|
|
+ :pagination="false">
|
|
|
<template #type>
|
|
<template #type>
|
|
|
- <a-select class="dialogSelect" placeholder="请选择套保品种">
|
|
|
|
|
- <a-select-option value="1">
|
|
|
|
|
- 一口价
|
|
|
|
|
- </a-select-option>
|
|
|
|
|
- <a-select-option value="2">
|
|
|
|
|
- 一口价2
|
|
|
|
|
- </a-select-option>
|
|
|
|
|
|
|
+ <a-select class="dialogSelect"
|
|
|
|
|
+ placeholder="请选择套保品种">
|
|
|
|
|
+ <a-select-option value="1">
|
|
|
|
|
+ 一口价
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ <a-select-option value="2">
|
|
|
|
|
+ 一口价2
|
|
|
|
|
+ </a-select-option>
|
|
|
</a-select>
|
|
</a-select>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customType>
|
|
<template #customType>
|
|
@@ -156,7 +265,7 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
<template #unit>
|
|
<template #unit>
|
|
|
- <span class="white">选择套保品种后自动填入</span>
|
|
|
|
|
|
|
+ <span class="white">选择套保品种后自动填入</span>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customUnit>
|
|
<template #customUnit>
|
|
|
<span>
|
|
<span>
|
|
@@ -164,7 +273,8 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
<template #coefficient>
|
|
<template #coefficient>
|
|
|
- <a-input class="dialogInput" placeholder="请输入套保系数"></a-input>
|
|
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ placeholder="请输入套保系数"></a-input>
|
|
|
</template>
|
|
</template>
|
|
|
<template #customCoefficient>
|
|
<template #customCoefficient>
|
|
|
<span>
|
|
<span>
|
|
@@ -191,99 +301,114 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
|
-import { defineComponent, ref } from 'vue';
|
|
|
|
|
-import { closeModal, openModal } from '@/common/setup/modal/index';
|
|
|
|
|
|
|
+import { defineComponent, ref, reactive, toRaw, UnwrapRef } from 'vue';
|
|
|
|
|
+import { closeModal } from '@/common/setup/modal/index';
|
|
|
import { initData } from '@/common/methods/index';
|
|
import { initData } from '@/common/methods/index';
|
|
|
import { PlusOutlined, MinusOutlined } from '@ant-design/icons-vue';
|
|
import { PlusOutlined, MinusOutlined } from '@ant-design/icons-vue';
|
|
|
|
|
+import { handleAdd, initFormState } from './setup';
|
|
|
|
|
+import { DeliveryGoodsApplyReq } from '@/services/proto/delivery/interface';
|
|
|
|
|
+import { getGoodsUnitList } from '../../setup';
|
|
|
|
|
+import { RuleObject, ValidateErrorEntity } from 'ant-design-vue/es/form/interface';
|
|
|
|
|
+
|
|
|
|
|
+const validateUnit = async (rule: RuleObject, value: number) => {
|
|
|
|
|
+ if (value) {
|
|
|
|
|
+ return Promise.resolve();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return Promise.reject('请选择单位');
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'addSpotVariety',
|
|
name: 'addSpotVariety',
|
|
|
components: {
|
|
components: {
|
|
|
- PlusOutlined,
|
|
|
|
|
- MinusOutlined,
|
|
|
|
|
|
|
+ PlusOutlined,
|
|
|
|
|
+ MinusOutlined,
|
|
|
},
|
|
},
|
|
|
setup() {
|
|
setup() {
|
|
|
|
|
+ // 控制关闭弹窗
|
|
|
const { visible, cancel } = closeModal('spot_contract_btn_add');
|
|
const { visible, cancel } = closeModal('spot_contract_btn_add');
|
|
|
- const loading = ref<boolean>(false);
|
|
|
|
|
- const maskClosableFlag = ref<boolean>(false);
|
|
|
|
|
|
|
+ // 下单方法
|
|
|
|
|
+ const { loading, addAction } = handleAdd();
|
|
|
|
|
+ // 单位列表
|
|
|
|
|
+ const unitList = getGoodsUnitList();
|
|
|
const columns = [
|
|
const columns = [
|
|
|
- {
|
|
|
|
|
- dataIndex: 'type',
|
|
|
|
|
- key: 'type',
|
|
|
|
|
- slots: { title: 'customType', customRender: 'type' },
|
|
|
|
|
- width: 200,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- dataIndex: 'unit',
|
|
|
|
|
- key: 'unit',
|
|
|
|
|
- slots: { title: 'customUnit', customRender: 'unit' },
|
|
|
|
|
- width: 200,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- dataIndex: 'coefficient',
|
|
|
|
|
- key: 'coefficient',
|
|
|
|
|
- slots: { title: 'customCoefficient', customRender: 'coefficient' },
|
|
|
|
|
- width: 200,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '操作',
|
|
|
|
|
- key: 'action',
|
|
|
|
|
- slots: { customRender: 'action' },
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ dataIndex: 'type',
|
|
|
|
|
+ key: 'type',
|
|
|
|
|
+ slots: { title: 'customType', customRender: 'type' },
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ dataIndex: 'unit',
|
|
|
|
|
+ key: 'unit',
|
|
|
|
|
+ slots: { title: 'customUnit', customRender: 'unit' },
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ dataIndex: 'coefficient',
|
|
|
|
|
+ key: 'coefficient',
|
|
|
|
|
+ slots: { title: 'customCoefficient', customRender: 'coefficient' },
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: '操作',
|
|
|
|
|
+ key: 'action',
|
|
|
|
|
+ slots: { customRender: 'action' },
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ },
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
const dataSource = [
|
|
const dataSource = [
|
|
|
- {
|
|
|
|
|
- key: '1',
|
|
|
|
|
- type: 'John Brown',
|
|
|
|
|
- age: 32,
|
|
|
|
|
- address: 'New York No. 1 Lake Park',
|
|
|
|
|
- tags: ['nice', 'developer'],
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- key: '2',
|
|
|
|
|
- name: 'Jim Green',
|
|
|
|
|
- age: 42,
|
|
|
|
|
- address: 'London No. 1 Lake Park',
|
|
|
|
|
- tags: ['loser'],
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ key: '1',
|
|
|
|
|
+ type: 'John Brown',
|
|
|
|
|
+ age: 32,
|
|
|
|
|
+ address: 'New York No. 1 Lake Park',
|
|
|
|
|
+ tags: ['nice', 'developer'],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ key: '2',
|
|
|
|
|
+ name: 'Jim Green',
|
|
|
|
|
+ age: 42,
|
|
|
|
|
+ address: 'London No. 1 Lake Park',
|
|
|
|
|
+ tags: ['loser'],
|
|
|
|
|
+ },
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
const columns1 = [
|
|
const columns1 = [
|
|
|
- {
|
|
|
|
|
- dataIndex: 'type',
|
|
|
|
|
- key: 'type',
|
|
|
|
|
- slots: { title: 'customType', customRender: 'type' },
|
|
|
|
|
- width: 598,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '操作',
|
|
|
|
|
- key: 'action',
|
|
|
|
|
- slots: { customRender: 'action' },
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ dataIndex: 'type',
|
|
|
|
|
+ key: 'type',
|
|
|
|
|
+ slots: { title: 'customType', customRender: 'type' },
|
|
|
|
|
+ width: 598,
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: '操作',
|
|
|
|
|
+ key: 'action',
|
|
|
|
|
+ slots: { customRender: 'action' },
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ },
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
const dataSource1 = [
|
|
const dataSource1 = [
|
|
|
- {
|
|
|
|
|
- key: '1',
|
|
|
|
|
- type: 'John Brown',
|
|
|
|
|
- age: 32,
|
|
|
|
|
- address: 'New York No. 1 Lake Park',
|
|
|
|
|
- tags: ['nice', 'developer'],
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- key: '2',
|
|
|
|
|
- name: 'Jim Green',
|
|
|
|
|
- age: 42,
|
|
|
|
|
- address: 'London No. 1 Lake Park',
|
|
|
|
|
- tags: ['loser'],
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ key: '1',
|
|
|
|
|
+ type: 'John Brown',
|
|
|
|
|
+ age: 32,
|
|
|
|
|
+ address: 'New York No. 1 Lake Park',
|
|
|
|
|
+ tags: ['nice', 'developer'],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ key: '2',
|
|
|
|
|
+ name: 'Jim Green',
|
|
|
|
|
+ age: 42,
|
|
|
|
|
+ address: 'London No. 1 Lake Park',
|
|
|
|
|
+ tags: ['loser'],
|
|
|
|
|
+ },
|
|
|
];
|
|
];
|
|
|
function submit() {
|
|
function submit() {
|
|
|
loading.value = true;
|
|
loading.value = true;
|
|
@@ -292,17 +417,39 @@ export default defineComponent({
|
|
|
cancel();
|
|
cancel();
|
|
|
}, 2000);
|
|
}, 2000);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 表单
|
|
|
|
|
+ const formRef = ref();
|
|
|
|
|
+ const formState: UnwrapRef<DeliveryGoodsApplyReq> = reactive(initFormState());
|
|
|
|
|
+ const rules = {
|
|
|
|
|
+ deliverygoodsname: [{ required: true, message: '请输入现货品种名称', trigger: 'blur' }],
|
|
|
|
|
+ // unitid: [{ required: true, message: '请选择单位', trigger: 'change' }],
|
|
|
|
|
+ unitid: [{ required: true, validator: validateUnit, trigger: 'change' }],
|
|
|
|
|
+ gldwrstandards: {
|
|
|
|
|
+ unitid: { required: true, validator: validateUnit, trigger: 'change' },
|
|
|
|
|
+ wrstandardname: { required: true, message: '请输入品类', trigger: 'blur' },
|
|
|
|
|
+ convertfactor: { required: true, message: '请输入标仓系数', trigger: 'blur' },
|
|
|
|
|
+ },
|
|
|
|
|
+ // nickname: [{ required: true, message: '请输入企业简称', trigger: 'blur' }],
|
|
|
|
|
+ // cardtype: [{ required: true, message: '请选择证件类型', trigger: 'change' }],
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
initData(() => {});
|
|
initData(() => {});
|
|
|
return {
|
|
return {
|
|
|
visible,
|
|
visible,
|
|
|
cancel,
|
|
cancel,
|
|
|
|
|
+ formRef,
|
|
|
|
|
+ formState,
|
|
|
|
|
+ rules,
|
|
|
|
|
+ unitList,
|
|
|
|
|
+
|
|
|
submit,
|
|
submit,
|
|
|
loading,
|
|
loading,
|
|
|
dataSource,
|
|
dataSource,
|
|
|
columns,
|
|
columns,
|
|
|
dataSource1,
|
|
dataSource1,
|
|
|
columns1,
|
|
columns1,
|
|
|
- maskClosableFlag
|
|
|
|
|
|
|
+ maskClosableFlag: false,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
@@ -310,126 +457,128 @@ export default defineComponent({
|
|
|
|
|
|
|
|
<style lang="less">
|
|
<style lang="less">
|
|
|
.addSpotVariety {
|
|
.addSpotVariety {
|
|
|
- width: 100%;
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- // padding: 30px;
|
|
|
|
|
- .formFieldSet {
|
|
|
|
|
- border: 1px solid @m-grey19;
|
|
|
|
|
- padding: 0 20px 20px;
|
|
|
|
|
- }
|
|
|
|
|
- .formFieldSet+.formFieldSet {
|
|
|
|
|
- margin-top: 35px;
|
|
|
|
|
- }
|
|
|
|
|
- .ant-form {
|
|
|
|
|
- legend {
|
|
|
|
|
- width: auto;
|
|
|
|
|
- margin-left: 20px;
|
|
|
|
|
- font-size: 16px;
|
|
|
|
|
- color: @m-white0;
|
|
|
|
|
- border-bottom: 0;
|
|
|
|
|
- padding: 0 10px;
|
|
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ // padding: 30px;
|
|
|
|
|
+ .formFieldSet {
|
|
|
|
|
+ border: 1px solid @m-grey19;
|
|
|
|
|
+ padding: 0 20px 20px;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- .ant-form.inlineForm .ant-row.ant-form-item .ant-form-item-label {
|
|
|
|
|
- width: 120px !important;
|
|
|
|
|
- }
|
|
|
|
|
- .upload {
|
|
|
|
|
- display: inline-flex;
|
|
|
|
|
- .ant-btn.uploadBtn {
|
|
|
|
|
- width: 60px;
|
|
|
|
|
- height: 30px;
|
|
|
|
|
- background: @m-blue0;
|
|
|
|
|
- border: 0;
|
|
|
|
|
- padding: 0;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- font-size: 14px;
|
|
|
|
|
- color: @m-white0;
|
|
|
|
|
- .rounded-corners(3px);
|
|
|
|
|
- &:hover {
|
|
|
|
|
- background: rgba(@m-blue0, 0);
|
|
|
|
|
- color: rgba(@m-white0, 0.8);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .look {
|
|
|
|
|
- color: @m-blue0;
|
|
|
|
|
- font-size: 14px;
|
|
|
|
|
- margin-left: 10px;
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .red {
|
|
|
|
|
- color: @m-red1;
|
|
|
|
|
- }
|
|
|
|
|
- .ant-btn.minusBtn,.ant-btn.plusBtn {
|
|
|
|
|
- width: 26px;
|
|
|
|
|
- height: 26px;
|
|
|
|
|
- .inlineflex;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- background: @m-blue0;
|
|
|
|
|
- .rounded-corners(3px);
|
|
|
|
|
- border: 0;
|
|
|
|
|
- .anticon {
|
|
|
|
|
- font-size: 12px;
|
|
|
|
|
- color: @m-white0;
|
|
|
|
|
- align-self: center;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
|
|
+ .formFieldSet + .formFieldSet {
|
|
|
|
|
+ margin-top: 35px;
|
|
|
}
|
|
}
|
|
|
- &:hover,&:focus {
|
|
|
|
|
- background: rgba(@m-blue0, .8);
|
|
|
|
|
- .anticon {
|
|
|
|
|
- color: rgba(@m-white0, .8);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ .ant-form {
|
|
|
|
|
+ legend {
|
|
|
|
|
+ width: auto;
|
|
|
|
|
+ margin-left: 20px;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ color: @m-white0;
|
|
|
|
|
+ border-bottom: 0;
|
|
|
|
|
+ padding: 0 10px;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- .ant-btn.plusBtn{
|
|
|
|
|
- margin-right: 10px;
|
|
|
|
|
- background: transparent;
|
|
|
|
|
- border: 1px solid #3A87F7;
|
|
|
|
|
- .anticon {
|
|
|
|
|
- color: @m-blue0;
|
|
|
|
|
|
|
+ .ant-form.inlineForm .ant-row.ant-form-item .ant-form-item-label {
|
|
|
|
|
+ width: 120px !important;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- .white {
|
|
|
|
|
- color: @m-white0;
|
|
|
|
|
- }
|
|
|
|
|
- .dialogTable {
|
|
|
|
|
- .ant-table {
|
|
|
|
|
- .ant-table-content {
|
|
|
|
|
- .ant-table-body {
|
|
|
|
|
- table {
|
|
|
|
|
- tr {
|
|
|
|
|
- td {
|
|
|
|
|
- padding: 0;
|
|
|
|
|
- .ant-input.dialogInput {
|
|
|
|
|
- height: 34px;
|
|
|
|
|
- line-height: 34px;
|
|
|
|
|
- border: 0;
|
|
|
|
|
- border-radius: 0;
|
|
|
|
|
- }
|
|
|
|
|
- .dialogSelect.ant-select-single {
|
|
|
|
|
- float: left;
|
|
|
|
|
- margin-right: 0;
|
|
|
|
|
- .ant-select-selector {
|
|
|
|
|
- padding: 0 10px;
|
|
|
|
|
- height: 34px;
|
|
|
|
|
- background: @m-grey21;
|
|
|
|
|
- border: 0;
|
|
|
|
|
- border-radius: 0;
|
|
|
|
|
- .ant-select-selection-placeholder {
|
|
|
|
|
- color: @m-grey10;
|
|
|
|
|
- text-align: left;
|
|
|
|
|
|
|
+ .upload {
|
|
|
|
|
+ display: inline-flex;
|
|
|
|
|
+ .ant-btn.uploadBtn {
|
|
|
|
|
+ width: 60px;
|
|
|
|
|
+ height: 30px;
|
|
|
|
|
+ background: @m-blue0;
|
|
|
|
|
+ border: 0;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: @m-white0;
|
|
|
|
|
+ .rounded-corners(3px);
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: rgba(@m-blue0, 0);
|
|
|
|
|
+ color: rgba(@m-white0, 0.8);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .look {
|
|
|
|
|
+ color: @m-blue0;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ margin-left: 10px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .red {
|
|
|
|
|
+ color: @m-red1;
|
|
|
|
|
+ }
|
|
|
|
|
+ .ant-btn.minusBtn,
|
|
|
|
|
+ .ant-btn.plusBtn {
|
|
|
|
|
+ width: 26px;
|
|
|
|
|
+ height: 26px;
|
|
|
|
|
+ .inlineflex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ background: @m-blue0;
|
|
|
|
|
+ .rounded-corners(3px);
|
|
|
|
|
+ border: 0;
|
|
|
|
|
+ .anticon {
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ color: @m-white0;
|
|
|
|
|
+ align-self: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ &:hover,
|
|
|
|
|
+ &:focus {
|
|
|
|
|
+ background: rgba(@m-blue0, 0.8);
|
|
|
|
|
+ .anticon {
|
|
|
|
|
+ color: rgba(@m-white0, 0.8);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .ant-btn.plusBtn {
|
|
|
|
|
+ margin-right: 10px;
|
|
|
|
|
+ background: transparent;
|
|
|
|
|
+ border: 1px solid #3a87f7;
|
|
|
|
|
+ .anticon {
|
|
|
|
|
+ color: @m-blue0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .white {
|
|
|
|
|
+ color: @m-white0;
|
|
|
|
|
+ }
|
|
|
|
|
+ .dialogTable {
|
|
|
|
|
+ .ant-table {
|
|
|
|
|
+ .ant-table-content {
|
|
|
|
|
+ .ant-table-body {
|
|
|
|
|
+ table {
|
|
|
|
|
+ tr {
|
|
|
|
|
+ td {
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ .ant-input.dialogInput {
|
|
|
|
|
+ height: 34px;
|
|
|
|
|
+ line-height: 34px;
|
|
|
|
|
+ border: 0;
|
|
|
|
|
+ border-radius: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ .dialogSelect.ant-select-single {
|
|
|
|
|
+ float: left;
|
|
|
|
|
+ margin-right: 0;
|
|
|
|
|
+ .ant-select-selector {
|
|
|
|
|
+ padding: 0 10px;
|
|
|
|
|
+ height: 34px;
|
|
|
|
|
+ background: @m-grey21;
|
|
|
|
|
+ border: 0;
|
|
|
|
|
+ border-radius: 0;
|
|
|
|
|
+ .ant-select-selection-placeholder {
|
|
|
|
|
+ color: @m-grey10;
|
|
|
|
|
+ text-align: left;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .ant-select-arrow {
|
|
|
|
|
+ color: @m-blue0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- .ant-select-arrow {
|
|
|
|
|
- color: @m-blue0;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|