zhangqiOMG 2 anni fa
parent
commit
0f2d2c828a

+ 99 - 129
src/SDrpManagement/shopCart/modules/confirmOrder.vue

@@ -13,147 +13,124 @@
       </div>
     </div>
     <div class="drawer__panel">
-      <div class="flex-align-center normal-margin">
+      <div>
+        <div class="mt-10">
+          <p class="normal-title normal-margin">品牌与领域</p>
+          <div>
+            <el-tag class="inline-16" effect="dark">{{data[0].brandname}}</el-tag><el-tag effect="dark">{{data[0].tradefield_shoppingcart}}</el-tag>
+          </div>
+        </div>
+        <div class="mt-10">
+          <p class="normal-title inline-16">支付信息</p>
+        </div>
+        <div class="reveive__panel normal-margin">
+          <p class="flex-align-center"><small>结算企业:&nbsp;</small><b>{{defaultData.finance.enterprisename}}</b>&nbsp;<financeEnterprise v-if="data.type !== '项目订单'" ref="finance" @select="onSelect"></financeEnterprise></p>
+          <div v-if="(data.type === '标准订单' ||  data.type === '特殊订单') && isusedrebate === 1">
+            <el-checkbox v-model="checked" :true-label="1" :false-label="0">使用返利金</el-checkbox>
+            <div v-if="checked" class="flex-align-center">
+              <p class="inline-16"><b>返利金余额:{{tool.formatAmount(defaultData.rebatebalance,2)}}</b></p>
+              <el-input class="inline-16" size="mini" style="width:150px" v-model="rebateamount" @blur="useRebate" placeholder="输入使用金额"></el-input>
+              <small>(返利金最高使用比例{{data.order_rebate_userate}}%,本单上限:{{tool.formatAmount(data.amount * data.order_rebate_userate / 100,2)}})</small>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="flex-align-start normal-margin">
         <div style="flex:1;margin-right:10px">
           <div class="mt-10">
-            <p class="normal-title inline-16">收货信息</p>
+            <p class="normal-title inline-16">选择财务信息</p>
             <el-popover
               placement="bottom"
-              title="选择地址"
+              title="选择公司"
               trigger="click"
-              v-model="visible">
+              v-model="visible2">
               <el-table
-                :data="receiveAddresslist"
+                :data="financiallist"
                 style="width: 100%"
                 size="mini">
                 <el-table-column
-                  prop="name"
-                  label="联系人"
-                  width="90">
+                  prop="enterprisename"
+                  label="公司抬头"
+                  width="120">
                 </el-table-column>
                 <el-table-column
-                  prop="phonenumber"
-                  label="电话"
+                  prop="address"
+                  label="开票地址"
                   width="120">
                 </el-table-column>
                 <el-table-column
-                  label="地址"
-                  width="360">
-                  <template slot-scope="scope">
-                    {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
-                  </template>
+                  prop="bank"
+                  label="开户行"
+                  width="120">
+                </el-table-column>
+                <el-table-column
+                  prop="bankcardno"
+                  label="开户账号"
+                  width="120">
                 </el-table-column>
                 <el-table-column
                   label="操作"
                   width="90">
                   <template slot-scope="scope">
-                    <el-button type="text" @click="(defaultData.re_info = scope.row,visible = false)" size="mini">选 择</el-button>
+                    <el-button type="text" @click="(defaultData.fin_info = scope.row,visible2 = false)" size="mini">选 择</el-button>
                   </template>
                 </el-table-column>
               </el-table>
-              <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
+              <el-button slot="reference" type="text" size="mini">选择其他</el-button>
             </el-popover>
           </div>
           <div class="reveive__panel normal-margin">
-            <p><span class="inline-16"><b>{{defaultData.re_info?defaultData.re_info.name:''}}</b></span><small>{{defaultData.re_info?defaultData.re_info.phonenumber:''}}</small></p>
-            <small>{{defaultData.re_info?defaultData.re_info.province:''}}{{defaultData.re_info?defaultData.re_info.city:''}}{{defaultData.re_info?defaultData.re_info.county:''}}{{defaultData.re_info ?defaultData.re_info.address:'--'}}</small>
+            <p><small>抬头:&nbsp;</small><span class="inline-16"><b>{{defaultData.fin_info.enterprisename?defaultData.fin_info.enterprisename:''}}</b></span></p>
+            <p><small>开票地址:&nbsp;</small>{{defaultData.fin_info.address}}</p>
+            <p><small>开户行:&nbsp;</small> {{defaultData.fin_info.bank}} &emsp;<small>开户账号:&nbsp;</small> {{defaultData.fin_info.bankcardno}}</p>
           </div>
         </div>
-        <div style="flex:1">
+        <div style="flex:1;">
           <div class="mt-10">
-            <p class="normal-title inline-16">物流公司</p>
+            <p class="normal-title inline-16">收货信息</p>
             <el-popover
               placement="bottom"
-              title="选择公司"
+              title="选择地址"
               trigger="click"
-              v-model="visible1">
+              v-model="visible">
               <el-table
-                :data="logisticcomlist"
+                :data="receiveAddresslist"
                 style="width: 100%"
                 size="mini">
                 <el-table-column
-                  prop="abbreviation"
-                  label="公司简称"
-                  width="120">
+                  prop="name"
+                  label="联系人"
+                  width="90">
                 </el-table-column>
                 <el-table-column
-                  prop="kd100id"
-                  label="快递100ID"
+                  prop="phonenumber"
+                  label="电话"
                   width="120">
                 </el-table-column>
+                <el-table-column
+                  label="地址"
+                  width="360">
+                  <template slot-scope="scope">
+                    {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
+                  </template>
+                </el-table-column>
                 <el-table-column
                   label="操作"
                   width="90">
                   <template slot-scope="scope">
-                    <el-button type="text" @click="(defaultData.logist_info = scope.row,visible1 = false)" size="mini">选 择</el-button>
+                    <el-button type="text" @click="(defaultData.re_info = scope.row,visible = false)" size="mini">选 择</el-button>
                   </template>
                 </el-table-column>
               </el-table>
-              <el-button slot="reference" type="text" size="mini">选择其他公司</el-button>
+              <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
             </el-popover>
           </div>
           <div class="reveive__panel normal-margin">
-            <p><span class="inline-16"><b>{{defaultData.logist_info.abbreviation}}</b></span></p>
-            <small>快递100ID: {{defaultData.logist_info.kd100id}}</small>
+            <p><span class="inline-16"><b>{{defaultData.re_info?defaultData.re_info.name:''}}</b></span><small>{{defaultData.re_info?defaultData.re_info.phonenumber:''}}</small></p>
+            <small>{{defaultData.re_info?defaultData.re_info.province:''}}{{defaultData.re_info?defaultData.re_info.city:''}}{{defaultData.re_info?defaultData.re_info.county:''}}{{defaultData.re_info ?defaultData.re_info.address:'--'}}</small>
           </div>
         </div>
       </div>
-      <div class="mt-10">
-        <p class="normal-title inline-16">选择账户</p>
-      </div>
-      <div class="flex-align-center-wrap flex-between normal-margin">
-        <div class="account__panel" :class="defaultData.account_index === index?'act':''" v-for="(item,index) in accountlist" :key="item.index" @click="defaultData.account_index = index">
-          <p><b>¥{{tool.formatAmount(item.balance,2)}}</b></p>
-          <small>{{item.accountname}}</small>
-        </div>
-      </div>
-      <div class="mt-10">
-        <p class="normal-title inline-16">选择财务信息</p>
-        <el-popover
-          placement="bottom"
-          title="选择公司"
-          trigger="click"
-          v-model="visible2">
-          <el-table
-            :data="financiallist"
-            style="width: 100%"
-            size="mini">
-            <el-table-column
-              prop="enterprisename"
-              label="公司抬头"
-              width="120">
-            </el-table-column>
-            <el-table-column
-              prop="address"
-              label="开票地址"
-              width="120">
-            </el-table-column>
-            <el-table-column
-              prop="bank"
-              label="开户行"
-              width="120">
-            </el-table-column>
-            <el-table-column
-              prop="bankcardno"
-              label="开户账号"
-              width="120">
-            </el-table-column>
-            <el-table-column
-              label="操作"
-              width="90">
-              <template slot-scope="scope">
-                <el-button type="text" @click="(defaultData.fin_info = scope.row,visible2 = false)" size="mini">选 择</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <el-button slot="reference" type="text" size="mini">选择其他</el-button>
-        </el-popover>
-      </div>
-      <div class="reveive__panel normal-margin">
-        <p><small>抬头:&nbsp;</small><span class="inline-16"><b>{{defaultData.fin_info.enterprisename}}</b></span></p>
-        <p><small>开票地址:&nbsp;</small>{{defaultData.fin_info.address}}</p>
-        <p><small>开户行:&nbsp;</small> {{defaultData.fin_info.bank}} &emsp;<small>开户账号:&nbsp;</small> {{defaultData.fin_info.bankcardno}}</p>
-      </div>
       <div class="mt-10">
         <p class="normal-title">订单产品</p>
       </div>
@@ -242,11 +219,13 @@
 
 <script>
 import previewImage from '@/components/previewImage/index.vue'
+import financeEnterprise from '@/template/orderCanUseFinance/index.vue'
 
 export default {
   props:['data','total','istool'],
   components:{
-    previewImage
+    previewImage,
+    financeEnterprise
   },
   data () {
     return {
@@ -267,8 +246,15 @@ export default {
           county:''
         },
         logist_info:{},
-        fin_info:{},
-        account_index:0
+        fin_info:{
+          enterprisename:"",
+          address:"",
+          bank:""
+        },
+        account_index:0,
+        finance:{
+          enterprisename:''
+        }
       },
       agnetInfo:{}
     }
@@ -283,11 +269,8 @@ export default {
 
       this.receiveAddress()
 
-      this.queryAccount()
-
-      this.queryLogisticcom()
-
       this.queryFinancial()
+      console.log(this.$refs['finance'].ENlist,'---')
     },
     // 收货信息:合作企业联系人
     async receiveAddress () {
@@ -302,32 +285,8 @@ export default {
         }
       })
       this.receiveAddresslist = res.data
-      this.defaultData.re_info = res.data[0]
-    },
-
-    // 账号信息
-    async queryAccount () {
-      const res = await this.$api.requested({
-        "id": "20221008134803",
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 100
-        }
-      })
-      this.accountlist = res.data
-    },
-
-    // 物流企业
-    async queryLogisticcom () {
-      const res = await this.$api.requested({
-        "id": "20221121135804",
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 100
-        }
-      })
-      this.logisticcomlist = res.data
-      this.defaultData.logist_info = res.data[0]
+      res.data[0]? this.defaultData.re_info = res.data[0]:''
+      // this.defaultData.finance = this.$refs['finance'].ENlist[0]
     },
     // 财务信息
     async queryFinancial () {
@@ -340,17 +299,18 @@ export default {
         }
       })
       this.financiallist = res.data
-      this.defaultData.fin_info = res.data[0]
+      res.data[0]?this.defaultData.fin_info = res.data[0]: ''
     },
     // 提交订单
     async onSubmit() {
+      
       const res = await this.$api.requested({
         "id": 20221128183202,
         "content": {
           "istool":this.istool,
-          "sa_accountclassid": this.accountlist[this.defaultData.account_index].sa_accountclassid, //营销账户类型ID
+          // "sa_accountclassid": this.accountlist[this.defaultData.account_index].sa_accountclassid, //营销账户类型ID
           "sys_enterprise_financeid": this.defaultData.fin_info.sys_enterprise_financeid, //合作企业财务信息ID(开票信息)
-          "sa_logiscompid": this.defaultData.logist_info.sa_logiscompid, //物流公司档案ID
+          // "sa_logiscompid": this.defaultData.logist_info.sa_logiscompid, //物流公司档案ID
           "rec_contactsid": this.defaultData.re_info.contactsid, //合作企业联系人表ID(收货信息)
           "remarks": this.defaultData.remarks, //可选
           "tradefield":this.data[0].tradefield_shoppingcart,
@@ -376,16 +336,26 @@ export default {
             this.$router.replace({path:'/ordermag'})
             break;
           default:
-            this.$router.replace({path:'/order'})
+            this.$store.dispatch('changeDetailDrawer',true)
+            this.$router.push({path:'/orderdetail',query:{id:res.data.sa_orderid,rowindex:res.data.rowindex}})
             break;
         }
       })
     },
-
-    // 交期待确认交期
+    // 选择结算企业
+    onSelect (data) {
+      this.defaultData.finance = data
+      this.financiallist = data.finance
+      data.finance.forEach(e => {
+        if (e.isdefault === 1) {
+           this.defaultData.fin_info = e
+        } else {
+          this.defaultData.fin_info = data.finance.length > 0 ?data.finance[0]:{}
+        }
+      });
+    },
   },
   mounted () {
-    // this.receiveAddress()
     this.queryAgentiInfo()
   }
 }

+ 39 - 2
src/SDrpManagement/shopCart/modules/total.vue

@@ -1,6 +1,6 @@
 <template>
 <div>
-  <confirmOrder :istool="istool" :data="data" :total="total" ref="conf"></confirmOrder>
+  <!-- <confirmOrder :istool="istool" :data="data" :total="total" ref="conf"></confirmOrder> -->
   <div class="total-panel normal-panel flex-align-center flex-between">
     <p class="text-grey" @click="deleSelectProd">删除选中商品</p>
     <div class="flex-align-center">
@@ -52,7 +52,44 @@ export default {
         message:'请先选择要下单的产品!',
         type:'error'
       })
-      this.$refs['conf'].drawer = true  
+      this.onSubmit()
+    },
+    async onSubmit() {
+      const res = await this.$api.requested({
+        "id": 20221128183202,
+        "content": {
+          "istool":this.istool,
+           "tradefield":this.data[0].tradefield_shoppingcart,
+          "items": this.data.map(e=>{
+            return {
+              "sa_orderitemsid": 0, //写死0
+              "itemid": e.itemid, //商品ID
+              "sa_brandid": e.sa_brandid,
+              "qty": e.qty //数量
+            }
+          })
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        let usertype = JSON.parse(sessionStorage.getItem('active_account')).usertype
+        switch (usertype) {
+          case 1:
+            this.$store.dispatch('changeDetailDrawer',true)
+            this.$router.push({path:'/saler_orderDetails',query:{id:res.data.sa_orderid,rowindex:res.data.rowindex}})
+            // this.$router.replace({path:'/ordersaler'})
+            break;
+          case 0:
+            this.$store.dispatch('changeDetailDrawer',true)
+            this.$router.push({path:'/orderdetail',query:{id:res.data.sa_orderid,rowindex:res.data.rowindex}})
+            // this.$router.replace({path:'/ordermag'})
+            break;
+          default:
+            // this.$router.replace({path:'/order'})
+            this.$store.dispatch('changeDetailDrawer',true)
+            this.$router.push({path:'/agent_orderDetails',query:{id:res.data.sa_orderid,rowindex:res.data.rowindex}})
+            break;
+        }
+      })
     },
     async queryBasicInfo () {
       const res = await this.$api.requested({

+ 0 - 1
src/template/orderCanUseFinance/index.vue

@@ -92,7 +92,6 @@ export default {
       this.ENlist = res.data
       this.total = res.total
       this.currentPage = res.pageNumber
-      console.log('queryEnterpriseArchives',res.data)
     },
     handleSizeChange(val) {
       this.params.content.pageSize = val