瀏覽代碼

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

qymljy 3 年之前
父節點
當前提交
af4873f437

+ 1 - 1
src/HDrpManagement/ProductGroupMag/modules/addGroupDetail.vue

@@ -75,7 +75,7 @@ export default {
       let res = await this.$api.requested(this.params)
       this.list = res.data
       this.total = res.total
-      console.log(res,'商品组明细');
+      console.log(res,'列表数据',this.params);
       
     },
     handleClose(tag) {

+ 1 - 1
src/HDrpManagement/ProductGroupMag/modules/addGroupDetailBtn.vue

@@ -133,7 +133,7 @@ export default {
       let res = await this.$api.requested(this.params)
       this.productList = res.data
       this.total = res.total
-      console.log(this.productList,'商品');
+      console.log(this.productList,'商品数据',this.params);
     },
     submit () {
       this.$refs.form.validate(async val => {

+ 63 - 16
src/HDrpManagement/contractManage/components/addContract.vue

@@ -20,13 +20,13 @@
                   v-model="agentVisible"
                   width="400">
                   <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="agentVisible=true;salerVisible = false;projectVisible=false" v-model="form.enterprisename"></el-input>
+                  <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="salername">
-                  <el-input disabled type="text" size="small" @focus="salerVisible=true;agentVisible=false" v-model="form.salername"></el-input>
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -78,7 +78,7 @@
                   v-model="agentVisible"
                   width="400">
                   <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="agentVisible=true;salerVisible = false;projectVisible=false" v-model="form.enterprisename"></el-input>
+                  <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>
@@ -90,13 +90,13 @@
                   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" @focus="projectVisible=true;salerVisible = false;agentVisible=false" v-model="form.projectname"></el-input>
+                  <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="salername">
-                  <el-input disabled type="text" size="small" @focus="salerVisible=true;agentVisible=false" v-model="form.salername"></el-input>
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -148,7 +148,7 @@
                   v-model="accountVisible"
                   width="400">
                   <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="accountChange" @onCancel="accountVisible = false"></selectAgent>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="accountVisible=true;agentVisible=false;salerVisible = false;projectVisible=false" v-model="form.enterprisename"></el-input>
+                  <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>
@@ -160,13 +160,13 @@
                   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="projectVisible=true;salerVisible = false;agentVisible=false;accountVisible=false" v-model="form.projectname"></el-input>
+                  <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="salername">
-                  <el-input disabled type="text" size="small" @focus="salerVisible=true;agentVisible=false" v-model="form.salername"></el-input>
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -218,13 +218,13 @@
                   v-model="accountVisible"
                   width="400">
                   <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="accountChange" @onCancel="accountVisible = false"></selectAgent>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="accountVisible=true;salerVisible = false" v-model="form.enterprisename"></el-input>
+                  <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="salername">
-                  <el-input disabled type="text" size="small" @focus="salerVisible=true;agentVisible=false" v-model="form.salername"></el-input>
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -245,7 +245,7 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="单套价格(元)">
-                <el-input type="text" disabled size="small" v-model="form.signamount"></el-input>
+                <el-input type="text" disabled size="small" placeholder="系统自动计算" v-model="form.signamount"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -276,7 +276,19 @@
                   v-model="agentVisible"
                   width="400">
                   <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="centerChange" @onCancel="agentVisible = false"></selectAgent>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="agentVisible=true;salerVisible = false;projectVisible=false;accountVisible=false" v-model="form.enterprisename"></el-input>
+                  <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>
@@ -288,13 +300,13 @@
                   v-model="projectVisible"
                   width="600">
                   <seleteProject ref="project" type="3" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="projectVisible=true;salerVisible = false;agentVisible=false;accountVisible=false" v-model="form.projectname"></el-input>
+                  <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="salername">
-                  <el-input disabled type="text" size="small" @focus="salerVisible=true;agentVisible=false" v-model="form.salername"></el-input>
+                  <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -358,11 +370,12 @@ 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},
+  components:{selectPople,TimeSelect,seleteProject,selectAgent,selectModel,seleteProjectContract},
   data () {
     var checkNumber = (rule, value, callback) => {
       if (typeof +value != 'number') {
@@ -376,12 +389,21 @@ export default {
       }
       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:[],
       form: {
         "sa_contractid": 0,
@@ -405,12 +427,20 @@ export default {
         "modelname":"",
         "calculatemodel":'1',
         "productdiscount":'',
-        "orderratio":''
+        "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' },
         ],
@@ -425,6 +455,7 @@ export default {
         ],
         signdate: [
           { required: true, message: '请填写签约金额', trigger: 'change' },
+          { validator:checkTimer, trigger:'change'}
         ],
         productdiscount: [
           { message: '必须为数字', type:'number', trigger: 'change' },
@@ -529,6 +560,15 @@ export default {
     onCancel () {
       this.$store.dispatch('DrawerShowChange',false)
     },
+    showChange (key) {
+      this.agentVisible = false
+      this.salerVisible = false
+      this.projectVisible = false
+      this.accountVisible = false
+      this.modelVisible = false
+      this.concratVisible = false
+      this[key] = true
+    },
     agentChange (data) {
       this.form.sys_enterpriseid = data[0].sys_enterpriseid
       this.form.enterprisename = data[0].enterprisename   
@@ -554,6 +594,13 @@ export default {
       this.form.sys_enterpriseid = data[0].sys_enterpriseid
       this.agentVisible = false
     },
+    concratChange (data) {
+      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);

+ 42 - 3
src/HDrpManagement/contractManage/components/editContract.vue

@@ -245,7 +245,7 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="单套价格(元):">
-                <el-input type="text" readonly size="small" v-model="form.signamount"></el-input>
+                <el-input type="text" readonly size="small" placeholder="系统自动计算" v-model="form.signamount"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -280,6 +280,18 @@
                 </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="concratVisible=true,projectVisible=false;salerVisible = false;agentVisible=false;accountVisible=false" v-model="form.ascription_title"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="项目名称:" prop="sa_projectid">
                 <el-popover
@@ -358,10 +370,13 @@ import selectAgent from './selectAgent'
 import seleteProject from './seleteProject'
 import selectModel from './seleteModel'
 import TimeSelect from './TimeSelect'
+import seleteProjectContract from './seleteProjectContract'
+import { log } from '@antv/g2plot/lib/utils'
+
 export default {
   props:['data','disabled'],
   name: '',
-  components:{selectPople,TimeSelect,seleteProject,selectAgent,selectModel},
+  components:{selectPople,TimeSelect,seleteProject,selectAgent,selectModel,seleteProjectContract},
   data () {
     var checkNumber = (rule, value, callback) => {
       if (typeof +value != 'number') {
@@ -375,6 +390,13 @@ export default {
       }
       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 {
       drawer:false,
       agentVisible:false,
@@ -382,6 +404,7 @@ export default {
       projectVisible:false,
       accountVisible:false,
       modelVisible:false,
+      concratVisible:false,
       form: {
         "sa_contractid": 0,
         "sys_enterpriseid": "",
@@ -405,12 +428,19 @@ export default {
         "typemx":"",//可选
         "calculatemodel":1,
         "productdiscount":'',
-        "orderratio":''
+        "orderratio":'',
+        "ascription_title":''
       },
       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' },
         ],
@@ -419,6 +449,7 @@ export default {
         ],
         signamount: [
           { required: true, message: '请填写签约金额', trigger: 'change' },
+          { validator:checkTimer, trigger:'change'}
         ],
         salername: [
           { required: true, message: '请选择业务员', trigger: 'change' },
@@ -445,6 +476,7 @@ export default {
           { validator: NumberSize, trigger: 'blur'}
         ],
       },
+      
       salerListParams: {
         "id": 20221122153902,
         "content": {
@@ -494,6 +526,8 @@ export default {
       this.$nextTick(() => {
         this.$refs.timeSelect.time = [this.form.begdate,this.form.enddate]
       })
+      console.log(this.form);
+      
     },
     async onSubmit () {
       this.$refs.form.validate(async val => {
@@ -565,6 +599,11 @@ export default {
       this.form.sys_printmodelid = data.sys_printmodelid
       this.modelVisible = false
     },
+    concratChange (data) {
+      this.form.ascription_title = data.projectname
+      this.form.ascription_contractid = data.sa_contractid
+      this.concratVisible = false
+    },
     clearTime () {
 
     },

+ 109 - 0
src/HDrpManagement/contractManage/components/seleteProjectContract.vue

@@ -0,0 +1,109 @@
+<template>
+  <div>
+      <div>
+        <div class="inline-16" style="margin-bottom:10px">
+          <el-input suffix-icon="el-icon-search" size="small" v-model="params.content.where.condition" placeholder="产品名称,编号" @keyup.enter.native="queryEnterpriseArchives(params.content.pageNumber = 1)" @clear="queryEnterpriseArchives(params.content.pageNumber = 1)" clearable></el-input> 
+        </div>
+        <el-table
+          :data="ENlist"
+          stripe
+          style="width: 100%"
+          height="300"
+          border>
+          <el-table-column
+            prop="billno"
+            label="合同编号"
+            width="180">
+          </el-table-column>
+          <el-table-column
+            prop="projectname"
+            label="合同名称"
+            width="180">
+          </el-table-column>
+          <el-table-column
+            prop="title"
+            label="标题">
+          </el-table-column>
+          <el-table-column>
+            <template slot-scope="scope">
+              <el-button size="mini" type="text" @click="rowClick(scope.row)">选 择</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div style="display:flex;justify-content:space-between;margin-top:16px;">
+          <div style="text-align:left">
+          <el-pagination
+              background
+              small
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="params.content.pageNumber"
+              :page-size="params.content.pageSize"
+              layout="total, prev, pager, next"
+              :total="total">
+            </el-pagination>
+          </div>
+          <el-button size="mini" @click="$emit('onCanel')">取消</el-button>
+        </div>
+        
+        
+      </div>
+      <!-- <el-input :validate-event="false" slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives"  placeholder="输入企业名称" clearable></el-input> -->
+  </div>
+</template>
+
+<script>
+export default {
+  props:['tag','type'],
+  data () {
+    return {
+      ENlist:[],
+      total:0,
+      currentPage:0,
+      form:{},
+      params:{
+        "id": 20221217145402,
+        "content": {
+          "nocache":true,
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        }
+      },
+      selected:''
+    }
+  },
+  methods:{
+    async queryEnterpriseArchives () {
+      this.params.content.type = this.type
+      const res = await this.$api.requested(this.params)
+      this.ENlist = res.data
+      this.total = res.total
+      console.log(this.ENlist,'项目合同列表');
+      
+    },
+    handleSizeChange(val) {
+      this.params.content.pageSize = val
+      this.queryEnterpriseArchives()
+    },
+    handleCurrentChange(val) {
+      this.params.content.pageNumber = val
+      this.queryEnterpriseArchives()
+    },
+    rowClick (row) {
+      this.$emit('onSelect',row)
+    },
+    onCancel () {
+      this.$emit('onCancel')
+    }
+  },
+  mounted () {
+    this.queryEnterpriseArchives()
+  }
+}
+
+</script>
+<style>
+</style>

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

@@ -48,7 +48,7 @@ export default {
           "id": 20221121203102,
           "content": {
               "type":1,//0:不通过,1:通过
-              "sa_contractids": [this.data.sa_contractid]
+              "sa_contractid": this.data.sa_contractid
           },
         })
         this.tool.showMessage(res,() => {

+ 22 - 16
src/HDrpManagement/contractManage/modules/detail.vue

@@ -15,7 +15,7 @@
       <div slot="tags">
       </div>
       <div slot="customOperation" >
-        <editBtn :modelList="modelList" v-if="tool.checkAuth($route.name,'update')" :disabled="mainData.status != '新建' || !isLeader" @onSuccess="queryMainData();$refs.billno.listData()" :data="mainData" class="inline-16"/>
+        <editBtn :modelList="modelList" v-if="tool.checkAuth($route.name,'update')" :disabled="mainData.status != '新建' || !isLeader" @onSuccess="queryMainData();$refs.billno && $refs.billno.listData()" :data="mainData" class="inline-16"/>
         <submit-check :disabled="!isLeader" ref="submit" :data="mainData" @onSuccess="queryMainData" />
         <reverseCheck @onSuccess="queryMainData();$refs.submit.refreshFun()" :data="mainData" v-if="tool.checkAuth($route.name,'reverseCheck') && mainData.status == '审核'" />
         <contractOver v-if="tool.checkAuth($route.name,'contractOver') && mainData.status != '已终止' && mainData.status != '审核' && isLeader" :disabled="!isLeader" :id="mainData.sa_contractid" @onSuccess="queryMainData"/>
@@ -184,6 +184,8 @@ export default {
     mainData: {
       handler (val) {
         this.isLeader = val.leader ? JSON.parse(window.sessionStorage.getItem('active_account')).userid == val.leader[0].userid : false
+        console.log(this.isLeader);
+        
       },
       deep:true,
       immediate:true
@@ -523,6 +525,10 @@ export default {
             label:'合同模板',
             value:this.mainData.modelname
           },
+          {
+            label:'项目合同',
+            value:this.mainData.ascription_title
+          },
           {
             label:'居间服务商',
             value:this.mainData.enterprisename
@@ -599,24 +605,24 @@ export default {
       this.queryMainData(this.$route.query.id)
       this.$emit('onSuccess')
     },
-    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);
-    },
+    // 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);
+    // },
   },
   mounted () {
     this.queryMainData(this.$route.query.id)
-    this.getModelList()
+    // this.getModelList()
   },
   created() {
   }

+ 1 - 0
src/HManagement/clueManage/m_activity/index.vue

@@ -99,6 +99,7 @@ export default {
   methods:{
     list (param) {
       param.content.isAll = 0
+      param.content.nocache = true
     },
     async campaigntype () {
       const res = await this.$api.requested({

+ 7 - 2
src/HManagement/marketing2/agent/details/index.vue

@@ -10,7 +10,7 @@
     delApiId="20221011145003"
     idname="sa_agentsid"
     :tags="[]"
-    :tabs="['经销商团队','代理区域','营销类别','账户余额查询','地址管理','联系人管理','财务信息']"
+    :tabs="['经销商团队','代理区域','营销类别','账户余额查询','地址管理','联系人管理','财务信息','关联合同']"
     @pageChange="pageChange"
     @onEditSuccess="queryMainData($route.query.id)">
     <div slot="tags">
@@ -42,6 +42,9 @@
     <div slot="slot6">
       <financial :mainData="mainData"></financial>
     </div>
+    <div slot="slot7">
+      <contract :data="mainData"></contract>
+    </div>
   </basicDetails>
 </template>
 
@@ -51,6 +54,7 @@ import SaleClass from './modules/saleclass/index'
 import accountMoney from './modules/accountMoney/index'
 import agentAddress from './modules/address/list'
 import agentContact from './modules/contact/list'
+import contract from './modules/contract/index'
 import financial from '@/components/financialInfo/index.vue'
 export default {
   data () {
@@ -65,7 +69,8 @@ export default {
     accountMoney,
     agentAddress,
     agentContact,
-    financial
+    financial,
+    contract
   },
   methods:{
     async queryMainData (id) {

+ 151 - 0
src/HManagement/marketing2/agent/details/modules/contract/index.vue

@@ -0,0 +1,151 @@
+
+<template>
+  <div>
+    <div style="display:flex;align-items:center">
+      <el-input
+          placeholder="请输入搜索内容"
+          suffix-icon="el-icon-search"
+          v-model="params.content.where.condition"
+          style="width:200px"
+          size="mini"
+          class="input-with-select inline-16"
+          @keyup.native.enter="listData(params.content.pageNumber=1)"
+          @clear="clearData"
+          clearable>
+      </el-input>
+      <slot name="addOrder"></slot>
+    </div>
+    <div style="margin-top: 15px">
+      <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="true"  :height="tableHieght" fixedName="operation writeoffamount unwriteoffamount">
+        <template v-slot:customcol="scope">
+          <div v-if="scope.column.columnname == 'type'">
+            <span v-if="scope.column.data[[scope.column.columnname]] == '框架'">经销商合作协议</span>
+            <span v-else-if="scope.column.data.typemx == '经销'">经销项目协议</span>
+            <span v-else-if="scope.column.data.typemx == '直销'">直销项目协议</span>
+            <span v-else-if="scope.column.data[[scope.column.columnname]] == '工具借用'">工具使用协议</span>
+            <span v-else-if="scope.column.data[[scope.column.columnname]] == '居间'">居间协议</span>
+          </div>
+           <div v-else-if="scope.column.columnname == 'status'">
+            <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '新建'">{{scope.column.data[[scope.column.columnname]]}}</span>
+            <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '提交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+            <span style="color:#333333" v-else-if="scope.column.data[[scope.column.columnname]] == '审核'">{{scope.column.data[[scope.column.columnname]]}}</span>
+          </div>
+          <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+          <p v-if="!scope.column.data[scope.column.columnname] && scope.column.data[scope.column.columnname] !== 0 && scope.column.columnname != 'operation'">--</p>
+        </template>
+        <template v-slot:opreation="scope">
+          <el-button class="inline-16" type="text" size="mini" @click="save(scope.data)" v-if="currentItem.sa_writeoffbill_orderid == scope.data.sa_writeoffbill_orderid">保 存</el-button>
+          <slot name="editOrder" :data="scope.data" v-else></slot>
+          <slot name="delOrder" :data="scope.data"></slot>
+        </template>
+      </tableLayout>
+    </div>
+    <div style="margin-top:16px;text-align:right">
+      <el-pagination
+          background
+          small
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="params.content.pageNumber"
+          :page-size="params.content.pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+import { log } from '@antv/g2plot/lib/utils'
+export default {
+  props:["data"],
+  data () {
+    return {
+      tableHieght:"600px",
+      tablecols:[],
+      list:[],
+      total:0,
+      search:'',
+      params:{
+        "id": 20221219141702,
+        "content": {
+            "sys_enterpriseid": 3,
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        }
+      },
+      options:[
+      ],
+      productList:'',
+      /* 当前正在编辑的数据信息 */
+      currentItem:''
+    }
+  },
+  provide () {
+    return {
+    }
+  },
+  methods:{
+    async save (data) {
+      let res = await this.$api.requested({
+        "id":20221124090904,
+        "content": {
+          sa_writeoffbillid:this.$route.query.id,
+          writeoffbillOrder: [
+            {
+              "sa_writeoffbill_orderid": data.sa_writeoffbill_orderid,
+                "sa_orderid":data.sa_orderid,
+                "sa_orderitemsid":data.sa_orderitemsid,
+                "writeoffamount":data.writeoffamount,
+                "remarks":""
+            }
+          ]
+        }
+      })
+      console.log(res);
+      this.tool.showMessage(res,() => {
+        this.$emit('onSuccess')
+        this.listData()
+        this.currentItem = ''
+      })
+    },
+    async listData(){
+      this.params.content.sys_enterpriseid = this.data.sys_enterpriseid
+      const res = await this.$api.requested(this.params)
+      this.list = res.data
+      this.total = res.total
+      console.log(this.list)
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    clearData(){
+      this.search = ""
+      this.params.content.where.condition = this.search
+      this.listData()
+    },
+    queryClick(){
+      this.params.content.where.condition = this.search
+      this.listData()
+    }
+  },
+  created() {
+    this.listData()
+    this.tablecols = this.tool.tabelCol(this.$route.name).contractTable.tablecols
+  }
+}
+
+</script>
+<style scoped>
+
+</style>

+ 6 - 1
src/HManagement/marketing2/agent/index.vue

@@ -12,7 +12,8 @@
         :detailPath="{path:'/agent_detail'}"
         :apiId="{query:20221011144903,del:20221011145003}"
         :autoQuery="false"
-        :options="options">
+        :options="options"
+        @listData="list">
         <div slot="custom">
           <div class="label_center">
             <span class="search_label">状态: </span>
@@ -113,6 +114,10 @@ export default {
     },
     onStartArea (status) {
       status === 1?this.areaInfo.isused = 0:this.areaInfo.isused = 1
+    },
+    list(data) {
+      console.log(data);
+      
     }
   }
 }

+ 4 - 36
src/SManagement/orderclue/components/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="edit">
-    <el-button size="mini" :type="!isHandle?'':'primary'" :disabled="!isHandle" @click="editBtn">编 辑</el-button>
+    <el-button size="mini" :type="disabled ? 'defalt':'primary'" :disabled="disabled" @click="editBtn">编 辑</el-button>
     <el-drawer title="编辑线索" :visible.sync="drawer" size="30%" direction="rtl" append-to-body>
       <div class="drawer__panel">
         <el-form :model="param" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm"
@@ -93,7 +93,8 @@ export default {
     },
     data: {
       type: Object
-    }
+    },
+    disabled: Boolean
   },
   inject: ['arealist'],
   computed: {
@@ -104,42 +105,9 @@ export default {
   created () {
   },
   mounted () {
-    this.isHandleFun()
-  },
-  watch: {
-   data(val) {
-     let is 
-      if (!Object.keys(this.data).length) return
-      if(this.data.leader.length > 0 && JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
-        is = true
-        if(this.data.status == '待跟进' || this.data.status == '跟进中') {
-          is = true
-        } else {
-          is = false
-        }
-      } else {
-        is = false
-      }
-      this.isHandle = is
-      
-   }
   },
+  
   methods: {
-    isHandleFun () {
-      let is 
-      if (!Object.keys(this.data).length) return
-      if(this.data.leader.length > 0 && JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
-        is = true
-        if(this.data.status == '待跟进' || this.data.status == '跟进中') {
-          is = true
-        } else {
-          is = false
-        }
-      } else {
-        is = false
-      }
-      this.isHandle = is
-    },
     editBtn () {
       this.drawer = true
       this.param = Object.assign({}, this.param, this.data)

+ 3 - 3
src/SManagement/orderclue_detail/components/noNull.vue

@@ -28,14 +28,14 @@ export default {
   methods: {
     async onSubmit() {
       let res = await this.$api.requested({
-        "classname": "saletool.orderclue.web.orderclue",
-        "method": "addFollowUpLog",
+        'id':'20221208100602',
         "content": {
             "sat_orderclueid": this.id,
             "content": this.deletereason,
             "followupmode": "", //当面拜访、电话沟通
             "logtype": '无效', //跟进、成交、丢单、无效
-            "competitor": ""
+            "competitor": "",
+            "sat_ordercluefollowuplogid":'0'
         }
       })
       this.tool.showMessage(res,() => {

+ 21 - 8
src/SManagement/orderclue_detail/index.vue

@@ -5,7 +5,6 @@
         ref="details"
         :titleText="mainData.name"
         :oldFormPath="{
-          edit:'SManagement/orderclue/components',
         }"
         :editData="mainData"
         :mainAreaData="mainAreaData"
@@ -17,6 +16,7 @@
         @onEditSuccess="queryMainData($route.query.id)"
         @detailCreate="detailCreate">
       <div slot="customOperation">
+        <edit class="inline-16" v-if="Object.keys(mainData).length > 0 && tool.checkAuth($route.name,'update')" :disabled="!isHandle" :data="mainData"/>
         <follow :detailInfo="mainData" 
           v-if="tool.checkAuth($route.name,'follow')"
           @updataList="queryMainData();$refs.followDetail.getFollowDetail()" @onSuccess="$refs.followDetail.getFollowDetail()" :disabled="!isHandle"></follow>
@@ -45,11 +45,11 @@ import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/ba
 import followDetail from '@/SManagement/orderclue_detail/components/followDetail'
 import follow from '@/SManagement/orderclue/components/follow'
 import move from '@/SManagement/orderclue/components/move'
+import edit from '@/SManagement/orderclue/components/edit'
 import Del from './components/delete'
 import noNull from './components/noNull'
 import changeProject from './components/changeData'
 import changeCustomer from './components/changeCustomer'
-import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "detail",
   inject:['teamList'],
@@ -70,21 +70,34 @@ export default {
     Del,
     noNull,
     changeProject,
-    changeCustomer
+    changeCustomer,
+    edit
   },
   watch: {
    mainData(val) {
-     let is 
-      if(this.mainData.leader.length <= 0 ) return
-      if(JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.mainData.leader[0].userid) {
+      let is 
+      if (Object.keys(JSON.parse(window.sessionStorage.getItem('userInfo'))).length > 0) {
+        console.log('负责人逻辑');
+        
+        if(this.mainData.leader.length <= 0 ) return
+        if(JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.mainData.leader[0].userid) {
+          is = true
+          if(this.mainData.status == '待跟进' || this.mainData.status == '跟进中') {
+            is = true
+          } else {
+            is = false
+          }
+        } else {
+          is = false
+        }
+      } else {
+        console.log('不是负责人逻辑');
         is = true
         if(this.mainData.status == '待跟进' || this.mainData.status == '跟进中') {
           is = true
         } else {
           is = false
         }
-      } else {
-        is = false
       }
       this.isHandle = is
       console.log(this.isHandle,'权限');