Browse Source

报价单、合同,同步合同协议

qymljy 1 year ago
parent
commit
1c0b7330a5

+ 1 - 0
src/HDrpManagement/contractManage/components/itemClass/index.vue

@@ -25,6 +25,7 @@
       ></uploadAllData>
       <el-button class="inline-16" v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
       <add v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" :data="data" class="inline-16" @itemClassAdd="listData" @closeDrawer="listData"></add>
+      <slot name="cooperate"></slot>
     </div>
     <div class="produtMag-panel">
       <tableLayout :layout="tablecols" checkbox="true"  :data="list" :opwidth="200" height="calc(100vh - 390px)" :width="true" :custom="true" fixedName="offerPrice amount" @selectionChange="selectionChange">

+ 47 - 2
src/HDrpManagement/contractManage/modules/detail.vue

@@ -95,7 +95,36 @@
           </template>
         </productClassList>
         <!--    产品类别折扣    -->
-        <itemClass :data="mainData" v-if="mainData.type == '项目'" :isLeader="isLeader" ></itemClass>
+        <itemClass ref="itemClass" :data="mainData" v-if="mainData.type == '项目'" :isLeader="isLeader" >
+          <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> <br><br>
+                </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="onCooperateItem" class="normal-btn-width">确 定</el-button>
+              </div>
+            </el-dialog>
+          </template>
+        </itemClass>
         <!--合同条款-->
 <!--        <contractClause :sys_enterpriseid="mainData.sys_enterpriseid" :disabled="mainData.status != '新建' || !isLeader" ref="Claus" v-if=" mainData.type == '工具借用'">
         </contractClause>-->
@@ -1513,11 +1542,27 @@ export default {
       })
       this.tool.showMessage(res,()=>{
         this.cooperateVisible = false
+        this.$refs.billno.params.content.pageNumber = 1
         this.$refs.billno.listData()
         this.queryMainData()
       })
-    }
+    },
 
+    async onCooperateItem(){
+      const res = await this.$api.requested({
+        "id": 20231208154904,
+        "content": {
+          "sa_contractid": this.$route.query.id,
+          "isadd":this.cooperateForm.isadd
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.cooperateVisible = false
+        this.$refs.itemClass.param.content.pageNumber = 1
+        this.$refs.itemClass.listData()
+        this.queryMainData()
+      })
+    }
 
 
     // async getModelList () {

+ 45 - 1
src/SDrpManagement/QuotedPrice/detail/index.vue

@@ -67,7 +67,35 @@
         <historicalQuotation :data="mainData" v-if="flag"></historicalQuotation>
       </div>
       <div slot="slot1" class=" normal-panel">
-        <itemClass :data="mainData" :disabled="disabledFlag.disabled"></itemClass>
+        <itemClass ref="itemClass" :data="mainData" :disabled="disabledFlag.disabled">
+          <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><br><br>
+                </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="onCooperateItem" class="normal-btn-width">确 定</el-button>
+              </div>
+            </el-dialog>
+          </template>
+        </itemClass>
       </div>
     </basicDetails>
   </div>
@@ -388,11 +416,27 @@ export default {
         }
       })
       this.tool.showMessage(res,()=>{
+        this.$refs.productList.param.content.pageNumber = 1
         this.$refs.productList.productData()
         this.cooperateVisible = false
         this.queryMainData(this.$route.query.id)
       })
     },
+    async onCooperateItem(){
+      const res = await this.$api.requested({
+        "id": 20231208161304,
+        "content": {
+          "sa_quotedpriceid": this.$route.query.id,
+          "isadd":this.cooperateForm.isadd
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$refs.itemClass.param.content.pageNumber = 1
+        this.$refs.itemClass.listData()
+        this.cooperateVisible = false
+        this.queryMainData(this.$route.query.id)
+      })
+    },
 
     /*获取安全配置信息*/
     async querySite_Parameter () {

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

@@ -26,7 +26,7 @@
       <add v-if="tool.checkAuth($route.name,'itemClassDetails') && data.status === '新建' && disabled" class="inline-16" @itemClassAdd="listData"
            @uploadData="uploadData" ref="addProduct" @closeDrawer="closeDrawer"
       ></add>
-
+      <slot name="cooperate"></slot>
     </div>
     <div class="produtMag-panel">
       <table-new-layout :layout="tablecols" checkbox="true"  :data="list" :opwidth="200" height="calc(100vh - 388px)" :width="true" :custom="true" fixedName="offerPrice amount" @selectionChange="selectionChange">