codeMan 2 роки тому
батько
коміт
cf3fba0445

+ 1 - 1
src/Form/contractManage/add.vue

@@ -27,7 +27,7 @@
       :visible.sync="drawer"
       :with-header="false"
       direction="rtl"
-      size="30%"
+      size="40%"
       append-to-body
       @close="closeDrawer">
       <div>

+ 12 - 12
src/HDrpManagement/contractManage/components/addContract.vue

@@ -25,7 +25,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="业务员:">
+              <el-form-item label="业务员:" prop="">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
@@ -51,7 +51,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="打印模板:">
+              <el-form-item label="打印模板:" prop="">
                 <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
               </el-form-item>
             </el-col>
@@ -95,7 +95,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="业务员:">
+              <el-form-item label="业务员:" prop="">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
@@ -121,7 +121,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="打印模板:">
+              <el-form-item label="打印模板:" prop="">
                 <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
               </el-form-item>
             </el-col>
@@ -165,7 +165,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="业务员:">
+              <el-form-item label="业务员:" prop="">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
@@ -191,7 +191,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="打印模板:">
+              <el-form-item label="打印模板:" prop="">
                 <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
               </el-form-item>
             </el-col>
@@ -223,7 +223,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="业务员:">
+              <el-form-item label="业务员:" prop="">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
@@ -244,12 +244,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="单套价格(元)">
+              <el-form-item label="单套价格(元)" prop="">
                 <el-input type="text" disabled size="small" placeholder="系统自动计算" v-model="form.signamount"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="打印模板:">
+              <el-form-item label="打印模板:" prop="">
                 <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
               </el-form-item>
             </el-col>
@@ -298,7 +298,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="业务员:">
+              <el-form-item label="业务员:" prop="">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
@@ -319,7 +319,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="计算方式">
+              <el-form-item label="计算方式" prop="">
                 <el-radio-group v-model="form.calculatemodel">
                   <el-radio label="1">按订单金额比例计算</el-radio>
                   <el-radio label="2">按产品折扣计算</el-radio>
@@ -337,7 +337,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="打印模板:">
+              <el-form-item label="打印模板:" prop="">
                 <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
               </el-form-item>
             </el-col>

+ 1 - 1
src/HDrpManagement/contractManage/components/editContract.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-button @click="editBtn" :type="disabled?'':'primary'" :disabled="disabled" size="mini">编 辑</el-button>
-    <el-drawer size="30%" :with-header="false" append-to-body :visible.sync="drawer" v-if="form.sa_contractid">
+    <el-drawer size="40%" :with-header="false" append-to-body :visible.sync="drawer" v-if="form.sa_contractid">
       <p class="normal-title normal-panel" style="border-bottom:1px solid #cccccc;padding:16px">编辑{{$route.query.type == '框架' ? '经销商合作' : $route.query.type}}合同</p>
       <div class="container normal-panel">
         <!--合作协议-->

+ 2 - 0
src/HDrpManagement/projectChange/modules/detail.vue

@@ -188,6 +188,8 @@ export default {
       })
 
       this.mainData = res.data
+      console.log(this.mainData);
+      
       /* 获取标签数据 */
       /*this.tagObj = await this.$store.dispatch('queryTagList',{table:'sa_project',id:this.mainData.sa_projectid})*/
       this.flag = 1

+ 516 - 63
src/HDrpManagement/projectChange/modules/modules/contract/components/add.vue

@@ -1,89 +1,542 @@
 <template>
   <div>
-    <el-dropdown :hide-on-click="false" @command="handleCommand">
+    <el-dropdown size="small" :hide-on-click="false" @command="addBtn">
       <span class="el-dropdown-link">
-        <el-button size="small" type="primary" >新 建</el-button>
+        <el-button ref="btn" size="small" type="primary">新 建</el-button>
       </span>
       <el-dropdown-menu slot="dropdown">
-        <el-dropdown-item command="项目协议">项目协议</el-dropdown-item>
-        <el-dropdown-item command="居间协议">居间协议</el-dropdown-item>
+        <el-dropdown-item command="经销项目">经销项目协议</el-dropdown-item>
+        <el-dropdown-item command="直销项目">直销项目协议</el-dropdown-item>
+        <el-dropdown-item command="居间">居间协议</el-dropdown-item>
       </el-dropdown-menu>
     </el-dropdown>
-    <!--居间协议-->
-    <IntermediationAgreement :drawerShow="intermediationShow" v-if="intermediationShow"></IntermediationAgreement>
-    <!--经销协议-->
-    <DistributionProjectAgreement :drawerShow="distributionProjectShow" v-if="distributionProjectShow"></DistributionProjectAgreement>
-    <!--直销协议-->
-    <DirectSalesProjectAgreement :drawerShow="directSalesProjectShow" v-if="directSalesProjectShow"></DirectSalesProjectAgreement>
+    <el-drawer
+      :title="`新建${contractType}协议`"
+      :visible.sync="drawer"
+      :show-close="false"
+      direction="rtl"
+      size="40%"
+      append-to-body
+      @close="closeDrawer">
+      <div class="drawer__panel">
+        <!--经销项目-->
+        <el-row v-if="contractType == '经销项目'">
+          <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="100px" size="small">
+            <el-col :span="24">
+              <el-form-item label="标题:" prop="title">
+                <el-input type="text" size="small" v-model="form.title"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="经销商:" prop="enterprisename">
+                <el-popover
+                  placement="bottom"
+                  trigger="manual"
+                  v-model="agentVisible"
+                  width="500">
+                  <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
+                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('agentVisible')" v-model="form.enterprisename"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目名称:" prop="projectname">
+                <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="业务员:">
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <input type="text" style="display:none" v-model="form.begdate">
+                <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="签约日期:" prop="signdate">
+                <el-date-picker
+                  v-model="form.signdate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="签约金额(元):" prop="signamount">
+                <el-input type="text" size="small" placeholder="系统自动计算" disabled v-model="form.signamount"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="打印模板:" prop="">
+                <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同描述:" prop="hrid">
+                <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+        <!--直销项目-->
+        <el-row v-if="contractType == '直销项目'">
+          <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="100px" size="small">
+            <el-col :span="24">
+              <el-form-item label="标题:" prop="title">
+                <el-input type="text" size="small" v-model="form.title"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="客户" prop="enterprisename">
+                <el-popover
+                  placement="bottom"
+                  trigger="manual"
+                  v-model="accountVisible"
+                  width="500">
+                  <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="accountChange" @onCancel="accountVisible = false"></selectAgent>
+                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('accountVisible')" v-model="form.enterprisename"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目名称:" prop="projectname">
+                <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="业务员:" prop="">
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <input type="text" style="display:none" v-model="form.begdate">
+                <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="签约日期:" prop="signdate">
+                <el-date-picker
+                  v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
+                  type="date"
+                  placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="签约金额(元):" prop="signamount">
+                <el-input type="text" placeholder="系统自动计算" disabled size="small" v-model="form.signamount"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="打印模板:" prop="">
+                <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同描述:" prop="hrid">
+                <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+        <!--居间协议-->
+        <el-row v-if="contractType == '居间'">
+          <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="110px" size="small">
+            <el-col :span="24">
+              <el-form-item label="标题:" prop="title">
+                <el-input type="text" size="small" v-model="form.title"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="居间服务商:" prop="enterprisename">
+                <el-popover
+                  placement="bottom"
+                  trigger="manual"
+                  v-model="agentVisible"
+                  width="500">
+                  <selectAgent ref="member" :type="false" :param="agentListPrams" :radio="true" @onSelect="centerChange" @onCancel="agentVisible = false"></selectAgent>
+                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('agentVisible')" v-model="form.enterprisename"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目合同:" prop="ascription_title">
+                <el-popover
+                  placement="bottom"
+                  trigger="manual"
+                  v-model="concratVisible"
+                  width="600">
+                  <seleteProjectContract ref="projectContract" @onSelect="concratChange" @onCanel="concratVisible=false"></seleteProjectContract>
+                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('concratVisible')" v-model="form.ascription_title"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目名称:" prop="projectname">
+                <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="业务员:" prop="">
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <input type="text" style="display:none" v-model="form.begdate">
+              <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="签约日期:" prop="signdate">
+                <el-date-picker
+                  v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
+                  type="date"
+                  placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="计算方式" prop="">
+                <el-radio-group v-model="form.calculatemodel">
+                  <el-radio label="1">按订单金额比例计算</el-radio>
+                  <el-radio label="2">按产品折扣计算</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24" v-if="form.calculatemodel==1">
+              <el-form-item label="订单金额比例(%):" prop="orderratio" label-width="160px">
+                <el-input type="text" size="small" v-model.number="form.orderratio"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24" v-if="form.calculatemodel==2">
+              <el-form-item label="产品折扣(%)" prop="productdiscount">
+                <el-input type="text" size="small" v-model.number="form.productdiscount"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="打印模板:" prop="">
+                <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同描述:" prop="">
+                <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
   </div>
 </template>
 
 <script>
-import IntermediationAgreement from "@/HDrpManagement/projectChange/modules/modules/contract/components/IntermediationAgreement";
-import DistributionProjectAgreement from "@/HDrpManagement/projectChange/modules/modules/contract/components/DistributionProjectAgreement";
-import DirectSalesProjectAgreement from "@/HDrpManagement/projectChange/modules/modules/contract/components/DirectSalesProjectAgreement";
+import {mapGetters} from 'vuex'
+
+import selectAgent from '@/HDrpManagement/contractManage/components/selectAgent'
+import TimeSelect from '@/HDrpManagement/contractManage/components/TimeSelect'
+import seleteProjectContract from '@/HDrpManagement/contractManage/components/seleteProjectContract'
+
 export default {
-  name: "add",
-  props:["data"],
-  components:{IntermediationAgreement,DistributionProjectAgreement,DirectSalesProjectAgreement},
-  data(){
+  props:['data'],
+  components:{
+    selectAgent,
+    TimeSelect,
+    seleteProjectContract
+  },
+  computed: {
+  },
+  data () {
+    var checkNumber = (rule, value, callback) => {
+      if (typeof +value != 'number') {
+        return callback(new Error('请填写数字'));
+      }
+      callback()
+    }
+    var NumberSize = (rule, value, callback) => {
+      if (+value > 100 || +value < 1 && value) {
+        return callback(new Error('折扣范围(1-100)'));
+      }
+      callback()
+    }
     return {
-      intermediationShow:false,
-      distributionProjectShow:false,
-      directSalesProjectShow:false,
-      flag:0,
+      drawer:false,
+      contractType:'',
+      agentVisible:false,
+      salerVisible:false,
+      projectVisible:false,
+      accountVisible:false,
+      modelVisible:false,
+      concratVisible:false,
+      form: {
+        "sa_contractid": 0,
+        "sys_enterpriseid": "",
+        "projectname":'',
+        "begdate": "",
+        "enddate": "",
+        "sa_projectid": "", //可选
+        "type": "", //可选
+        "discountrate": '', //可选
+        "saler_hrid": JSON.parse(window.sessionStorage.getItem('active_account')).hrid, //可选
+        "signdate": "", //可选
+        "signby": "", //可选
+        "remarks": "", //可选
+        "title": "",
+        "signamount":'',
+        "salername":JSON.parse(window.sessionStorage.getItem('active_account')).name,
+        "enterprisename":'',
+        "sys_printmodelid": '',//可选
+        "typemx":"",//可选
+        "modelname":"",
+        "calculatemodel":'1',
+        "productdiscount":'',
+        "orderratio":'',
+        "ascription_title":'',
+        'ascription_contractid':''
+      },
+      rules: {
+        title: [
+          { required: true, message: '请填写标题', trigger: 'blur' },
+        ],
+        sys_enterpriseid: [
+          { required: true, message: '请选择经销商', trigger: 'blur' },
+        ],
+        ascription_title: [
+          { required: true, message: '请选择项目合同', trigger: 'change' },
+        ],
+        begdate: [
+          { required: true, message: '请选择生效日期', trigger: 'blur' },
+        ],
+        projectname: [
+          { required: true, message: '请选择项目', trigger: 'change' },
+        ],
+        salername: [
+          { required: true, message: '请选择业务员', trigger: 'change' },
+        ],
+        enterprisename: [
+          { required: true, message: '请选择', trigger: 'change' },
+        ],
+        signdate: [
+          { required: true, message: '请填写签约时间', trigger: 'change' },
+        ],
+        productdiscount: [
+          { message: '必须为数字', type:'number', trigger: 'change' },
+          { required: true, message: '请填写折扣', trigger: 'blur' },
+        ],
+        orderratio: [
+          { message: '必须为数字', type:'number', trigger: 'change' },
+          { required: true, message: '请填写折扣', trigger: 'blur' },
+        ],
+        salername: [
+          { required: true, message: '请选择经销商', trigger: 'change' },
+        ],
+        discountrate: [
+          { validator: checkNumber, trigger: 'blur'},
+          { validator: NumberSize, trigger: 'blur'}
+        ],
+      },
+      salerListParams: {
+        "id": 20221122153902,
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        },
+      },
+      agentListPrams: {
+        "id": 20220920083901,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+              "condition": "",
+              "type":'',
+          }
+        }
+      },
     }
   },
-  methods:{
-    handleCommand(val){
-      console.log(val)
-      if (val === '居间协议'){
-        this.intermediationShow = true
-        this.distributionProjectShow = false
-        this.directSalesProjectShow = false
-      }else {
-        if (this.flag === 1){
-          this.distributionProjectShow = true
-          this.directSalesProjectShow = false
-          this.intermediationShow = false
-        }else if(this.flag === 2) {
-          this.directSalesProjectShow = true
-          this.intermediationShow = false
-          this.distributionProjectShow = false
+  computed: {
+    ...mapGetters({
+      DrawerShow:'DrawerShow'
+    }),
+  },
+  watch: {
+    drawer: {
+      handler (val) {
+        if (!val) {
+          this.showChange(false)
+          if (this.$refs.form) this.$refs.form.resetFields()
+          this.$refs.timeSelect.time = ''
         }
+      },
+    }
+  },
+  methods:{
+    closeDrawer () {
+    },
+    addBtn (type) {
+      this.form = Object.assign({},this.form,this.data)
+      this.drawer = true
+      this.contractType = type
+      if (type == '居间') {
+        this.$nextTick(() => {
+          this.$refs.projectContract.params.content.where.sa_projectid = this.data.sa_projectid
+          this.$refs.projectContract.queryEnterpriseArchives()
+        })
       }
     },
-    /*标签查询*/
-    async queryTag(){
-      this.flag = 0
-      const res = await this.$api.requested({
-        "id": 20220929085401,
-        "content": {
-          "ownertable":'sa_project',
-          "ownerid":this.data.sa_projectid
-        }
-      })
-      console.log(res,"标签数据")
-      if (res.data.datatag.length !== 0){
-        for (let i=0;i<res.data.datatag.length;i++){
-          if (res.data.datatag[i] === '经销'){
-            this.flag = 1
-            break
-          }else if (res.data.datatag[i] === '直销'){
-            this.flag = 2
-            break
+    async onSubmit () {
+      this.$refs.form.validate(async val => {
+        if (val) {
+          /* 居间新建 */
+          if (this.contractType == '居间') {
+            let is = this.centerEnterpriseList.some(item => item.sys_enterpriseid == this.form.sys_enterpriseid)
+            if (is) {
+              this.$confirm('当前项目已存在此居间商,请切换到"关联客户"维护','提示',{
+                confirmButtonText:'确定',
+                cancelButtonText:'取消'
+              }).then(() => {
+                // JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+                //   item1.modules.forEach(item2 => {
+                //     if(item2.systemmodulename == "项目管理") {
+                //       sessionStorage.setItem('active_modules',JSON.stringify(item2))
+                //       this.$store.dispatch('changeDetailDrawer',true)
+                //       this.$store.dispatch('DrawerShowChange',false)
+                //       this.$router.push({path:'/projectChangeDetail',query:{id:this.centerEnterpriseList[0].sa_projectid}})
+                //       return
+                //     }
+                //   })
+                // })
+              })
+            } else {
+              if (this.contractType == '直销项目') {
+                this.form.type = '项目'
+                this.form.typemx = '直销'
+              } else if (this.contractType == '经销项目') {
+                this.form.type = '项目'
+                this.form.typemx = '经销'
+              } else {
+                this.form.type = this.contractType
+              }
+              this.form.discountrate ? this.form.discountrate =  (this.form.discountrate / 100).toFixed(4) : ''
+              this.form.productdiscount ? this.form.productdiscount =  (this.form.productdiscount / 100).toFixed(4) : ''
+              this.form.orderratio ? this.form.orderratio =  (this.form.orderratio / 100).toFixed(4) : ''
+              let res = await this.$api.requested({
+                "id":20221121185302,
+                "content": this.form
+              })
+              this.tool.showMessage(res,() => {
+                this.$emit('onSuccess')
+                this.drawer = false
+              })
+            }
+          } else {
+            /* 其它新建 */
+            if (this.contractType == '直销项目') {
+              this.form.type = '项目'
+              this.form.typemx = '直销'
+            } else if (this.contractType == '经销项目') {
+              this.form.type = '项目'
+              this.form.typemx = '经销'
+            } else {
+              this.form.type = this.contractType
+            }
+            this.form.discountrate ? this.form.discountrate =  (this.form.discountrate / 100).toFixed(4) : ''
+            this.form.productdiscount ? this.form.productdiscount =  (this.form.productdiscount / 100).toFixed(4) : ''
+            this.form.orderratio ? this.form.orderratio =  (this.form.orderratio / 100).toFixed(4) : ''
+            let res = await this.$api.requested({
+              "id":20221121185302,
+              "content": this.form
+            })
+            this.tool.showMessage(res,() => {
+              console.log(res.data);
+              this.$emit('onSuccess')
+              this.drawer = false
+              // this.$store.dispatch('DrawerShowChange',false)
+              // this.$store.dispatch('changeDetailDrawer',true)
+              // this.$router.push({path:'/contractDetail',query:{type:this.contractType,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
+            })
           }
+          
         }
-      }
-      console.log(this.flag,"是否经销")
-    }
+      })
+    },
+    accountChange (data) {
+      this.form.enterprisename = data[0].enterprisename
+      this.form.sys_enterpriseid = data[0].sys_enterpriseid
+      this.accountVisible = false
+    },
+    projectChange (data) {
+      this.form.projectname = data.projectname
+      this.form.sa_projectid = data.sa_projectid
+      this.projectVisible = false
+    },
+    agentChange (data) {
+      this.form.sys_enterpriseid = data[0].sys_enterpriseid
+      this.form.enterprisename = data[0].enterprisename   
+      this.agentVisible = false 
+    },
+    centerChange (data) {
+      this.form.enterprisename = data[0].enterprisename
+      this.form.sys_enterpriseid = data[0].sys_enterpriseid
+      this.agentVisible = false
+    },
+    concratChange (data) {
+      this.centerEnterpriseList = data.parties
+      this.form.ascription_title = data.projectname
+      this.form.ascription_contractid = data.sa_contractid
+      this.form.projectname = data.projectname
+      this.form.sa_projectid = data.sa_projectid
+      this.concratVisible = false
+    },
+    showChange (key) {
+      this.agentVisible = false
+      this.salerVisible = false
+      this.projectVisible = false
+      this.accountVisible = false
+      this.modelVisible = false
+      this.concratVisible = false
+      key ? this[key] = true : ''
+    },
+    clearTime () {
+      this.form.begdate = ''
+      this.form.enddate = ''
+    },
+    timeChange (time) {
+      this.form.begdate = time[0]
+      this.form.enddate = time[1]
+    },
   },
-  mounted() {
-    this.queryTag()
+  created() {
+  },
+  mounted () {
   }
 }
-</script>
 
+</script>
 <style scoped>
-
+.box p {
+  line-height: 40px;
+  text-align: center;
+}
+.box p:hover {
+  background: #EBF1FE;
+  color: #6191F8;
+  cursor: pointer;
+}
 </style>

+ 89 - 0
src/HDrpManagement/projectChange/modules/modules/contract/components/add2.vue

@@ -0,0 +1,89 @@
+<template>
+  <div>
+    <el-dropdown :hide-on-click="false" @command="handleCommand">
+      <span class="el-dropdown-link">
+        <el-button size="small" type="primary" >新 建</el-button>
+      </span>
+      <el-dropdown-menu slot="dropdown">
+        <el-dropdown-item command="项目协议">项目协议</el-dropdown-item>
+        <el-dropdown-item command="居间协议">居间协议</el-dropdown-item>
+      </el-dropdown-menu>
+    </el-dropdown>
+    <!--居间协议-->
+    <IntermediationAgreement :drawerShow="intermediationShow" v-if="intermediationShow"></IntermediationAgreement>
+    <!--经销协议-->
+    <DistributionProjectAgreement :drawerShow="distributionProjectShow" v-if="distributionProjectShow"></DistributionProjectAgreement>
+    <!--直销协议-->
+    <DirectSalesProjectAgreement :drawerShow="directSalesProjectShow" v-if="directSalesProjectShow"></DirectSalesProjectAgreement>
+  </div>
+</template>
+
+<script>
+import IntermediationAgreement from "@/HDrpManagement/projectChange/modules/modules/contract/components/IntermediationAgreement";
+import DistributionProjectAgreement from "@/HDrpManagement/projectChange/modules/modules/contract/components/DistributionProjectAgreement";
+import DirectSalesProjectAgreement from "@/HDrpManagement/projectChange/modules/modules/contract/components/DirectSalesProjectAgreement";
+export default {
+  name: "add",
+  props:["data"],
+  components:{IntermediationAgreement,DistributionProjectAgreement,DirectSalesProjectAgreement},
+  data(){
+    return {
+      intermediationShow:false,
+      distributionProjectShow:false,
+      directSalesProjectShow:false,
+      flag:0,
+    }
+  },
+  methods:{
+    handleCommand(val){
+      console.log(val)
+      if (val === '居间协议'){
+        this.intermediationShow = true
+        this.distributionProjectShow = false
+        this.directSalesProjectShow = false
+      }else {
+        if (this.flag === 1){
+          this.distributionProjectShow = true
+          this.directSalesProjectShow = false
+          this.intermediationShow = false
+        }else if(this.flag === 2) {
+          this.directSalesProjectShow = true
+          this.intermediationShow = false
+          this.distributionProjectShow = false
+        }
+      }
+    },
+    /*标签查询*/
+    async queryTag(){
+      this.flag = 0
+      const res = await this.$api.requested({
+        "id": 20220929085401,
+        "content": {
+          "ownertable":'sa_project',
+          "ownerid":this.data.sa_projectid
+        }
+      })
+      console.log(res,"标签数据")
+      if (res.data.datatag.length !== 0){
+        for (let i=0;i<res.data.datatag.length;i++){
+          if (res.data.datatag[i] === '经销'){
+            this.flag = 1
+            break
+          }else if (res.data.datatag[i] === '直销'){
+            this.flag = 2
+            break
+          }
+        }
+      }
+      console.log(this.flag,"是否经销")
+    }
+  },
+  mounted() {
+    this.queryTag()
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 21 - 3
src/HDrpManagement/projectChange/modules/modules/contract/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <div>
-<!--      <add class="inline-16" :data="data" @insertSuccess="onSuccess"></add>-->
+     <add class="inline-16" :data="data" @onSuccess="listData"></add>
       <el-input
           placeholder="请输入搜索内容"
           suffix-icon="el-icon-search"
@@ -23,8 +23,9 @@
           <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
         </template>
         <template v-slot:opreation="scope">
-<!--          <edit :data="scope.data" class="inline-16" @editSuccess="onSuccess"></edit>
-          <delContact :data="scope.data" @delSuccess="onSuccess" class="inline-16"></delContact>-->
+         <!-- <edit :data="scope.data" class="inline-16" @editSuccess="onSuccess"></edit>
+          <delContact :data="scope.data" @delSuccess="onSuccess" class="inline-16"></delContact> -->
+          <el-button type="text" size="mini" @click="goDetail(scope.data)">详 情</el-button>
         </template>
       </tableLayout>
     </div>
@@ -44,6 +45,7 @@
 </template>
 
 <script>
+// import add from './components/add2'
 import add from './components/add'
 export default {
   name: "index",
@@ -102,6 +104,22 @@ export default {
     },
     onSuccess(){
       this.listData()
+    },
+    goDetail (data) {
+      let type
+      data.type == '项目' 
+        ? data.typemx == '直销' 
+          ? type = '直销项目' : type = '经销项目'
+          : type = data.type
+      JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+        item1.modules.forEach(item2 => {
+          if(item2.systemmodulename == "合同管理") {
+            sessionStorage.setItem('active_modules',JSON.stringify(item2))
+            this.$router.push({path:'/contractDetail',query:{id:data.sa_contractid,type:type}})
+            return
+          }
+        })
+      })
     }
   },
   mounted() {

+ 2 - 2
src/SManagement/orderclue_detail/index.vue

@@ -24,8 +24,8 @@
           @updataList="queryMainData" 
           :teamList="teamList()"  
           v-if="userInfo.isAuth == 1 ? mainData.status == '待跟进' || mainData.status == '跟进中' : ''"></move> -->
-        <changeProject v-if=" mainData.isproject == 0 && tool.checkAuth($route.name,'changeProject')" :data="mainData" :disabled="!isHandle" class="inline-16"/>
-        <changeCustomer v-if=" mainData.iscustomer == 0 && tool.checkAuth($route.name,'changeCutomer')" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeCustomer="onChangeCustomer"></changeCustomer>
+        <changeProject v-if="mainData.isproject == 0 && tool.checkAuth($route.name,'changeProject')" :data="mainData" :disabled="!isHandle" class="inline-16"/>
+        <changeCustomer v-if="mainData.iscustomer == 0 && tool.checkAuth($route.name,'changeCutomer')" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeCustomer="onChangeCustomer"></changeCustomer>
         <el-button :type="!isHandle?'':'primary'" v-if="tool.checkAuth($route.name,'goBack') && mainData.status != '已转化'" :disabled="!isHandle" class="inline-16" size="mini" @click="goBack">退 回</el-button>
         <noNull v-if="tool.checkAuth($route.name,'change') && mainData.status != '已转化'" class="inline-16" :disabled="!isHandle" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid"/>
         <Del v-if="tool.checkAuth($route.name,'delete') && mainData.status != '已转化'" class="inline-16" :disabled="!isHandle" :idName="20221123193702" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid" idKey="sat_orderclueids"/>