qymljy 2 years ago
parent
commit
6cc91d0c45

+ 37 - 25
src/Form/publicCustomer/add.vue

@@ -96,6 +96,21 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业简称:" prop="abbreviation">
+                <el-input v-model="form.abbreviation" placeholder="企业简称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业税号:" prop="taxno">
+                <el-input v-model="form.taxno" placeholder="税号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="法人:" prop="contact">
+                <el-input v-model="form.contact" placeholder="请输入企业税号" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="所属行业:" >
                 <el-select v-model="form.industry" placeholder="请选择所属行业" style="width: 100%">
@@ -108,6 +123,26 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="省市县:" >
+                <el-cascader
+                    style="width: 100%"
+                    v-model="value"
+                    :options="basicData.data().areaData"
+                    @change="cascaderChange" clearable>
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业地址:" prop="address">
+                <el-input v-model="form.address" placeholder="详细地址"></el-input>
+              </el-form-item>
+            </el-col>
+<!--            <el-col :span="24">
+              <el-form-item label="联系方式:" prop="phonenumber">
+                <el-input v-model="form.phonenumber" placeholder="请输入联系方式" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>-->
             <el-col :span="24">
               <el-form-item label="上级客户:" >
                 <el-popover
@@ -165,31 +200,8 @@
                 </el-popover>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="省市县:" >
-                <el-cascader
-                    style="width: 100%"
-                    v-model="value"
-                    :options="basicData.data().areaData"
-                    @change="cascaderChange" clearable>
-                </el-cascader>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业地址:" prop="address">
-                <el-input v-model="form.address" placeholder="详细地址"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业简称:" prop="abbreviation">
-                <el-input v-model="form.abbreviation" placeholder="企业简称"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业税号:" prop="taxno">
-                <el-input v-model="form.taxno" placeholder="税号"></el-input>
-              </el-form-item>
-            </el-col>
+
+
 <!--            <el-col :span="24">
               <el-form-item label="联系人:" prop="contact">
                 <el-input v-model="form.contact" placeholder="联系人"></el-input>

+ 38 - 31
src/Form/salerPrivatecustomer/add.vue

@@ -84,6 +84,21 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业简称:" prop="abbreviation">
+                <el-input v-model="form.abbreviation" placeholder="请输入企业简称" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业税号:" prop="taxno">
+                <el-input v-model="form.taxno" placeholder="请输入企业税号" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="法人:" prop="contact">
+                <el-input v-model="form.contact" placeholder="请输入企业税号" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="所属行业:" >
                 <el-select v-model="form.industry" placeholder="请选择所属行业" style="width: 100%">
@@ -96,6 +111,26 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="省市县:" >
+                <el-cascader
+                    style="width: 100%"
+                    v-model="value"
+                    :options="basicData.data().areaData"
+                    @change="cascaderChange" clearable>
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业地址:" prop="address">
+                <el-input v-model="form.address" placeholder="请输入企业地址" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+<!--            <el-col :span="24">
+              <el-form-item label="联系方式:" prop="phonenumber">
+                <el-input v-model="form.phonenumber" placeholder="请输入联系方式" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>-->
             <el-col :span="24">
               <el-form-item label="上级客户:" >
                 <el-popover
@@ -153,37 +188,7 @@
                 </el-popover>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="省市县:" >
-                <el-cascader
-                    style="width: 100%"
-                    v-model="value"
-                    :options="basicData.data().areaData"
-                    @change="cascaderChange" clearable>
-                </el-cascader>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业地址:" prop="address">
-                <el-input v-model="form.address" placeholder="请输入企业地址" style="width: 100%"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业简称:" prop="abbreviation">
-                <el-input v-model="form.abbreviation" placeholder="请输入企业简称" style="width: 100%"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业税号:" prop="taxno">
-                <el-input v-model="form.taxno" placeholder="请输入企业税号" style="width: 100%"></el-input>
-              </el-form-item>
-            </el-col>
 
-            <el-col :span="24">
-              <el-form-item label="联系方式:" prop="phonenumber">
-                <el-input v-model="form.phonenumber" placeholder="请输入联系方式" style="width: 100%"></el-input>
-              </el-form-item>
-            </el-col>
           </el-form>
         </el-row>
       </div>
@@ -258,7 +263,8 @@ export default {
         city:'',
         county:'',
         address:'',
-        ispublic:0
+        ispublic:0,
+        contact:''
       },
       value:'',
       options:{
@@ -333,6 +339,7 @@ export default {
         this.form.province = val.regProvince
         this.form.city = val.regCity
         this.form.county = val.regArea
+        this.form.contact = val.legalPerson
       }).catch(() => {
         this.$message({
           type: 'info',

+ 4 - 15
src/HDrpManagement/contractManage/components/addContract.vue

@@ -287,7 +287,7 @@
                   trigger="manual"
                   v-model="concratVisible"
                   width="600">
-                  <seleteProjectContract ref="project" @onSelect="concratChange" @onCanel="concratVisible=false"></seleteProjectContract>
+                  <seleteProjectContract ref="project" @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>
@@ -553,21 +553,10 @@ export default {
           if (this.$route.query.type == '居间') {
             let is = this.centerEnterpriseList.some(item => item.sys_enterpriseid == this.form.sys_enterpriseid)
             if (is) {
-              this.$confirm('当前项目已存在此居间商,请前往项目商机维护','提示',{
-                confirmButtonText:'确定',
-                cancelButtonText:'取消'
+              this.$confirm('该项目商机已存在居间服务商,不可创建','提示',{
+                cancelButtonText:'取消',
+                showConfirmButton:false
               }).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.$route.query.type == '直销项目') {

+ 741 - 0
src/HDrpManagement/contractManage/components/addContractCopy.vue

@@ -0,0 +1,741 @@
+<template>
+  <div>
+    <!-- <p class="normal-title normal-panel" style="line-height:32px;padding-left:16px;border-bottom:1px solid #eeeeee">新建合同</p> -->
+    <div>
+      <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" style="padding-bottom:0">
+        <!--合作协议-->
+        <el-row v-if="$route.query.type == '框架'">
+          <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="">
+                  <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="discountrate">
+                <el-input type="text" size="small" v-model="form.discountrate"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <el-input style="display:none" v-model="form.begdate"></el-input>
+              <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="">
+                <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="remarks">
+                <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="$route.query.type == '经销项目'">
+          <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-popover
+                  placement="bottom"
+                  trigger="manual"
+                  v-model="projectVisible"
+                  width="600">
+                  <seleteProject ref="project" type="2" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
+                  <el-input readonly type="text" slot="reference" size="small" v-model="form.projectname" @focus="showChange('projectVisible')"></el-input>
+                </el-popover>
+              </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"
+                  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="$route.query.type == '直销项目'">
+          <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-popover
+                  placement="bottom"
+                  trigger="manual"
+                  v-model="projectVisible"
+                  width="600">
+                  <seleteProject ref="project" type="1" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
+                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('projectVisible')" v-model="form.projectname"></el-input>
+                </el-popover>
+              </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="$route.query.type == '工具借用'">
+          <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="">
+                  <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-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="合同模板:" 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="$route.query.type == '居间'">
+          <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="project" @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="hrid">
+                <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+    </div>
+    <div class="fixed__btn__panel">
+      <el-button size="small" @click="onCancel" class="normal-btn-width">取 消</el-button>
+      <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import {mapGetters} from 'vuex'
+import selectPople from './selectSaler'
+import selectAgent from './selectAgent'
+import seleteProject from './seleteProject'
+import seleteProjectContract from './seleteProjectContract'
+import TimeSelect from './TimeSelect'
+import selectModel from './seleteModel'
+export default {
+  name: '',
+  components:{selectPople,TimeSelect,seleteProject,selectAgent,selectModel,seleteProjectContract},
+  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()
+    }
+    var checkTimer = (rule, value, callback) => {
+      if (new Date(this.form.enddate).getTime() > new Date(value).getTime() && new Date(this.form.begdate).getTime() < new Date(value).getTime()) {
+        callback()
+      } {
+        return callback(new Error('签约日期必须在合同有效期内'));
+      }
+    }
+
+    return {
+      agentVisible:false,
+      salerVisible:false,
+      projectVisible:false,
+      accountVisible:false,
+      modelVisible:false,
+      concratVisible:false,
+      modelList:[],
+      /* 新建居间项目时 所关联的居间商 */
+      centerEnterpriseList:[],
+      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":'',
+          }
+        }
+      },
+    };
+  },
+  computed: {
+    ...mapGetters({
+      DrawerShow:'DrawerShow'
+    })
+  },
+  watch: {
+    'DrawerShow': {
+      handler (val) {
+        if (!val) {
+          this.showChange(false)
+          if (this.$refs.form) this.$refs.form.resetFields()
+          this.$refs.timeSelect.time = ''
+          
+          
+        } else {
+          if(this.$refs.member) this.$refs.member.listData()
+          if(this.$refs.project) {
+            this.$refs.project.params.content.type = this.$route.query.type == '经销项目' ? '2' : '1'
+            console.log(this.$refs.project.params.content.type,'项目类型');
+            
+            this.$refs.project.queryEnterpriseArchives()
+          }
+        }
+        
+      },
+      immediate:true,
+    }
+  },
+  created () {
+    this.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':''
+    }
+  },
+  methods: {
+    async onSubmit () {
+      this.$refs.form.validate(async val => {
+        if (val) {
+          /* 居间新建 */
+          if (this.$route.query.type == '居间') {
+            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.$route.query.type == '直销项目') {
+                this.form.type = '项目'
+                this.form.typemx = '直销'
+              } else if (this.$route.query.type == '经销项目') {
+                this.form.type = '项目'
+                this.form.typemx = '经销'
+              } else {
+                this.form.type = this.$route.query.type
+              }
+              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.$store.dispatch('DrawerShowChange',false)
+                this.$store.dispatch('changeDetailDrawer',true)
+                this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
+              })
+            }
+          } else {
+            /* 其它新建 */
+            if (this.$route.query.type == '直销项目') {
+              this.form.type = '项目'
+              this.form.typemx = '直销'
+            } else if (this.$route.query.type == '经销项目') {
+              this.form.type = '项目'
+              this.form.typemx = '经销'
+            } else {
+              this.form.type = this.$route.query.type
+            }
+            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.$store.dispatch('DrawerShowChange',false)
+              this.$store.dispatch('changeDetailDrawer',true)
+              this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
+            })
+          }
+          
+        }
+      })
+    },
+    onCancel () {
+      this.$store.dispatch('DrawerShowChange',false)
+      this.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':''
+      }
+    },
+    showChange (key) {
+      this.agentVisible = false
+      this.salerVisible = false
+      this.projectVisible = false
+      this.accountVisible = false
+      this.modelVisible = false
+      this.concratVisible = false
+      key ? this[key] = true : ''
+    },
+    agentChange (data) {
+      this.form.sys_enterpriseid = data[0].sys_enterpriseid
+      this.form.enterprisename = data[0].enterprisename   
+      this.agentVisible = false 
+    },
+    salerChange (data) {
+      this.form.saler_hrid = data[0].hrid
+      this.form.saler_name = data[0].name   
+      this.salerVisible = false 
+    },
+    projectChange (data) {
+      this.form.projectname = data.projectname
+      this.form.sa_projectid = data.sa_projectid
+      this.projectVisible = false
+    },
+    accountChange (data) {
+      this.form.enterprisename = data[0].enterprisename
+      this.form.sys_enterpriseid = data[0].sys_enterpriseid
+      this.accountVisible = 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
+    },
+    modelChange (data) {
+      this.form.modelname = data.modelname
+      console.log(this.form.modelname);
+      
+      this.form.sys_printmodelid = data.sys_printmodelid
+      this.modelVisible = false
+    },
+    clearTime () {
+      this.form.begdate = ''
+      this.form.enddate = ''
+    },
+    timeChange (time) {
+      this.form.begdate = time[0]
+      this.form.enddate = time[1]
+    },
+    async getModelList () {
+      let res = await this.$api.requested({
+        "id": 20221121155801,
+        "content": { 
+          "pageNumber": 1,
+            "pageSize": 999999,
+            "where":{
+            "condition":""
+            }
+        }
+      })
+      this.modelList = res.data
+      console.log(this.modelList);
+    }
+  },
+};
+</script>
+
+<style scoped>
+* {
+  box-sizing: border-box;
+}
+.header_info {
+  background: #ffffff;
+  padding: 16px 16px 0 16px;
+  margin-bottom: 16px;
+}
+/deep/.el-select,.el-input,.el-date-editor {
+  width: 100% !important;
+}
+</style>

+ 18 - 15
src/HDrpManagement/contractManage/components/contractClause/contractClause.vue

@@ -97,27 +97,30 @@ export default {
       })
     },
     async save (data) {
-      if(!data.content) return
-      let res = await this.$api.requested({
+      if(!data.content)  {
+        this.$message.error('条款内容不能为空');
+      }else {
+        let res = await this.$api.requested({
           "id": 20221128144502,
           "content": {
             "sa_contractid": this.$route.query.id,
             "items": [
-                {
-                  "sa_contract_clauseid": data.sa_contract_clauseid,
-                  "content": data.content
-                },
+              {
+                "sa_contract_clauseid": data.sa_contract_clauseid,
+                "content": data.content
+              },
             ]
           },
-      })
-      this.tool.showMessage(res,() => {
-        
-        let index = this.list.findIndex(item => item == data)
-        this.list[index] = res.data[0]
-        this.currentEdit = {}
-        console.log(this.list);
-        this.$forceUpdate()
-      })
+        })
+        this.tool.showMessage(res,() => {
+
+          let index = this.list.findIndex(item => item == data)
+          this.list[index] = res.data[0]
+          this.currentEdit = {}
+          console.log(this.list);
+          this.$forceUpdate()
+        })
+      }
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);

+ 1 - 1
src/HDrpManagement/contractManage/components/toolList/addTool.vue

@@ -125,7 +125,7 @@ export default {
           "itemid": item.itemid,
           "price": item.marketprice,
           "qty": 1,
-          "marketprice":data.marketprice
+          "marketprice":item.marketprice
         }
       })
       let res = await this.$api.requested({

+ 6 - 4
src/HDrpManagement/contractManage/modules/detail.vue

@@ -109,7 +109,7 @@
             <el-button 
               v-if="tool.checkAuth($route.name,'contractClauseManage')"
               class="inline-16" 
-              :disabled="mainData.status != '新建' || scope.data.editable != 1 || !isLeader" 
+              :disabled="mainData.status != '新建' || scope.data.editable != 1 || !isLeader"
               type="text" size="mini" slot="edit" 
               @click="$refs.Claus.currentEdit = scope.data;$refs.Claus.form = Object.assign({},$refs.Claus.form,scope.data)"
             >编 辑</el-button>
@@ -118,9 +118,10 @@
           <template v-slot:del="scope">
             <delete-btn
              :nameId="20221128160302" 
-             nameKey="contractClauseManage" 
+             nameKey="sa_contract_clauseids"
+             :message="message"
              :id="scope.data.sa_contract_clauseid" @deleteSuccess="$refs.Claus.listData()"
-             v-if="scope.data.sa_contract_clauseid == 0"
+             v-if="scope.data.sa_contract_clauseid !== 0"
             ></delete-btn>
           </template>
         </contractClause>
@@ -176,7 +177,8 @@ export default {
       mainAreaData:{},
       modelList:[],
       isLeader:false,
-      detailInfo:{}
+      detailInfo:{},
+      message:'确定删除当前条款吗?'
     }
   },
   components:{