li.shaoyi 4 years ago
parent
commit
1408e45254

+ 3 - 18
src/views/information/custom/compoments/delete/index.vue

@@ -1,17 +1,8 @@
 <template>
   <!-- 删除客户资料-->
-  <a-modal class="commonModal recover-custom"
-           title="删除客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           centered
-           width="890px">
+  <a-modal class="commonModal recover-custom" title="删除客户资料" v-model:visible="visible" @cancel="cancel" centered width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                :disabled="loading"
-                @click="submit">删除客户资料 </a-button>
+      <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">删除客户资料 </a-button>
     </template>
     <Detail :selectedRow="selectedRow" />
   </a-modal>
@@ -65,10 +56,4 @@ export default defineComponent({
         };
     },
 });
-</script>
-
-<style lang="less">
-.recover-custom {
-}
-</style
->;
+</script>

+ 253 - 244
src/views/information/spot-contract/components/add/index.vue

@@ -1,246 +1,249 @@
 <template>
-    <!-- 新增现货合同 -->
-    <a-modal class="commonModal add-spot-contract" title="新增现货合同" v-model:visible="visible" centered :maskClosable="false" @cancel="closeAction" width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">保存草稿</a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit(2)">提交审核</a-button>
-        </template>
-        <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
-            <fieldset class="formFieldSet">
-                <legend>基本信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="合同编号" name="ContractNo">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.ContractNo" placeholder="请输入合同编号" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="合同类型" name="ContractType">
-                            <a-select class="inlineFormSelect" style="width: 200px" @change="contractChange" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.ContractType" placeholder="请选择合同类型">
-                                <a-select-option v-for="item in contractType" :key="item.key" :value="item.key">
-                                    {{ item.value }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="业务类型" name="BizType">
-                            <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.BizType" placeholder="请选择业务类型">
-                                <a-select-option v-for="item in businessType" :key="item.key" :value="item.key">
-                                    {{ item.value }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="isSell">
-                        <a-col :span="12">
-                            <a-form-item label="采购方" name="BuyUserID">
-                                <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.BuyUserID" placeholder="请选择客户">
-                                    <!-- 客户资料列表 正常 -->
-                                    <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
-                                        {{ item.customername }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="销售方">
-                                <span class="white">{{ getRootUserInfo().accountname }}</span>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <template v-else>
-                        <a-col :span="12">
-                            <a-form-item label="采购方">
-                                <span class="white">{{ getRootUserInfo().accountname }}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="销售方" name="SellUserID">
-                                <a-select class="inlineFormSelect" v-model:value="formState.SellUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择客户">
-                                    <!-- 客户资料列表 正常 -->
-                                    <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
-                                        {{ item.customername }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :span="12">
-                        <a-form-item label="合同附件" class="checkboxGroupItem" name="ContractAttachment">
-                            <UploadImg :visible="visible" @upload="uploadImgAction" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="交易主体" name="SubjectID">
-                            <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SubjectID" placeholder="请选择主体">
-                                <a-select-option :value="item.subjectid" v-for="item in subjectList" :key="item.subjectid">
-                                    {{ item.subjectname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-            <fieldset class="formFieldSet">
-                <legend>现货信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="现货品种" name="DeliveryGoodsID">
-                            <a-select class="inlineFormSelect" style="width: 200px" @change="deliveryGoodsChange" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.DeliveryGoodsID" placeholder="请选择现货品种">
-                                <a-select-option v-for="item in deliveryGoodsList" :key="item.deliverygoodsid" :value="item.deliverygoodsid">
-                                    {{ item.deliverygoodsname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="商品" name="WrStandardID">
-                            <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" @change="WrStandardChange" v-model:value="formState.WrStandardID" placeholder="请选择商品">
-                                <a-select-option v-for="item in gmlist" :key="item.wrstandardid" :value="item.wrstandardid">
-                                    {{ item.wrstandardname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="品牌" name="SpotGoodsBrandID">
-                            <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.SpotGoodsBrandID" placeholder="请选择品牌">
-                                <a-select-option v-for="item in gblist" :key="item.brandid" :value="item.brandid">
-                                    {{ item.brandname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="商品规格" name="SpotGoodsDesc">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.SpotGoodsDesc" placeholder="请输入商品规格" />
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-            <fieldset class="formFieldSet">
-                <legend>价格信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="定价类型" name="PriceType">
-                            <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.PriceType" placeholder="请选择定价类型">
-                                <a-select-option v-for="item in priceType" :key="item.key" :value="item.key">
-                                    {{ item.value }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="结算币种" name="CurrencyID">
-                            <a-select class="inlineFormSelect" v-model:value="formState.CurrencyID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择结算币种">
-                                <a-select-option v-for="item in payCurrency" :key="item.enumitemname" :value="item.enumitemname">
-                                    {{ item.enumdicname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="数量" name="Qty">
-                            <a-input class="dialogInput suffixGrey" v-model:value="formState.Qty" style="width: 200px" @change="getAmout" placeholder="请输入数量" :suffix="numberUnit" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12" v-if="formState.PriceType === 3">
-                        <a-form-item label="暂定价">
-                            <a-input class="dialogInput suffixGrey" style="width: 200px" :suffix="payCurrencyUnit" placeholder="请输入暂定价" />
-                        </a-form-item>
-                    </a-col>
-                    <!-- 以下是点价的价格信息 start -->
-                    <template v-if="formState.PriceType === 2 || formState.PriceType === 3">
-                        <a-col :span="12">
-                            <a-form-item label="点价合约" name="GoodsID">
-                                <a-select class="inlineFormSelect" v-model:value="formState.GoodsID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择点价合约">
-                                    <a-select-option v-for="item in goodsList" :key="item.goodsid" :value="item.goodsid">
-                                        {{ item.goodsname }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="升贴水" name="PriceMove">
-                                <a-input-number class="dialogInput suffixGrey" v-model:value="formState.PriceMove" placeholder="请输入升贴水" :min="0" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="点价期">
-                                <a-range-picker v-model:value="priceDate" class="commonPicker" :disabled-date="disabledDate" style="width: 200px" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="交收期">
-                                <a-range-picker v-model:value="deliveryDate" class="commonPicker" style="width: 200px" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <!-- 以上是点价的价格信息 end -->
-                    <template v-if="formState.PriceType === 1">
-                        <a-col :span="12">
-                            <a-form-item label="价格" name="Price">
-                                <a-input class="dialogInput suffixGrey" v-model:value="formState.Price" @change="getAmout" placeholder="请输入价格" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="金额" class="relative" name="Amount">
-                                <a-input class="dialogInput suffixGrey" v-model:value="formState.Amount" readonly placeholder="输入数量和价格后自动算" :suffix="payCurrencyUnit" style="width: 200px" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="交收期">
-                                <a-range-picker v-model:value="deliveryDate" style="width: 200px" class="commonPicker" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                </a-row>
-            </fieldset>
-            <fieldset class="formFieldSet">
-                <legend>其他信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="保证金" name="ContractMargin">
-                            <a-input class="dialogInput suffixGrey" placeholder="请输入保证金" v-model:value="formState.ContractMargin" style="width: 200px" :suffix="payCurrencyUnit" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="业务员" name="SaleUserID">
-                            <a-select class="inlineFormSelect" v-model:value="formState.SaleUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择业务员">
-                                <a-select-option v-for="item in businesserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="跟单员" name="MerUserID">
-                            <a-select class="inlineFormSelect" v-model:value="formState.MerUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择跟单员">
-                                <a-select-option v-for="item in merchandiserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="交易用户" name="TradeUserID">
-                            <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.TradeUserID" placeholder="请选择交易用户">
-                                <a-select-option v-for="item in traderList" :key="item.roleid" :value="item.roleid">
-                                    {{ item.rolename }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-                <a-row :gutter="24">
-                    <a-col :span="24">
-                        <a-form-item label="备注" name="Remark">
-                            <a-input class="dialogInput" style="width: 608px" v-model:value="formState.Remark" placeholder="请输入备注" />
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-        </a-form>
-    </a-modal>
+  <!-- 新增合同 -->
+  <a-modal class="commonModal add-spot-contract" :title="formState.ContractType === 1 ? '新增现货合同' : '新增销售合同'" v-model:visible="visible" centered :maskClosable="false" @cancel="closeAction" width="890px">
+    <template #footer>
+      <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">保存草稿</a-button>
+      <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit(2)">提交审核</a-button>
+    </template>
+    <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
+      <fieldset class="formFieldSet">
+        <legend>基本信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="合同编号" name="ContractNo">
+              <a-input class="dialogInput" style="width: 200px" v-model:value="formState.ContractNo" placeholder="请输入合同编号" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <!-- <a-form-item label="合同类型" name="ContractType">
+              <a-select class="inlineFormSelect" style="width: 200px" @change="contractChange" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.ContractType" placeholder="请选择合同类型">
+                <a-select-option v-for="item in contractType" :key="item.key" :value="item.key">
+                  {{ item.value }}
+                </a-select-option>
+              </a-select>
+            </a-form-item> -->
+            <a-form-item label="合同类型">
+              <span class="white">{{ getContractTypeName(formState.ContractType) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="业务类型" name="BizType">
+              <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.BizType" placeholder="请选择业务类型">
+                <a-select-option v-for="item in businessType" :key="item.key" :value="item.key">
+                  {{ item.value }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <template v-if="isSell">
+            <a-col :span="12">
+              <a-form-item label="采购方" name="BuyUserID">
+                <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.BuyUserID" placeholder="请选择客户">
+                  <!-- 客户资料列表 正常 -->
+                  <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
+                    {{ item.customername }}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="销售方">
+                <span class="white">{{ getRootUserInfo().accountname }}</span>
+              </a-form-item>
+            </a-col>
+          </template>
+          <template v-else>
+            <a-col :span="12">
+              <a-form-item label="采购方">
+                <span class="white">{{ getRootUserInfo().accountname }}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="销售方" name="SellUserID">
+                <a-select class="inlineFormSelect" v-model:value="formState.SellUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择客户">
+                  <!-- 客户资料列表 正常 -->
+                  <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
+                    {{ item.customername }}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+          </template>
+          <a-col :span="12">
+            <a-form-item label="合同附件" class="checkboxGroupItem" name="ContractAttachment">
+              <UploadImg :visible="visible" @upload="uploadImgAction" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="交易主体" name="SubjectID">
+              <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SubjectID" placeholder="请选择主体">
+                <a-select-option :value="item.subjectid" v-for="item in subjectList" :key="item.subjectid">
+                  {{ item.subjectname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>现货信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="现货品种" name="DeliveryGoodsID">
+              <a-select class="inlineFormSelect" style="width: 200px" @change="deliveryGoodsChange" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.DeliveryGoodsID" placeholder="请选择现货品种">
+                <a-select-option v-for="item in deliveryGoodsList" :key="item.deliverygoodsid" :value="item.deliverygoodsid">
+                  {{ item.deliverygoodsname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="商品" name="WrStandardID">
+              <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" @change="WrStandardChange" v-model:value="formState.WrStandardID" placeholder="请选择商品">
+                <a-select-option v-for="item in gmlist" :key="item.wrstandardid" :value="item.wrstandardid">
+                  {{ item.wrstandardname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="品牌" name="SpotGoodsBrandID">
+              <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.SpotGoodsBrandID" placeholder="请选择品牌">
+                <a-select-option v-for="item in gblist" :key="item.brandid" :value="item.brandid">
+                  {{ item.brandname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="商品规格" name="SpotGoodsDesc">
+              <a-input class="dialogInput" style="width: 200px" v-model:value="formState.SpotGoodsDesc" placeholder="请输入商品规格" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>价格信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="定价类型" name="PriceType">
+              <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.PriceType" placeholder="请选择定价类型">
+                <a-select-option v-for="item in priceType" :key="item.key" :value="item.key">
+                  {{ item.value }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="结算币种" name="CurrencyID">
+              <a-select class="inlineFormSelect" v-model:value="formState.CurrencyID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择结算币种">
+                <a-select-option v-for="item in payCurrency" :key="item.enumitemname" :value="item.enumitemname">
+                  {{ item.enumdicname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="数量" name="Qty">
+              <a-input class="dialogInput suffixGrey" v-model:value="formState.Qty" style="width: 200px" @change="getAmout" placeholder="请输入数量" :suffix="numberUnit" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12" v-if="formState.PriceType === 3">
+            <a-form-item label="暂定价">
+              <a-input class="dialogInput suffixGrey" style="width: 200px" :suffix="payCurrencyUnit" placeholder="请输入暂定价" />
+            </a-form-item>
+          </a-col>
+          <!-- 以下是点价的价格信息 start -->
+          <template v-if="formState.PriceType === 2 || formState.PriceType === 3">
+            <a-col :span="12">
+              <a-form-item label="点价合约" name="GoodsID">
+                <a-select class="inlineFormSelect" v-model:value="formState.GoodsID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择点价合约">
+                  <a-select-option v-for="item in goodsList" :key="item.goodsid" :value="item.goodsid">
+                    {{ item.goodsname }}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="升贴水" name="PriceMove">
+                <a-input-number class="dialogInput suffixGrey" v-model:value="formState.PriceMove" placeholder="请输入升贴水" :min="0" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="点价期">
+                <a-range-picker v-model:value="priceDate" class="commonPicker" :disabled-date="disabledDate" style="width: 200px" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="交收期">
+                <a-range-picker v-model:value="deliveryDate" class="commonPicker" style="width: 200px" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
+              </a-form-item>
+            </a-col>
+          </template>
+          <!-- 以上是点价的价格信息 end -->
+          <template v-if="formState.PriceType === 1">
+            <a-col :span="12">
+              <a-form-item label="价格" name="Price">
+                <a-input class="dialogInput suffixGrey" v-model:value="formState.Price" @change="getAmout" placeholder="请输入价格" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="金额" class="relative" name="Amount">
+                <a-input class="dialogInput suffixGrey" v-model:value="formState.Amount" readonly placeholder="输入数量和价格后自动算" :suffix="payCurrencyUnit" style="width: 200px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="交收期">
+                <a-range-picker v-model:value="deliveryDate" style="width: 200px" class="commonPicker" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
+              </a-form-item>
+            </a-col>
+          </template>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>其他信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="保证金" name="ContractMargin">
+              <a-input class="dialogInput suffixGrey" placeholder="请输入保证金" v-model:value="formState.ContractMargin" style="width: 200px" :suffix="payCurrencyUnit" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="业务员" name="SaleUserID">
+              <a-select class="inlineFormSelect" v-model:value="formState.SaleUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择业务员">
+                <a-select-option v-for="item in businesserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="跟单员" name="MerUserID">
+              <a-select class="inlineFormSelect" v-model:value="formState.MerUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择跟单员">
+                <a-select-option v-for="item in merchandiserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="交易用户" name="TradeUserID">
+              <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.TradeUserID" placeholder="请选择交易用户">
+                <a-select-option v-for="item in traderList" :key="item.roleid" :value="item.roleid">
+                  {{ item.rolename }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item label="备注" name="Remark">
+              <a-input class="dialogInput" style="width: 608px" v-model:value="formState.Remark" placeholder="请输入备注" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+    </a-form>
+  </a-modal>
 </template>
 
 <script lang="ts">
@@ -260,6 +263,7 @@ import { handlerManagerList } from '@/common/setup/user';
 import { getUploadImg } from '@/common/setup/upload';
 import UploadImg from '@/common/components/uploadImg/index.vue';
 import { _closeModal } from '@/common/setup/modal/modal';
+import { getContractTypeName } from '@/common/constants/enumsName';
 
 export default defineComponent({
     name: 'add-spot-contract',
@@ -270,6 +274,10 @@ export default defineComponent({
             type: Object as PropType<Ermcp3ContractRsp>,
             default: {},
         },
+        contractType: {
+            type: Number,
+            required: true,
+        },
     },
     setup(props, context) {
         const { visible, cancel } = _closeModal(context);
@@ -278,13 +286,13 @@ export default defineComponent({
 
         // 表单
         const formRef = ref();
-        const { formState, businessType, initFormData } = handleFromState();
+        const { formState, businessType, initFormData } = handleFromState(props.contractType);
         const { rules } = handleFormRule(formState);
         // 合同类型
         const { contractType, isSell, contractChange, customList, queryCustomList } = handleContract(formState);
 
         //  处理现货商品
-        const { deliveryGoodsList,goodsList, gblist, gmlist, numberUnit, WrStandardChange, getDeliveryGoods, deliveryGoodsChange } = handleDeliveryGoods(formState);
+        const { deliveryGoodsList, goodsList, gblist, gmlist, numberUnit, WrStandardChange, getDeliveryGoods, deliveryGoodsChange } = handleDeliveryGoods(formState);
         // 价格信息
         const { priceType, payCurrency, payCurrencyUnit, parCurrencyChange } = handlePrice(formState);
         // 日期
@@ -388,6 +396,7 @@ export default defineComponent({
             uploadImgAction,
             getRootUserInfo,
             subjectList,
+            getContractTypeName,
         };
     },
 });

+ 248 - 244
src/views/information/spot-contract/components/modify/index.vue

@@ -1,248 +1,248 @@
 <template>
-    <!-- 重新提交现货合同-->
-    <a-modal class="commonModal modify-custom" title="重新提交现货合同" v-if="visible" v-model:visible="visible" @cancel="cancel" centered width="890px">
-        <template #footer>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">完成</a-button>
-        </template>
-        <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
-            <fieldset class="formFieldSet">
-                <legend>基本信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="合同编号" name="ContractNo">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.ContractNo" placeholder="请输入合同编号" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="合同类型" name="ContractType">
-                            <a-select class="inlineFormSelect" style="width: 200px" @change="contractChange" v-model:value="formState.ContractType" placeholder="请选择合同类型">
-                                <a-select-option v-for="item in contractType" :key="item.key" :value="item.key">
-                                    {{ item.value }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="业务类型" name="BizType">
-                            <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.BizType" placeholder="请选择业务类型">
-                                <a-select-option v-for="item in businessType" :key="item.key" :value="item.key">
-                                    {{ item.value }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="isSell">
-                        <a-col :span="12">
-                            <a-form-item label="采购方" name="BuyUserID">
-                                <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.BuyUserID" placeholder="请选择客户">
-                                    <!-- 客户资料列表 正常 -->
-                                    <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
-                                        {{ item.customername }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="销售方">
-                                <span class="white">{{ getUserName() }}</span>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <template v-else>
-                        <a-col :span="12">
-                            <a-form-item label="采购方">
-                                <span class="white">{{ getUserName() }}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="销售方" name="SellUserID">
-                                <a-select class="inlineFormSelect" v-model:value="formState.SellUserID" style="width: 200px" placeholder="请选择客户">
-                                    <!-- 客户资料列表 正常 -->
-                                    <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
-                                        {{ item.customername }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :span="12">
-                        <a-form-item label="合同附件" name="ContractAttachment">
-                            <UploadImg :visible="visible" :imgList="uploadImgList" @upload="uploadImgAction" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="交易主体" name="SubjectID">
-                            <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SubjectID" placeholder="请选择主体">
-                                <a-select-option :value="item.subjectid" v-for="item in subjectList" :key="item.subjectid">
-                                    {{ item.subjectname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-            <fieldset class="formFieldSet">
-                <legend>现货信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="现货品种" name="DeliveryGoodsID">
-                            <a-select class="inlineFormSelect" style="width: 200px" @change="deliveryGoodsChange" v-model:value="formState.DeliveryGoodsID" placeholder="请选择现货品种">
-                                <a-select-option v-for="item in deliveryGoodsList" :key="item.deliverygoodsid" :value="item.deliverygoodsid">
-                                    {{ item.deliverygoodsname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="商品" name="WrStandardID">
-                            <a-select class="inlineFormSelect" style="width: 200px" @change="WrStandardChange" v-model:value="formState.WrStandardID" placeholder="请选择商品">
-                                <a-select-option v-for="item in gmlist" :key="item.wrstandardid" :value="item.wrstandardid">
-                                    {{ item.wrstandardname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="品牌" name="SpotGoodsBrandID">
-                            <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SpotGoodsBrandID" placeholder="请选择品牌">
-                                <a-select-option v-for="item in gblist" :key="item.brandid" :value="item.brandid">
-                                    {{ item.brandname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="商品规格" name="SpotGoodsDesc">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.SpotGoodsDesc" placeholder="请输入商品规格" />
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-            <fieldset class="formFieldSet">
-                <legend>价格信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="定价类型" name="PriceType">
-                            <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.PriceType" placeholder="请选择定价类型">
-                                <a-select-option v-for="item in priceType" :key="item.key" :value="item.key">
-                                    {{ item.value }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="结算币种" name="CurrencyID">
-                            <a-select class="inlineFormSelect" v-model:value="formState.CurrencyID" style="width: 200px" placeholder="请选择结算币种">
-                                <a-select-option v-for="item in payCurrency" :key="item.enumitemname" :value="item.enumitemname">
-                                    {{ item.enumdicname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="数量" name="Qty">
-                            <a-input class="dialogInput suffixGrey" v-model:value="formState.Qty" style="width: 200px" @change="getAmout" placeholder="请输入数量" :suffix="numberUnit" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12" v-if="formState.PriceType === 3">
-                        <a-form-item label="暂定价">
-                            <a-input class="dialogInput suffixGrey" style="width: 200px" :suffix="payCurrencyUnit" placeholder="请输入暂定价" />
-                        </a-form-item>
-                    </a-col>
-                    <!-- 以下是点价的价格信息 start -->
-                    <template v-if="formState.PriceType === 2 || formState.PriceType === 3">
-                        <a-col :span="12">
-                            <a-form-item label="点价合约" name="GoodsID">
-                                <a-select class="inlineFormSelect" v-model:value="formState.GoodsID" style="width: 200px" placeholder="请选择点价合约">
-                                    <a-select-option v-for="item in goodsList" :key="item.goodsid" :value="item.goodsid">
-                                        {{ item.goodsname }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="升贴水" name="PriceMove">
-                                <a-input-number class="dialogInput suffixGrey" v-model:value="formState.PriceMove" placeholder="请输入升贴水" :min="0" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="点价期">
-                                <a-range-picker v-model:value="priceDate" class="commonPicker" :disabled-date="disabledDate" style="width: 200px" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="交收期">
-                                <a-range-picker v-model:value="deliveryDate" class="commonPicker" style="width: 200px" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <!-- 以上是点价的价格信息 end -->
-                    <template v-if="formState.PriceType === 1">
-                        <a-col :span="12">
-                            <a-form-item label="价格" name="Price">
-                                <a-input class="dialogInput suffixGrey" v-model:value="formState.Price" @change="getAmout" placeholder="请输入价格" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="金额" class="relative" name="Amount">
-                                <a-input class="dialogInput suffixGrey" v-model:value="formState.Amount" readonly placeholder="输入数量和价格后自动算" :suffix="payCurrencyUnit" style="width: 200px" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="交收期">
-                                <a-range-picker v-model:value="deliveryDate" style="width: 200px" class="commonPicker" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                </a-row>
-            </fieldset>
-            <fieldset class="formFieldSet">
-                <legend>其他信息</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="保证金" name="ContractMargin">
-                            <a-input class="dialogInput suffixGrey" placeholder="请输入保证金" v-model:value="formState.ContractMargin" style="width: 200px" :suffix="payCurrencyUnit" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="业务员" name="SaleUserID">
-                            <a-select class="inlineFormSelect" v-model:value="formState.SaleUserID" style="width: 200px" placeholder="请选择业务员">
-                                <a-select-option v-for="item in businesserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="跟单员" name="MerUserID">
-                            <a-select class="inlineFormSelect" v-model:value="formState.MerUserID" style="width: 200px" placeholder="请选择跟单员">
-                                <a-select-option v-for="item in merchandiserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="交易用户" name="TradeUserID">
-                            <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.TradeUserID" placeholder="请选择期货账户">
-                                <a-select-option v-for="item in traderList" :key="item.roleid" :value="item.roleid">
-                                    {{ item.rolename }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-                <a-row :gutter="24">
-                    <a-col :span="24">
-                        <a-form-item label="备注" name="Remark">
-                            <a-input class="dialogInput" style="width: 608px" v-model:value="formState.Remark" placeholder="请输入备注" />
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-        </a-form>
-        <a-modal :visible="previewVisible" :footer="null" @cancel="cancelImg">
-            <img alt="预览附件" style="width: 100%" :src="previewImage" />
-        </a-modal>
+  <!-- 重新提交现货合同-->
+  <a-modal class="commonModal modify-custom" title="重新提交现货合同" v-if="visible" v-model:visible="visible" @cancel="cancel" centered width="890px">
+    <template #footer>
+      <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">完成</a-button>
+    </template>
+    <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
+      <fieldset class="formFieldSet">
+        <legend>基本信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="合同编号" name="ContractNo">
+              <a-input class="dialogInput" style="width: 200px" v-model:value="formState.ContractNo" placeholder="请输入合同编号" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="合同类型" name="ContractType">
+              <a-select class="inlineFormSelect" style="width: 200px" @change="contractChange" v-model:value="formState.ContractType" placeholder="请选择合同类型">
+                <a-select-option v-for="item in contractType" :key="item.key" :value="item.key">
+                  {{ item.value }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="业务类型" name="BizType">
+              <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.BizType" placeholder="请选择业务类型">
+                <a-select-option v-for="item in businessType" :key="item.key" :value="item.key">
+                  {{ item.value }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <template v-if="isSell">
+            <a-col :span="12">
+              <a-form-item label="采购方" name="BuyUserID">
+                <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.BuyUserID" placeholder="请选择客户">
+                  <!-- 客户资料列表 正常 -->
+                  <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
+                    {{ item.customername }}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="销售方">
+                <span class="white">{{ getUserName() }}</span>
+              </a-form-item>
+            </a-col>
+          </template>
+          <template v-else>
+            <a-col :span="12">
+              <a-form-item label="采购方">
+                <span class="white">{{ getUserName() }}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="销售方" name="SellUserID">
+                <a-select class="inlineFormSelect" v-model:value="formState.SellUserID" style="width: 200px" placeholder="请选择客户">
+                  <!-- 客户资料列表 正常 -->
+                  <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
+                    {{ item.customername }}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+          </template>
+          <a-col :span="12">
+            <a-form-item label="合同附件" name="ContractAttachment">
+              <UploadImg :visible="visible" :imgList="uploadImgList" @upload="uploadImgAction" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="交易主体" name="SubjectID">
+              <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SubjectID" placeholder="请选择主体">
+                <a-select-option :value="item.subjectid" v-for="item in subjectList" :key="item.subjectid">
+                  {{ item.subjectname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>现货信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="现货品种" name="DeliveryGoodsID">
+              <a-select class="inlineFormSelect" style="width: 200px" @change="deliveryGoodsChange" v-model:value="formState.DeliveryGoodsID" placeholder="请选择现货品种">
+                <a-select-option v-for="item in deliveryGoodsList" :key="item.deliverygoodsid" :value="item.deliverygoodsid">
+                  {{ item.deliverygoodsname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="商品" name="WrStandardID">
+              <a-select class="inlineFormSelect" style="width: 200px" @change="WrStandardChange" v-model:value="formState.WrStandardID" placeholder="请选择商品">
+                <a-select-option v-for="item in gmlist" :key="item.wrstandardid" :value="item.wrstandardid">
+                  {{ item.wrstandardname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="品牌" name="SpotGoodsBrandID">
+              <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SpotGoodsBrandID" placeholder="请选择品牌">
+                <a-select-option v-for="item in gblist" :key="item.brandid" :value="item.brandid">
+                  {{ item.brandname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="商品规格" name="SpotGoodsDesc">
+              <a-input class="dialogInput" style="width: 200px" v-model:value="formState.SpotGoodsDesc" placeholder="请输入商品规格" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>价格信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="定价类型" name="PriceType">
+              <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.PriceType" placeholder="请选择定价类型">
+                <a-select-option v-for="item in priceType" :key="item.key" :value="item.key">
+                  {{ item.value }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="结算币种" name="CurrencyID">
+              <a-select class="inlineFormSelect" v-model:value="formState.CurrencyID" style="width: 200px" placeholder="请选择结算币种">
+                <a-select-option v-for="item in payCurrency" :key="item.enumitemname" :value="item.enumitemname">
+                  {{ item.enumdicname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="数量" name="Qty">
+              <a-input class="dialogInput suffixGrey" v-model:value="formState.Qty" style="width: 200px" @change="getAmout" placeholder="请输入数量" :suffix="numberUnit" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12" v-if="formState.PriceType === 3">
+            <a-form-item label="暂定价">
+              <a-input class="dialogInput suffixGrey" style="width: 200px" :suffix="payCurrencyUnit" placeholder="请输入暂定价" />
+            </a-form-item>
+          </a-col>
+          <!-- 以下是点价的价格信息 start -->
+          <template v-if="formState.PriceType === 2 || formState.PriceType === 3">
+            <a-col :span="12">
+              <a-form-item label="点价合约" name="GoodsID">
+                <a-select class="inlineFormSelect" v-model:value="formState.GoodsID" style="width: 200px" placeholder="请选择点价合约">
+                  <a-select-option v-for="item in goodsList" :key="item.goodsid" :value="item.goodsid">
+                    {{ item.goodsname }}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="升贴水" name="PriceMove">
+                <a-input-number class="dialogInput suffixGrey" v-model:value="formState.PriceMove" placeholder="请输入升贴水" :min="0" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="点价期">
+                <a-range-picker v-model:value="priceDate" class="commonPicker" :disabled-date="disabledDate" style="width: 200px" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="交收期">
+                <a-range-picker v-model:value="deliveryDate" class="commonPicker" style="width: 200px" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
+              </a-form-item>
+            </a-col>
+          </template>
+          <!-- 以上是点价的价格信息 end -->
+          <template v-if="formState.PriceType === 1">
+            <a-col :span="12">
+              <a-form-item label="价格" name="Price">
+                <a-input class="dialogInput suffixGrey" v-model:value="formState.Price" @change="getAmout" placeholder="请输入价格" :suffix="`${payCurrencyUnit}/${numberUnit}`" style="width: 200px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="金额" class="relative" name="Amount">
+                <a-input class="dialogInput suffixGrey" v-model:value="formState.Amount" readonly placeholder="输入数量和价格后自动算" :suffix="payCurrencyUnit" style="width: 200px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="交收期">
+                <a-range-picker v-model:value="deliveryDate" style="width: 200px" class="commonPicker" :disabled-date="disabledDate" :show-time="{ hideDisabledOptions: true }" format="YYYY-MM-DD" />
+              </a-form-item>
+            </a-col>
+          </template>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>其他信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="保证金" name="ContractMargin">
+              <a-input class="dialogInput suffixGrey" placeholder="请输入保证金" v-model:value="formState.ContractMargin" style="width: 200px" :suffix="payCurrencyUnit" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="业务员" name="SaleUserID">
+              <a-select class="inlineFormSelect" v-model:value="formState.SaleUserID" style="width: 200px" placeholder="请选择业务员">
+                <a-select-option v-for="item in businesserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="跟单员" name="MerUserID">
+              <a-select class="inlineFormSelect" v-model:value="formState.MerUserID" style="width: 200px" placeholder="请选择跟单员">
+                <a-select-option v-for="item in merchandiserList" :key="item.userid" :value="item.userid"> {{ item.accountname }}-{{ item.logincode }} </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="交易用户" name="TradeUserID">
+              <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.TradeUserID" placeholder="请选择期货账户">
+                <a-select-option v-for="item in traderList" :key="item.roleid" :value="item.roleid">
+                  {{ item.rolename }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item label="备注" name="Remark">
+              <a-input class="dialogInput" style="width: 608px" v-model:value="formState.Remark" placeholder="请输入备注" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+    </a-form>
+    <a-modal :visible="previewVisible" :footer="null" @cancel="cancelImg">
+      <img alt="预览附件" style="width: 100%" :src="previewImage" />
     </a-modal>
+  </a-modal>
 </template>
 
 <script lang="ts">
@@ -272,13 +272,17 @@ export default defineComponent({
             type: Object as PropType<Ermcp3ContractRsp>,
             default: {},
         },
+        contractType: {
+            type: Number,
+            required: true,
+        },
     },
     components: { UploadImg },
     setup(props, context) {
         const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         const { sendReq } = addContractReq();
-        const { formState, businessType } = handleFromState();
+        const { formState, businessType } = handleFromState(props.contractType);
         // 表单
         const formRef = ref();
 

+ 3 - 3
src/views/information/spot-contract/components/setup.ts

@@ -69,11 +69,11 @@ export function orderContractOperateControl(reqs: SpotContractOperateReq, loadin
  * 新增和修改的表单数据
  * @returns
  */
-export function handleFromState() {
+export function handleFromState(contractType: number) {
     function initFormData() {
         return {
             ContractNo: '', // 现货合同编号
-            ContractType: 1, // int32 现货合同类型-1:采购-1:销售
+            ContractType: contractType, // int32 现货合同类型-1:采购-1:销售
             BizType: 1, // uint32 业务类型 - 1:套保 2:套利
             BuyUserID: undefined, // uint64 采购方ID
             SellUserID: undefined,// uint64 客户ID
@@ -212,7 +212,7 @@ export function handleContract(formState: UnwrapRef<FormState>) {
         { key: 1, value: '采购' },
         { key: -1, value: '销售' },
     ];
-    const isSell = ref<boolean>(false)  // true => 销售 false => 采购
+    const isSell = ref<boolean>(formState.ContractType === -1)  // true => 销售 false => 采购
     /**
      * 合同类型变更
      */

+ 1 - 1
src/views/information/spot-contract/list/purchase/index.vue

@@ -49,7 +49,7 @@
     </a-table>
     <!-- 右键 -->
     <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="secondBtn"> </contextMenu>
-    <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
+    <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" :contractType="1" @cancel="closeComponent"></component>
   </div>
 </template>
 

+ 52 - 52
src/views/information/spot-contract/list/sell/index.vue

@@ -1,56 +1,56 @@
 <template>
-    <!-- 销售合同: 新增合同-已完结合同-->
-    <div class="spot-contract-not-commit" :loading="loading">
-        <filterCustomTable @search="updateColumn">
-            <mtp-table-button :buttons="firstBtn" @click="openComponent" />
-        </filterCustomTable>
-        <a-table :columns="columns" class="srcollYTable" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
-            <!-- 额外的展开行 -->
-            <!-- 额外的展开行 -->
-            <template #expandedRowRender="{ record }">
-                <mtp-table-button class="btn-list-sticky" :buttons="secondBtn" :record="record" @click="openComponent" />
-            </template>
-            <template #biztype="{ text }">
-                <a>{{ getBizTypeName(text) }}</a>
-            </template>
-            <template #pricetype="{ text }">
-                <span>{{ getPriceTypeName(text) }}</span>
-            </template>
-            <template #contracctstatus="{ text }">
-                <a>{{ getContractStatusName(text) }}</a>
-            </template>
-            <template #contracttype="{ text }">
-                <a>{{ getContractTypeName(text) }}</a>
-            </template>
-            <!-- 对手方 -->
-            <template #negative="{ record }">
-                <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
-            </template>
-            <!-- 点假期 -->
-            <template #startdate="{ record }">
-                <span>{{ formatValue(formatTime(record.startdate, 'd') + '--' + formatTime(record.enddate, 'd')) }}</span>
-            </template>
-            <!-- 交收期 -->
-            <template #deliverystartdate="{ record }">
-                <span>{{ formatValue(formatTime(record.deliverystartdate, 'd') + '--' + formatTime(record.deliveryenddate, 'd')) }}</span>
-            </template>
-            <!-- 业务员 -->
-            <template #saleuserid="{ record }">
-                <span>{{ findManagerName(record.saleuserid) }}</span>
-            </template>
-            <!-- 跟单员 -->
-            <template #meruserid="{ record }">
-                <span>{{ findManagerName(record.meruserid) }}</span>
-            </template>
-            <!-- 合同量 -->
-            <template #qty="{ text, record }">
-                <span>{{ handleEnumdic(text, record) }}</span>
-            </template>
-        </a-table>
-        <!-- 右键 -->
-        <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="secondBtn"> </contextMenu>
-        <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
-    </div>
+  <!-- 销售合同: 新增合同-已完结合同-->
+  <div class="spot-contract-not-commit" :loading="loading">
+    <filterCustomTable @search="updateColumn">
+      <mtp-table-button :buttons="firstBtn" @click="openComponent" />
+    </filterCustomTable>
+    <a-table :columns="columns" class="srcollYTable" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
+      <!-- 额外的展开行 -->
+      <!-- 额外的展开行 -->
+      <template #expandedRowRender="{ record }">
+        <mtp-table-button class="btn-list-sticky" :buttons="secondBtn" :record="record" @click="openComponent" />
+      </template>
+      <template #biztype="{ text }">
+        <a>{{ getBizTypeName(text) }}</a>
+      </template>
+      <template #pricetype="{ text }">
+        <span>{{ getPriceTypeName(text) }}</span>
+      </template>
+      <template #contracctstatus="{ text }">
+        <a>{{ getContractStatusName(text) }}</a>
+      </template>
+      <template #contracttype="{ text }">
+        <a>{{ getContractTypeName(text) }}</a>
+      </template>
+      <!-- 对手方 -->
+      <template #negative="{ record }">
+        <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+      </template>
+      <!-- 点假期 -->
+      <template #startdate="{ record }">
+        <span>{{ formatValue(formatTime(record.startdate, 'd') + '--' + formatTime(record.enddate, 'd')) }}</span>
+      </template>
+      <!-- 交收期 -->
+      <template #deliverystartdate="{ record }">
+        <span>{{ formatValue(formatTime(record.deliverystartdate, 'd') + '--' + formatTime(record.deliveryenddate, 'd')) }}</span>
+      </template>
+      <!-- 业务员 -->
+      <template #saleuserid="{ record }">
+        <span>{{ findManagerName(record.saleuserid) }}</span>
+      </template>
+      <!-- 跟单员 -->
+      <template #meruserid="{ record }">
+        <span>{{ findManagerName(record.meruserid) }}</span>
+      </template>
+      <!-- 合同量 -->
+      <template #qty="{ text, record }">
+        <span>{{ handleEnumdic(text, record) }}</span>
+      </template>
+    </a-table>
+    <!-- 右键 -->
+    <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="secondBtn"> </contextMenu>
+    <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" :contractType="-1" @cancel="closeComponent"></component>
+  </div>
 </template>
 
 <script lang="ts">