Browse Source

报价单,项目合同新增同步合作协议

qymljy 2 years ago
parent
commit
5c59369739

+ 1 - 1
src/HDrpManagement/contractManage/components/productList/productBillno.vue

@@ -4,7 +4,6 @@
       <div class="flex-align-center" style="margin-bottom:10px">
         <el-input size="small" style="width:200px;margin-right:10px" v-model="params.content.where.condition" placeholder="输入搜索内容" @clear="listData(params.content.pageNumber = 1)" @keyup.native.enter="listData(params.content.pageNumber = 1)" clearable></el-input>
         <slot name="addProduct"/>
-
         <uploadAllData
             v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader"
             :total="total"
@@ -19,6 +18,7 @@
                             @addSuccess="queryProuctAdds" @addAll="addAll" ref="addProduct" @addProduct="queryProuctAdd" @uploadData="queryUploadData" v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader"
         >
         </addProductContract>
+        <slot name="cooperate"></slot>
       </div>
       <tableLayout checkbox="true" :layout="tablecols" :data="list" :width="true" :opwidth="200" height="calc(100vh - 380px)" :custom="true" fixedName="operation countPrice" @selectionChange="selectionChange">
         <template v-slot:customcol="scope">

+ 51 - 1
src/HDrpManagement/contractManage/modules/detail.vue

@@ -38,6 +38,33 @@
           </template>
           <template v-slot:del="scope">
           </template>
+          <template v-slot:cooperate="scope">
+            <el-button :disabled="mainData.status !== '新建'" size="small" :type="mainData.status === '新建'?'primary':''" @click="cooperateVisible = true" v-if="tool.checkAuth($route.name,'productBillManage') && isLeader">同步合作协议</el-button>
+            <el-dialog title="同步合作协议" :visible.sync="cooperateVisible" append-to-body width="703px">
+              <span style="color: #8C8C8C;font-size: 14px">请选择同步更新经销商/直销客户合作协议产品的方式:</span>
+              <el-form :model="cooperateForm" style="margin-top: 20px">
+                <el-radio v-model="cooperateForm.isadd" label="1" style="margin-bottom: 20px">
+                  <span style="font-size: 16px;color: #333333">同步添加合作协议产品</span><br><br>
+                  <span style="font-size: 14px;color: #8C8C8C;margin: 20px 0 0 22px;padding-top: 20px">
+                    将协议中所有产品添加到表体,若表体已存在产品,则协议中相同产品的信息及其折扣价格覆盖更新
+                  </span><br><br>
+                  <span style="font-size: 14px;color: #8C8C8C;margin: 20px 0 0 22px;padding-top: 20px">
+                    到表体。
+                  </span>
+                </el-radio>
+                <el-radio v-model="cooperateForm.isadd" label="0">
+                  <span style="font-size: 16px;color: #333333">仅更新合作协议的产品折扣价格</span><br><br>
+                  <span style="font-size: 14px;color: #8C8C8C;margin: 20px 0 0 22px;padding-top: 20px">
+                   将协议中与表体相同的产品信息及其折扣价格覆盖更新到表体,不添加协议产品。
+                  </span>
+                </el-radio>
+              </el-form>
+              <div slot="footer" class="dialog-footer">
+                <el-button size="small" @click="cooperateVisible = false" class="normal-btn-width">取 消</el-button>
+                <el-button size="small" type="primary" @click="onCooperate" class="normal-btn-width">确 定</el-button>
+              </div>
+            </el-dialog>
+          </template>
         </productBillno>
         <!--产品明细折扣表-->
         <productDetailList :data="mainData" :isLeader="isLeader" ref="productDetailList" v-if="mainData.type == '框架' || mainData.type == '直销'"  @priceChange="queryMainData($route.query.id)" @closeDrawer="queryMainData($route.query.id)">
@@ -133,7 +160,12 @@ export default {
       isLeader:false,
       detailInfo:{},
       message:'确定删除当前条款吗?',
-      errorUrl:null
+      errorUrl:null,
+      cooperateVisible:false,
+      cooperateForm:{
+        "sa_contractid": "",
+        "isadd":''
+      }
     }
   },
   components:{
@@ -1467,7 +1499,25 @@ export default {
     },
     productAdd(){
       this.queryMainData()
+    },
+
+    /*同步合作协议*/
+    async onCooperate(){
+      const res = await this.$api.requested({
+        "id": 20231204153904,
+        "content": {
+          "sa_contractid": this.$route.query.id,
+          "isadd":this.cooperateForm.isadd
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.cooperateVisible = false
+        this.queryMainData()
+      })
     }
+
+
+
     // async getModelList () {
     //   let res = await this.$api.requested({
     //     "id": 20221121155801,

+ 56 - 9
src/SDrpManagement/QuotedPrice/detail/index.vue

@@ -17,18 +17,46 @@
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="customOperation">
         <!-- 此区域提供了自定义操作按钮 -->
-        <submit_to class="inline-16" v-if="tool.checkAuth($route.name,'submit') && mainData.status === '新建'" :disabled="mainData.disabled" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onSubmit="onSuccess"></submit_to>
-        <revoke class="inline-16" v-if="tool.checkAuth($route.name,'revoke') && mainData.status === '提交'" :disabled="mainData.disabled" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onRevoke="onSuccess"></revoke>
-        <examine_to class="inline-16" v-if="tool.checkAuth($route.name,'toExamine') && mainData.status === '提交'" :disabled="mainData.disabled" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onExamine="onSuccess"></examine_to>
-        <deApprove class="inline-16" v-if="tool.checkAuth($route.name,'deApprove') && mainData.status === '审核'" :disabled="mainData.disabled" :data="mainData" @onDeApprove="onSuccess"></deApprove>
-        <copyTo class="inline-16" v-if="tool.checkAuth($route.name,'copyTo') " :data="mainData.sa_quotedpriceid" :disabled="mainData.disabled"></copyTo>
-        <toVoid class="inline-16" v-if="tool.checkAuth($route.name,'toVoid') && mainData.status === '新建'" :disabled="mainData.disabled" :data="mainData.sa_quotedpriceid" ></toVoid>
+        <submit_to class="inline-16" v-if="tool.checkAuth($route.name,'submit') && mainData.status === '新建'" :disabled="disabledFlag.disabled" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onSubmit="onSuccess"></submit_to>
+        <revoke class="inline-16" v-if="tool.checkAuth($route.name,'revoke') && mainData.status === '提交'" :disabled="disabledFlag.disabled" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onRevoke="onSuccess"></revoke>
+        <examine_to class="inline-16" v-if="tool.checkAuth($route.name,'toExamine') && mainData.status === '提交'" :disabled="disabledFlag.disabled" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onExamine="onSuccess"></examine_to>
+        <deApprove class="inline-16" v-if="tool.checkAuth($route.name,'deApprove') && mainData.status === '审核'" :disabled="disabledFlag.disabled" :data="mainData" @onDeApprove="onSuccess"></deApprove>
+        <copyTo class="inline-16" v-if="tool.checkAuth($route.name,'copyTo') " :data="mainData.sa_quotedpriceid" :disabled="disabledFlag.disabled"></copyTo>
+        <toVoid class="inline-16" v-if="tool.checkAuth($route.name,'toVoid') && mainData.status === '新建'" :disabled="disabledFlag.disabled" :data="mainData.sa_quotedpriceid" ></toVoid>
       </div>
       <div slot="slot2" class=" normal-panel">
         <detailed :data="mainData" :totalPrice="totalPrice"  v-if="flag"></detailed>
       </div>
       <div slot="slot0" class=" normal-panel">
-        <productInventory ref="productList" :data="mainData" v-if="flag" :disabled="mainData.disabled" :isLeader="isLeader" @productSuccess="productSuccess"></productInventory>
+        <productInventory ref="productList" :data="mainData" v-if="flag" :disabled="disabledFlag.disabled" :isLeader="isLeader" @productSuccess="productSuccess">
+          <template v-slot:cooperate="scope">
+            <el-button class="inline-16" :disabled="mainData.status !== '新建'" size="small" :type="mainData.status === '新建'?'primary':''" @click="cooperateVisible = true" v-if="tool.checkAuth($route.name,'productDetails') && disabledFlag.disabled">同步合作协议</el-button>
+            <el-dialog title="同步合作协议" :visible.sync="cooperateVisible" append-to-body width="703px">
+              <span style="color: #8C8C8C;font-size: 14px">请选择同步更新经销商/直销客户合作协议产品的方式:</span>
+              <el-form :model="cooperateForm" style="margin-top: 20px">
+                <el-radio v-model="cooperateForm.isadd" label="1" style="margin-bottom: 20px">
+                  <span style="font-size: 16px;color: #333333">同步添加合作协议产品</span><br><br>
+                  <span style="font-size: 14px;color: #8C8C8C;margin: 20px 0 0 22px;padding-top: 20px">
+                    将协议中所有产品添加到表体,若表体已存在产品,则协议中相同产品的信息及其折扣价格覆盖更新
+                  </span><br><br>
+                  <span style="font-size: 14px;color: #8C8C8C;margin: 20px 0 0 22px;padding-top: 20px">
+                    到表体。
+                  </span>
+                </el-radio>
+                <el-radio v-model="cooperateForm.isadd" label="0">
+                  <span style="font-size: 16px;color: #333333">仅更新合作协议的产品折扣价格</span><br><br>
+                  <span style="font-size: 14px;color: #8C8C8C;margin: 20px 0 0 22px;padding-top: 20px">
+                   将协议中与表体相同的产品信息及其折扣价格覆盖更新到表体,不添加协议产品。
+                  </span>
+                </el-radio>
+              </el-form>
+              <div slot="footer" class="dialog-footer">
+                <el-button size="small" @click="cooperateVisible = false" class="normal-btn-width">取 消</el-button>
+                <el-button size="small" type="primary" @click="onCooperate" class="normal-btn-width">确 定</el-button>
+              </div>
+            </el-dialog>
+          </template>
+        </productInventory>
       </div>
       <div slot="slot3" class=" normal-panel">
         <otherExpenses :status="mainData.status" :data="mainData" v-if="flag"></otherExpenses>
@@ -37,7 +65,7 @@
         <historicalQuotation :data="mainData" v-if="flag"></historicalQuotation>
       </div>
       <div slot="slot1" class=" normal-panel">
-        <itemClass :data="mainData" :disabled="mainData.disabled"></itemClass>
+        <itemClass :data="mainData" :disabled="disabledFlag.disabled"></itemClass>
       </div>
     </basicDetails>
   </div>
@@ -73,7 +101,12 @@ export default {
       flag:false,
       totalPrice:0,
       userInfo:JSON.parse(window.sessionStorage.getItem('active_account')),
-      isLeader:false
+      isLeader:false,
+      cooperateVisible:false,
+      cooperateForm:{
+        "sa_contractid": "",
+        "isadd":''
+      }
     }
   },
   components:{
@@ -331,6 +364,20 @@ export default {
     },
     productSuccess(){
       this.productList()
+    },
+    /*同步合作协议*/
+    async onCooperate(){
+      const res = await this.$api.requested({
+        "id": 20231206085404,
+        "content": {
+          "sa_quotedpriceid": this.$route.query.id,
+          "isadd":this.cooperateForm.isadd
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.cooperateVisible = false
+        this.queryMainData(this.$route.query.id)
+      })
     }
 
   },

+ 1 - 0
src/SDrpManagement/QuotedPrice/detail/modules/productInventory/index.vue

@@ -34,6 +34,7 @@
                   @addSuccess="addProducts" @addProduct="addProduct" @uploadData="uploadData" @closeDrawer="productData"
                   :tradefield="data.tradefield" ref="addProduct"
       ></addProduct>
+      <slot name="cooperate"></slot>
       <importFile v-if="tool.checkAuth($route.name,'productDetails') && data.status === '新建' &&  disabled" class="inline-16" accept=".xlsx"  :bindData="{ownertable:'productDetailsDiscountTable',ownerid:'',usetype:'default'}" paramId="20221024141403" @onSuccess="importSuccess">
         <a class="error-link" v-if="errorurl" :href="errorurl" slot="errorFile">下载错误数据</a>
       </importFile>