codeMan 2 tahun lalu
induk
melakukan
5e6f1d8f21

+ 31 - 8
src/HDrpManagement/contractManage/components/productDetailList/productDetailList.vue

@@ -15,14 +15,14 @@
         ></uploadAllData>
         <addProduct v-if="tool.checkAuth($route.name,'productDetailManage') && data.status === '新建' && isLeader"
                     class="inline-16"  :params="paramsAdd" :tablecolsAdd="tablecolsAdd" title="添加"
-                    @addSuccess="addProducts" @addProduct="addProduct" @uploadData="uploadData" @closeDrawer="listData"
+                    @addSuccess="addProducts" @addProduct="addProduct" @uploadData="uploadData"
                      ref="addProduct"
         ></addProduct>
         <el-button size="small" v-if="tool.checkAuth($route.name,'productDetailManage') && data.status === '新建' && isLeader" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
       </div>
       <div class="produtMag-panel">
       </div>
-      <tableLayout checkbox="true"  :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true" fixedName="operation amount" @selectionChange="selectionChange">
+      <tableLayout v-tableLoad="tableLoad" checkbox="true"  :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true" fixedName="operation amount" @selectionChange="selectionChange">
         <template v-slot:customcol="scope">
           <div v-if="scope.column.columnname == 'qty'">
 <!--            <el-input-number size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>-->
@@ -46,11 +46,21 @@
           </div>
           <div v-else-if="scope.column.columnname == 'discountrate'">
 <!--            <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.discountrate" @input="discountrateChange($event,scope.column.data)"></el-input>-->
-            <el-input size="mini" :disabled="scope.column.data.type === '指定单价' || !tool.checkAuth($route.name,'productDetailManage') || data.status !== '新建' || !isLeader "  v-model="scope.column.data.discountrate" @change="discountrateChange(scope.column.data.discountrate,scope.$index,scope.column.data)"></el-input>
+            <el-input 
+              size="mini" 
+              :disabled="scope.column.data.type === '指定单价' || !tool.checkAuth($route.name,'productDetailManage') || data.status !== '新建' || !isLeader "  
+              v-model="scope.column.data.discountrate" 
+              @change="discountrateChange(scope.column.data.discountrate,scope.$index,scope.column.data)"
+            ></el-input>
           </div>
           <div v-else-if="scope.column.columnname == 'price'">
 <!--            <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.price" @input="priceChange($event,scope.column.data)"></el-input>-->
-            <el-input size="mini" :disabled="scope.column.data.type === '折扣系数' || !tool.checkAuth($route.name,'productDetailManage') || data.status !== '新建' || !isLeader"  v-model="scope.column.data.price" @change="priceChange(scope.column.data.price,scope.$index,scope.column.data)"></el-input>
+            <el-input 
+              size="mini" 
+              :disabled="scope.column.data.type === '折扣系数' || !tool.checkAuth($route.name,'productDetailManage') || data.status !== '新建' || !isLeader"  
+              v-model="scope.column.data.price" 
+              @change="priceChange(scope.column.data.price,scope.$index,scope.column.data)"
+            ></el-input>
           </div>
           <div v-else-if="scope.column.columnname == 'countPrice'">
             <p>{{tool.formatAmount(scope.column.data.price * scope.column.data.qty,2)}}</p>
@@ -161,6 +171,9 @@ export default {
       this.list = res.data
       this.total = res.total
       this.$emit('priceChange')
+    },
+    tableLoad () {
+
     },
     qtyChange (num,index,data) {
       data.qty = num
@@ -222,7 +235,7 @@ export default {
       })
       this.tool.showMessage(res,() => {
         this.editIndex = ''
-        this.listData()
+        // this.listData()
         this.$emit('editSuccess',res.data.signamount)
       })
     },
@@ -255,7 +268,8 @@ export default {
         },
       })
       this.tool.showMessage(res,()=>{
-        this.listData()
+        this.list.unshift(...res.data)
+        // this.listData()
         this.$refs.addProduct.listData()
       })
     },
@@ -277,7 +291,9 @@ export default {
         },
       })
       this.tool.showMessage(res,() => {
-        this.listData()
+        this.list.unshift(res.data[0])
+        console.log(this.list[0],res.data);
+        // this.listData()
         this.$refs.addProduct.listData()
       })
     },
@@ -347,7 +363,14 @@ export default {
         },
       })
       this.tool.showMessage(res,()=>{
-        this.listData()
+        // this.listData()
+        this.list.forEach(item => {
+          this.delProductData.forEach(item2 => {
+            if (item.sa_contract_itemsid == item2) {
+              this.list.splice(this.list.indexOf(item),1)
+            }
+          })
+        })
         this.$emit("delSuccess")
       })
     },

+ 69 - 3
src/HDrpManagement/orderManage/details/index.vue

@@ -47,7 +47,45 @@
           <el-button v-if="tool.checkAuth($route.name,'submit') && mainData.status === '新建'" type="primary" size="mini" @click="onSubmit('提交')">提 交</el-button>
           <el-button v-if="tool.checkAuth($route.name,'finishOrder') && mainData.status === '审核'"  type="primary" size="mini" @click="closeOrder">结 案</el-button>
           <el-button v-if="tool.checkAuth($route.name,'insert')"  type="primary" size="mini" @click="onCopy">复 制</el-button>
-      </div>
+        </div>
+        <template #headerBottom>
+          <div style="display:flex">
+            <div class="account_info">
+              <div style="margin-top:16px">
+                <p class="normal-title" style="margin-bottom:10px">支付信息</p>
+              </div>
+              <div class="reveive__panel normal-margin inline-16">
+                <p class="flex-align-center"><small>结算企业:</small>&nbsp;<b>{{mainData.finance.enterprisename}}</b></p>
+                <div class="flex-align-center">
+                  <p class="inline-16"><small>账户名称:&nbsp;</small>{{mainData.accountclass.accountname?mainData.accountclass.accountname:'未选择账户'}}</p>
+                  <p class="inline-16"><small>账户余额:&nbsp;</small><b>¥{{tool.formatAmount(mainData.accountclass.balance?mainData.accountclass.balance:0,2)}}</b></p>
+
+                  <p><small>本单金额:&nbsp;</small>{{mainData.rebate_used ? tool.formatAmount(mainData.defaultamount - rebateamount,2) : mainData.defaultamount}}</p>
+                  <p><small>本单金额:&nbsp;</small>{{mainData.accountclass.creditquota ? tool.formatAmount(mainData.accountclass.creditquota,2) : mainData.accountclass.creditquota}}</p>
+                </div>
+                <div v-if="(mainData.type === '标准订单' ||  mainData.type === '特殊订单') && isusedrebate === 1">
+                  <div v-if="checked" class="flex-align-center">
+                    <p class="inline-16"><b>返利金余额:{{tool.formatAmount(mainData.rebatebalance,2)}}</b></p>
+                    <small>(返利金最高使用比例{{mainData.order_rebate_userate}})</small>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div class="address_info">
+              <div style="margin-top:16px">
+                <p class="normal-title" style="margin-bottom:10px">收货信息</p>
+              </div>
+              <div class="reveive__panel normal-margin inline-16">
+                <div>
+                  <p class="inline-16"><b>{{mainData.contactsEnterprise.enterprisename}}</b></p>
+                  <p class="inline-16"><span class="inline-16"><b>{{mainData.contacts.name}}</b></span><small>{{mainData.contacts.phonenumber}}</small></p>
+                </div>
+                <small>{{mainData.contacts.province?mainData.contacts.province:'--'}}{{mainData.contacts.city}}{{mainData.contacts.county}}{{mainData.contacts.address?mainData.contacts.address:''}}</small>
+              </div>
+            </div>
+          </div>
+          
+        </template>
       <div slot="slot1">
         <default-info :mainData="mainData"></default-info>
       </div>
@@ -128,7 +166,9 @@ export default {
       visible:false,
       value:'',
       selection:[],
-      errorUrl:null
+      errorUrl:null,
+      rebateamount:'',
+      isusedrebate:''
     }
   },
   provide () {
@@ -171,7 +211,14 @@ export default {
           }
         })
         this.mainData = res.data
+
+        if (this.mainData.rebateamount > this.mainData.defaultamount) {
+          this.rebateamount = this.tool.formatAmount(+this.mainData.defaultamount / 2)
+        } else {
+          this.rebateamount = this.mainData.rebateamount
+        }
         console.log(this.mainData);
+        this.queryUsedrebate()
         this.changeDataStructure()
         this.orderreviewtype()
         re()
@@ -322,6 +369,16 @@ export default {
       this.$router.replace({path:'/orderdetail',query:{id:id,rowindex:rowindex}})
       this.queryMainData(id)
     },
+    // 查询站点是否使用返利金
+    async queryUsedrebate () {
+      const res = await this.$api.requested({
+         "classname": "webmanage.site.site",
+        "method": "querySite_Parameter",
+        "content": {
+        }
+      })
+      this.isusedrebate = this.mainData.order_rebate_used
+    },
     /* 变更业务员 */
     salerChange (data) {
       console.log(data);
@@ -515,5 +572,14 @@ export default {
 </script>
 
 <style scoped>
-
+.reveive__panel{
+  font-size: 16px;
+  line-height: 30px;
+  padding: 10px;
+  background: #d9ecff;
+  border: 1px dashed #0676e7;
+}
+.account__panel small,.reveive__panel small{
+  color:#888
+}
 </style>

+ 2 - 0
src/components/normal-basic-layout/details/index.vue

@@ -37,6 +37,8 @@
             <span :style="item.style?item.style():''">{{item.value !== ''?item.value:'--'}}</span>
           </el-descriptions-item>
         </el-descriptions>
+        
+        <slot name="headerBottom"></slot>
       </div>
     </div>
     <div style="box-sizing: border-box;padding:10px">

+ 16 - 0
src/main.js

@@ -67,6 +67,22 @@ ElementUI.TableColumn.props.showOverflowTooltip ={type:Boolean, default: true}
 ElementUI.Dialog.props.closeOnClickModal.default = false; 
 ElementUI.Drawer.props.showClose.default = false; 
 
+/* table懒加载 */
+Vue.directive('tableLoad',{
+  bind (el,binding) {
+    setTimeout(() => {
+    let tableWarp = document.querySelector('.el-table__body-wrapper')
+    console.log(tableWarp);
+
+      tableWarp.addEventListener('scroll',(e) => {
+        console.log(e);
+      })
+    },10000)
+    
+  }
+})
+
+
 new Vue({
   router,
   store,

+ 2 - 2
vue.config.js

@@ -15,8 +15,8 @@ module.exports = {
       proxy: {
         '/apis': {
           // target: 'http://61.164.207.46:8000',  // target host*/
-          // target: 'http://192.168.3.9:8090',  // target host*!
-          target: 'https://oms.idcgroup.com.cn:8079/',  // target host
+          target: 'http://192.168.3.9:8090',  // target host*!
+          // target: 'https://oms.idcgroup.com.cn:8079/',  // target host
           // target: 'localhost:8080',  // target host
           ws: true,  // proxy websockets 
           changeOrigin: true,  // needed for virtual hosted sites