Преглед изворни кода

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP2.0_WEB

marymelisa пре 4 година
родитељ
комит
4548467248

+ 20 - 1
src/router/index.ts

@@ -248,12 +248,31 @@ const routes: Array<RouteRecordRaw> = [
             {
                 path: '/inventory',
                 name: 'inventory',
-                component: () => import('@/views/search/inventory/index.vue'),
+                component: Main,
                 meta: {
                     requireAuth: true,
                 },
+                children: [
+                    {
+                        path: '/inventory/current',
+                        name: 'inventory_current',
+                        component: () => import('@/views/search/inventory/list/inventory_current/index.vue'),
+                        meta: {
+                            requireAuth: true,
+                        },
+                    },
+                    {
+                        path: '/inventory/applyrecord',
+                        name: 'inventory_applyrecord',
+                        component: () => import('@/views/search/inventory/list/inventory_applyrecord/index.vue'),
+                        meta: {
+                            requireAuth: true,
+                        },
+                    },
+                ]
             },
 
+
             {
                 path: '/purchase',
                 name: 'purchase',

+ 119 - 116
src/views/business/purchase/components/settlement/index.vue

@@ -96,129 +96,129 @@
               ref="formRef"
               :model="formState"
               :rules="rules">
-              <a-form-item name="IsChecked">
-                <a-checkbox-group class="commonCheckboxGroup">
-                  <a-row>
-                    <a-col :span="12">
-                      <a-form-item class="relative">
-                        <template #label>
-                          <a-checkbox value="交收量" v-model:checked="checkedObj.qty" @change="()=>checkedObj.qty = !checkedObj.qty">交收量</a-checkbox>
-                        </template>
-                        <a-form-item class="relative" v-if="checkedObj.qty" name="ReckonRealQty">
-                          <a-input-number  v-model:value="formState.ReckonRealQty" class="dialogInput" style="width: 200px" placeholder="请输入交收量" suffix="单位"/>
-                          <div class="tip mt10"><span>未定价量:40吨</span><a class="blue fr">全部登记</a></div>
-                        </a-form-item>
-                        <a-form-item class="relative" v-else>
-                          <a-input-number disabled class="dialogInput" style="width: 200px" placeholder="请输入交收量" suffix="单位" />
-                          <div class="tip mt10"><span class="fl">未定价量:--吨</span><a class="blue fr">全部登记</a></div>
-                        </a-form-item>
+              <a-checkbox-group class="commonCheckboxGroup">
+                <a-row>
+                  <a-col :span="12">
+                    <a-form-item class="relative">
+                      <template #label>
+                        <a-checkbox value="交收量" v-model:checked="checkedObj.qty" @change="()=>checkedObj.qty = !checkedObj.qty">交收量</a-checkbox>
+                      </template>
+                      <a-form-item class="relative" v-if="checkedObj.qty" name="ReckonRealQty">
+                        <a-input-number  v-model:value="formState.ReckonRealQty" class="dialogInput" style="width: 200px" placeholder="请输入交收量" suffix="单位"/>
+                        <div class="tip mt10"><span>待交收量:{{selectedRow.unsureqty}}吨</span><a class="blue fr" @click="formState.ReckonRealQty=selectedRow.unsureqty">全部登记</a></div>
                       </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                      <a-form-item class="relative">
-                        <template #label>
-                            <a-checkbox value="其他费用"  v-model:checked="checkedObj.amount" @change="()=>checkedObj.amount = !checkedObj.amount">其他费用</a-checkbox>
-                        </template>
-                        <a-form-item v-if="checkedObj.amount" name="ReckonOtherAmount">
-                          <a-input-number v-model:value="formState.ReckonOtherAmount" class="dialogInput" style="width: 200px" placeholder="请输入其他费用" suffix="元"/>
-                        </a-form-item>
-                        <a-form-item v-else>
-                          <a-input-number readonly class="dialogInput" style="width: 200px" placeholder="请输入其他费用" suffix="元"/>
-                        </a-form-item>
+                      <a-form-item class="relative" v-else>
+                        <a-input-number disabled class="dialogInput" style="width: 200px" placeholder="请输入交收量" suffix="单位" />
+                        <div class="tip mt10"><span class="fl">未定价量:--吨</span><a class="blue fr">全部登记</a></div>
                       </a-form-item>
-                    </a-col>
-                    <a-col :span="12" class="mt10">
-                      <a-form-item class="relative">
-                        <template #label>
-                            <a-checkbox value="调整保证金" v-model:checked="checkedObj.margin" @change="()=>checkedObj.margin = !checkedObj.margin">调整保证金</a-checkbox>
-                        </template>
-                        <a-form-item class="relative" v-if="checkedObj.margin">
-                            <a-radio-group class="commonRadioGroup"  v-model:value="checkedObj.adjustMargin">
-                              <a-row style="width: 200px">
-                                <a-col :span="12">
-                                  <a-radio :value="1">追加</a-radio>
-                                </a-col>
-                                <a-col :span="12">
-                                  <a-radio :value="2">退还</a-radio>
-                                </a-col>
-                              </a-row>
-                            </a-radio-group>
-                        <div class="tip mt10">
-                          <a-form-item  name="AddMargin"  v-if="checkedObj.adjustMargin === 1">
-                              <a-input-number v-model:value="formState.AddMargin" class="dialogInput" style="width: 200px;" placeholder="请输入调整保证金" suffix="元"/> 
-                          </a-form-item >
-                          <a-form-item  name="DecMargin" v-else>
-                              <a-input-number  v-model:value="formState.DecMargin" class="dialogInput" style="width: 200px;" placeholder="请输入调整保证金" suffix="元" /> 
-                          </a-form-item >
-                        </div>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                    <a-form-item class="relative">
+                      <template #label>
+                          <a-checkbox value="其他费用"  v-model:checked="checkedObj.amount" @change="()=>checkedObj.amount = !checkedObj.amount">其他费用</a-checkbox>
+                      </template>
+                      <a-form-item v-if="checkedObj.amount" name="ReckonOtherAmount">
+                        <a-input-number v-model:value="formState.ReckonOtherAmount" class="dialogInput" style="width: 200px" placeholder="请输入其他费用" suffix="元"/>
+                      </a-form-item>
+                      <a-form-item v-else>
+                        <a-input-number readonly class="dialogInput" style="width: 200px" placeholder="请输入其他费用" suffix="元"/>
+                      </a-form-item>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :span="12" class="mt10">
+                    <a-form-item class="relative">
+                      <template #label>
+                          <a-checkbox value="调整保证金" v-model:checked="checkedObj.margin" @change="()=>checkedObj.margin = !checkedObj.margin">调整保证金</a-checkbox>
+                      </template>
+                      <a-form-item class="relative" v-if="checkedObj.margin">
+                          <a-radio-group class="commonRadioGroup"  v-model:value="checkedObj.adjustMargin">
+                            <a-row style="width: 200px">
+                              <a-col :span="12">
+                                <a-radio :value="1">追加</a-radio>
+                              </a-col>
+                              <a-col :span="12">
+                                <a-radio :value="2">退还</a-radio>
+                              </a-col>
+                            </a-row>
+                          </a-radio-group>
+                      <div class="tip mt10">
+                        <a-form-item  name="AddMargin"  v-if="checkedObj.adjustMargin === 1">
+                            <a-input-number v-model:value="formState.AddMargin" class="dialogInput" style="width: 200px;" placeholder="请输入调整保证金" suffix="元"/> 
                         </a-form-item >
-                        <a-form-item class="relative" v-else>
-                            <a-radio-group class="commonRadioGroup" disabled>
-                              <a-row style="width: 200px">
-                                <a-col :span="12">
-                                  <a-radio :value="1">追加</a-radio>
-                                </a-col>
-                                <a-col :span="12">
-                                  <a-radio :value="2">退还</a-radio>
-                                </a-col>
-                              </a-row>
-                            </a-radio-group>
-                        <div class="tip mt10">
-                          <a-input-number disabled class="dialogInput" style="width: 200px;" placeholder="请输入调整保证金" suffix="元"/>
-                        </div>
-                        </a-form-item>
+                        <a-form-item  name="DecMargin" v-else>
+                            <a-input-number  v-model:value="formState.DecMargin" class="dialogInput" style="width: 200px;" placeholder="请输入调整保证金" suffix="元" /> 
+                        </a-form-item >
+                      </div>
                       </a-form-item >
-                    </a-col>
-                    <a-col :span="12" class="mt10">
-                      <a-form-item class="relative">
-                        <template #label>
-                          <a-checkbox value="调整金额" v-model:checked="checkedObj.justAmount" @change="()=>checkedObj.justAmount = !checkedObj.justAmount">调整金额</a-checkbox>
-                        </template>
-                        <a-form-item class="relative" v-if="checkedObj.justAmount">
-                            <a-radio-group class="commonRadioGroup" v-model:value="checkedObj.adjustAmount">
-                              <a-row style="width: 200px">
-                                <a-col :span="12">
-                                  <a-radio :value="1">增加</a-radio>
-                                </a-col>
-                                <a-col :span="12">
-                                  <a-radio :value="2">减少</a-radio>
-                                </a-col>
-                              </a-row>
-                            </a-radio-group>
-                            <div class="tip mt10">
-                                <a-form-item  name="ReckonAdjustAmount">
-                                    <a-input-number v-model:value="checkedObj.ReckonAdjustAmount" class="dialogInput" style="width: 200px;" placeholder="请输入调整金额" suffix="元" />
-                                </a-form-item >
-                            </div>
-                        </a-form-item>
-                        <a-form-item class="relative" v-else>
+                      <a-form-item class="relative" v-else>
                           <a-radio-group class="commonRadioGroup" disabled>
                             <a-row style="width: 200px">
                               <a-col :span="12">
-                                <a-radio :value="1">加</a-radio>
+                                <a-radio :value="1">追加</a-radio>
                               </a-col>
                               <a-col :span="12">
-                                <a-radio :value="2">减少</a-radio>
+                                <a-radio :value="2">退还</a-radio>
+                              </a-col>
+                            </a-row>
+                          </a-radio-group>
+                      <div class="tip mt10">
+                        <a-input-number disabled class="dialogInput" style="width: 200px;" placeholder="请输入调整保证金" suffix="元"/>
+                      </div>
+                      </a-form-item>
+                    </a-form-item >
+                  </a-col>
+                  <a-col :span="12" class="mt10">
+                    <a-form-item class="relative">
+                      <template #label>
+                        <a-checkbox value="调整金额" v-model:checked="checkedObj.justAmount" @change="()=>checkedObj.justAmount = !checkedObj.justAmount">调整金额</a-checkbox>
+                      </template>
+                      <a-form-item class="relative" v-if="checkedObj.justAmount">
+                          <a-radio-group class="commonRadioGroup" v-model:value="checkedObj.adjustAmount">
+                            <a-row style="width: 200px">
+                              <a-col :span="12">
+                                <a-radio :value="1" @focus="()=>{formState.ReckonAdjustAmount  ?formState.ReckonAdjustAmount= Math.abs(formState.ReckonAdjustAmount):0}">增加</a-radio>
+                              </a-col>
+                              <a-col :span="12">
+                                <a-radio :value="2" @focus="()=>{formState.ReckonAdjustAmount  ?formState.ReckonAdjustAmount= -1* Math.abs(formState.ReckonAdjustAmount):0}">减少</a-radio>
                               </a-col>
                             </a-row>
                           </a-radio-group>
                           <div class="tip mt10">
-                            <a-input-number disabled class="dialogInput" style="width: 200px;" placeholder="请输入调整金额" suffix="元"/>
+                              <a-form-item  name="ReckonAdjustAmount">
+                                  <a-input-number v-model:value="formState.ReckonAdjustAmount" @change="formState.ReckonAdjustAmount= Math.abs(formState.ReckonAdjustAmount)" class="dialogInput" style="width: 200px;" placeholder="请输入调整金额" suffix="元" v-if="checkedObj.adjustAmount===1"/>
+                                  <a-input-number v-model:value="formState.ReckonAdjustAmount" @change="formState.ReckonAdjustAmount= -1*Math.abs(formState.ReckonAdjustAmount)" class="dialogInput" style="width: 200px;" placeholder="请输入调整金额" suffix="元" v-else/>
+                              </a-form-item >
                           </div>
-                        </a-form-item>
                       </a-form-item>
-                    </a-col>
-                    <a-col :span="24">
-                      <a-form-item label="备注"
-                                  class="relative mt20 pl40">
-                        <a-input class="dialogInput"
-                                        style="width: 600px"
-                                        placeholder="请输入备注信息" v-model:value="formState.Remark"/>
+                      <a-form-item class="relative" v-else>
+                        <a-radio-group class="commonRadioGroup" disabled>
+                          <a-row style="width: 200px">
+                            <a-col :span="12">
+                              <a-radio :value="1">增加</a-radio>
+                            </a-col>
+                            <a-col :span="12">
+                              <a-radio :value="2">减少</a-radio>
+                            </a-col>
+                          </a-row>
+                        </a-radio-group>
+                        <div class="tip mt10">
+                          <a-input-number disabled class="dialogInput" style="width: 200px;" placeholder="请输入调整金额" suffix="元"/>
+                        </div>
                       </a-form-item>
-                    </a-col>
-                  </a-row>
-                </a-checkbox-group>
-              </a-form-item>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-item label="备注"
+                                class="relative mt20 pl40">
+                      <a-input class="dialogInput"
+                                      style="width: 600px"
+                                      placeholder="请输入备注信息" v-model:value="formState.Remark"/>
+                    </a-form-item>
+                  </a-col>
+                </a-row>
+              </a-checkbox-group>
+              <a-form-item name="IsChecked"></a-form-item>
       </a-form>
     </fieldset>
   </a-modal>
@@ -246,19 +246,22 @@ export default defineComponent({
     setup(props, context) {
         const { visible, cancel } = closeModal('purchase_pending_settlement');
         const loading = ref<boolean>(false);
-
         const { rules, formState, formRef, checkedObj } = handleForm();
-
         function submit() {
             const wrapEl = unref(formRef);
-            wrapEl.validate().then(() => {
+            wrapEl.validate().then((nameList:any) => {
+                delete nameList.IsChecked;
                 loading.value = true;
-                const params: SettlementReq = {
-                    ReckonRealQty: 10, // 交收量
-                    ReckonOtherAmount: 11, // 其它费用
-                    AddMargin: 12, // 追加保证金
-                    // DecMargin: number // 减少保证金
-                    ReckonAdjustAmount: 13, // 调整金额 +-代表增减
+                const params: SettlementReq = checkedObj.value.adjustMargin === 1?{
+                    ReckonRealQty: formState.ReckonRealQty!, // 交收量
+                    ReckonOtherAmount: formState.ReckonOtherAmount!, // 其它费用
+                    AddMargin: formState.AddMargin!, // 追加保证金
+                    ReckonAdjustAmount: checkedObj.value.adjustAmount === 1 ? formState.ReckonRealQty! : -1*formState.ReckonRealQty!, // 调整金额 +-代表增减
+                }:{
+                    ReckonRealQty: formState.ReckonRealQty!, // 交收量
+                    ReckonOtherAmount: formState.ReckonOtherAmount!, // 其它费用
+                    DecMargin: formState.DecMargin!, // 减少保证金
+                    ReckonAdjustAmount: checkedObj.value.adjustAmount === 1 ? formState.ReckonRealQty! : -1*formState.ReckonRealQty!, // 调整金额 +-代表增减
                 };
                 // 发出交收请求
                 settlementReq(props.selectedRow.spotcontractid, params, loading)

+ 14 - 7
src/views/business/purchase/components/settlement/setup.ts

@@ -10,7 +10,7 @@ export function handleForm() {
         AddMargin?: number | null // 追加保证金
         DecMargin?: number | null // 减少保证金
         ReckonAdjustAmount?: number | null // 调整金额
-        Remark: string
+        Remark?: string
     }
     // 是否选中数据
     // const checkedObj = reactive({
@@ -45,6 +45,13 @@ export function handleForm() {
         adjustAmount: 1,// 调整金额
     })
     const validateIsChecked = ()=>{
+        if (formState.ReckonAdjustAmount && Math.abs(formState.ReckonAdjustAmount)) {
+            return Promise.resolve();
+        } else {
+            return Promise.reject('请输入正确的值');
+        }
+    }
+    const validateAmount = ()=>{
         if (checkedObj.value.qty || checkedObj.value.amount || checkedObj.value.margin || checkedObj.value.justAmount) {
             return Promise.resolve();
         } else {
@@ -52,12 +59,12 @@ export function handleForm() {
         }
     }
     const rules = {
-        IsChecked: [{ required: true, validator: validateIsChecked }],
-        ReckonRealQty: [{ required: true, message: '请输入交收量', trigger: 'blur', type: 'number' }],
-        ReckonOtherAmount: [{ required: true, message: '请输入其它费用', trigger: 'blur', type: 'number' }],
-        AddMargin: [{ required: true, message: '请输入追加保证金', trigger: 'blur', type: 'number' }],
-        DecMargin: [{ required: true, message: '请输入减少保证金', trigger: 'blur', type: 'number' }],
-        ReckonAdjustAmount: [{ required: true, message: '请输入调整金额', trigger: 'blur', type: 'number' }],
+        IsChecked: [{ required: true, validator: validateAmount }],
+        ReckonRealQty: [{ required: true, validator: validateIsChecked, trigger: 'blur', type: 'number' }],
+        ReckonOtherAmount: [{ required: true, validator: validateIsChecked, trigger: 'blur', type: 'number' }],
+        AddMargin: [{ required: true, validator: validateIsChecked, trigger: 'blur', type: 'number' }],
+        DecMargin: [{ required: true, validator: validateIsChecked, trigger: 'blur', type: 'number' }],
+        ReckonAdjustAmount: [{ required: true, validator: validateIsChecked, trigger: 'blur', type: 'number' }],
     }
     return { rules, formState, formRef, checkedObj }
 }

+ 63 - 0
src/views/search/inventory/components/add/index.vue

@@ -0,0 +1,63 @@
+<template>
+  <!-- 新增现货合同 -->
+  <a-modal class="commonModal add-spot-contract"
+           title="新增现货合同"
+           v-model:visible="visible"
+           centered
+           :maskClosable="maskClosableFlag"
+           @cancel="cancel"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                @click="submit(1)">保存草稿</a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                @click="submit(2)">提交审核</a-button>
+    </template>
+
+  </a-modal>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, ref, toRaw } from 'vue';
+import { closeModal } from '@/common/setup/modal/index';
+import { initData } from '@/common/methods';
+
+import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
+
+export default defineComponent({
+    name: 'add-spot-contract',
+    components: {},
+    props: {
+        selectedRow: {
+            type: Object as PropType<Ermcp3ContractRsp>,
+            default: {},
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = closeModal('spot_contract_btn_add');
+
+        const loading = ref<boolean>(false);
+
+        function submit(OperateType: 1 | 2) {
+            cancel();
+        }
+
+        initData(() => {});
+        return {
+            visible,
+            cancel,
+            submit,
+            loading,
+            maskClosableFlag: false,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+.add-spot-contract {
+}
+</style>;

+ 69 - 0
src/views/search/inventory/components/filterTable/index.vue

@@ -0,0 +1,69 @@
+<template>
+  <!-- 过滤客户资料表格 -->
+  <div class="filterTable">
+    <FilterOption :selectList="selectList"
+                  :inputList="inputList"
+                  :fixedBtnList="fixedBtnList" />
+    <slot></slot>
+  </div>
+</template>
+
+<script lang="ts">
+import FilterOption from '@/common/components/filter/index.vue';
+import { defineComponent } from 'vue';
+import { handleFilter, InputList, SelectList } from '@/common/setup/filter';
+export default defineComponent({
+    name: 'filter-spot-contract-table',
+    components: { FilterOption },
+    setup(props, context) {
+        const select: SelectList[] = [
+            {
+                value: undefined,
+                key: 'contracttype',
+                placeholder: '全部现货品种',
+                list: [
+                    { value: 1, lable: '采购' },
+                    { value: -1, lable: '销售' },
+                ],
+            },
+            {
+                value: undefined,
+                key: 'pricetype',
+                placeholder: '全部品类',
+                list: [
+                    { value: 1, lable: '一口价' },
+                    { value: 2, lable: '点价' },
+                    { value: 3, lable: '暂定价' },
+                ],
+            },
+            {
+                value: undefined,
+                key: 'pricetype',
+                placeholder: '全部品牌',
+                list: [
+                    { value: 1, lable: '一口价' },
+                    { value: 2, lable: '点价' },
+                    { value: 3, lable: '暂定价' },
+                ],
+            },
+            {
+                value: undefined,
+                key: 'pricetype',
+                placeholder: '全部仓库',
+                list: [
+                    { value: 1, lable: '一口价' },
+                    { value: 2, lable: '点价' },
+                    { value: 3, lable: '暂定价' },
+                ],
+            },
+        ];
+        const input: InputList[] = [];
+        return {
+            ...handleFilter(select, input, context),
+        };
+    },
+});
+</script>
+
+<style lang="less">
+</style>;

+ 111 - 0
src/views/search/inventory/list/inventory_applyrecord/index.vue

@@ -0,0 +1,111 @@
+<template>
+  <!-- 现货合同: 待审核-->
+  <div class="inventory_current"
+       :loading="loading">
+    <Filter @search="search">
+      <BtnList :btnList="commonBtn" />
+    </Filter>
+    <contextMenu :contextMenuList="forDataBtn">
+      <a-table :columns="columns"
+               class="topTable hiddenFirstCol"
+               :pagination="false"
+               rowKey="key"
+               :expandedRowKeys="expandedRowKeys"
+               :customRow="Rowclick"
+               :data-source="tableList">
+        <!-- 额外的展开行 -->
+        <template #expandedRowRender="{  }">
+          <BtnList :btnList="forDataBtn" />
+        </template>
+        <!-- <template #userinfotype="{ text }">
+                  <a>{{ text === '2' ? '企业' : '个人'}}</a>
+                </template> -->
+
+        <template #biztype="{ text }">
+          <a>{{ getBizTypeName(text) }}</a>
+        </template>
+
+        <template #pricetype="{ text }">
+          <a>{{ getPriceTypeName(text) }}</a>
+        </template>
+
+        <template #contracctstatus="{ text }">
+          <a>{{ getContractStatusName(text) }}</a>
+        </template>
+
+        <template #contracttype="{ text }">
+          <a>{{ getContractTypeName(text) }}</a>
+        </template>
+
+      </a-table>
+    </contextMenu>
+    <!-- 现货合同: 审核 -->
+    <Add :selectedRow="selectedRow"
+         @refresh="queryTable" />
+  </div>
+</template>
+
+<script lang="ts">
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import Filter from '../../components/filterTable/index.vue';
+import Add from '../../components/add/index.vue';
+
+import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
+import { Ermcp3ContractRsp, queryTableList } from '@/views/information/spot-contract/list';
+
+export default defineComponent({
+    name: 'inventory_current',
+    components: {
+        Filter,
+        contextMenu,
+        Add,
+        BtnList,
+    },
+    setup() {
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3ContractRsp>({});
+        // 表格操作按钮列表
+        const { commonBtn, forDataBtn } = getBtnList('inventory_current', true);
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(2);
+
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
+
+        initData(() => {
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            // registerColumn('table_pcweb_delivery', getFilterTableCB);
+        });
+        return {
+            columns,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
+            commonBtn,
+            forDataBtn,
+            loading,
+            tableList,
+            search,
+            queryTable,
+            getBizTypeName,
+            getPriceTypeName,
+            getContractStatusName,
+            getContractTypeName,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+.inventory_current {
+}
+</style>;

+ 111 - 0
src/views/search/inventory/list/inventory_current/index.vue

@@ -0,0 +1,111 @@
+<template>
+  <!-- 现货合同: 待审核-->
+  <div class="inventory_current"
+       :loading="loading">
+    <Filter @search="search">
+      <BtnList :btnList="commonBtn" />
+    </Filter>
+    <contextMenu :contextMenuList="forDataBtn">
+      <a-table :columns="columns"
+               class="topTable hiddenFirstCol"
+               :pagination="false"
+               rowKey="key"
+               :expandedRowKeys="expandedRowKeys"
+               :customRow="Rowclick"
+               :data-source="tableList">
+        <!-- 额外的展开行 -->
+        <template #expandedRowRender="{  }">
+          <BtnList :btnList="forDataBtn" />
+        </template>
+        <!-- <template #userinfotype="{ text }">
+                  <a>{{ text === '2' ? '企业' : '个人'}}</a>
+                </template> -->
+
+        <template #biztype="{ text }">
+          <a>{{ getBizTypeName(text) }}</a>
+        </template>
+
+        <template #pricetype="{ text }">
+          <a>{{ getPriceTypeName(text) }}</a>
+        </template>
+
+        <template #contracctstatus="{ text }">
+          <a>{{ getContractStatusName(text) }}</a>
+        </template>
+
+        <template #contracttype="{ text }">
+          <a>{{ getContractTypeName(text) }}</a>
+        </template>
+
+      </a-table>
+    </contextMenu>
+    <!-- 现货合同: 审核 -->
+    <Add :selectedRow="selectedRow"
+         @refresh="queryTable" />
+  </div>
+</template>
+
+<script lang="ts">
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import Filter from '../../components/filterTable/index.vue';
+import Add from '../../components/add/index.vue';
+
+import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
+import { Ermcp3ContractRsp, queryTableList } from '@/views/information/spot-contract/list';
+
+export default defineComponent({
+    name: 'inventory_current',
+    components: {
+        Filter,
+        contextMenu,
+        Add,
+        BtnList,
+    },
+    setup() {
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3ContractRsp>({});
+        // 表格操作按钮列表
+        const { commonBtn, forDataBtn } = getBtnList('inventory_current', true);
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(2);
+
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
+
+        initData(() => {
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            // registerColumn('table_pcweb_delivery', getFilterTableCB);
+        });
+        return {
+            columns,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
+            commonBtn,
+            forDataBtn,
+            loading,
+            tableList,
+            search,
+            queryTable,
+            getBizTypeName,
+            getPriceTypeName,
+            getContractStatusName,
+            getContractTypeName,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+.inventory_current {
+}
+</style>;