Browse Source

销售线索、线索管理和公海线索调整

qymljy 2 years ago
parent
commit
e170bbacd3
22 changed files with 1205 additions and 201 deletions
  1. 3 3
      src/HDrpManagement/dataanalysis/index.vue
  2. 2 7
      src/HDrpManagement/invoicePredictionManage/details/modules/custom.vue
  3. 1 6
      src/HDrpManagement/invoicePredictionManage/details/modules/customDetail.vue
  4. 2 7
      src/HDrpManagement/invoicePredictionManage/details/modules/project.vue
  5. 1 7
      src/HDrpManagement/invoicePredictionManage/details/modules/projectDetail.vue
  6. 50 6
      src/HDrpManagement/projectChange/modules/modules/clue/index.vue
  7. 238 128
      src/HManagement/clueManage/clue_private/modules/add.vue
  8. 17 1
      src/HManagement/clueManage/clue_private/modules/detail.vue
  9. 117 7
      src/HManagement/clueManage/clue_private/modules/edit.vue
  10. 332 0
      src/HManagement/clueManage/clue_private/modules/editcopy.vue
  11. 16 0
      src/HManagement/clueManage/clue_public/modules/detail.vue
  12. 5 1
      src/HManagement/department/staff/detail/index.vue
  13. 16 6
      src/HManagement/department/staff/list/modules/add.vue
  14. 6 0
      src/HManagement/department/staff/list/modules/edit.vue
  15. 0 9
      src/SDrpManagement/invoicePrediction/detail/customDetail.vue
  16. 1 8
      src/SDrpManagement/invoicePrediction/detail/projectDetail.vue
  17. 1 1
      src/SDrpManagement/salerPrivatecustomer/detail/customerDetail.vue
  18. 30 4
      src/SDrpManagement/salerPrivatecustomer/detail/modules/followLeads/index.vue
  19. 16 0
      src/SManagement/orderclue_detail/index.vue
  20. 95 0
      src/template/clueModel/designer.vue
  21. 126 0
      src/template/clueModel/designingInstitute.vue
  22. 130 0
      src/template/clueModel/project.vue

+ 3 - 3
src/HDrpManagement/dataanalysis/index.vue

@@ -141,9 +141,9 @@ export default {
       this.$refs.assignment.queryList()
       this.$refs.sales.queryList()
       this.$refs.performance.queryList()
-   /*   this.$refs.clue.$refs.quickAdd.select = '周'
-      this.$refs.clue.$refs.quickUpd.select = '周'
-      this.$refs.clue.$refs.quickFow.select = '周'*/
+   /*   this.$refs.clueModel.$refs.quickAdd.select = '周'
+      this.$refs.clueModel.$refs.quickUpd.select = '周'
+      this.$refs.clueModel.$refs.quickFow.select = '周'*/
       this.$refs.clue.queryAdd()
       this.$refs.clue.queryUpdate()
       this.$refs.clue.queryFollow()

+ 2 - 7
src/HDrpManagement/invoicePredictionManage/details/modules/custom.vue

@@ -49,7 +49,7 @@
       </template>
     </tableList>
     <div class=" container "  style="text-align:left;float: left">
-      < <span style="font-size: 14px">出货预测金额: ¥{{alloutamount > 10000?tool.formatAmount(alloutamount/10000,2)+'万':tool.formatAmount(alloutamount,2)}}</span>
+      <span style="font-size: 14px">出货预测金额: ¥{{alloutamount > 10000?tool.formatAmount(alloutamount/10000,2)+'万':tool.formatAmount(alloutamount,2)}}</span>
       <span style="font-size: 14px;margin-left: 10px">开票预测金额: ¥{{allinvoiceamount > 10000?tool.formatAmount(allinvoiceamount/10000,2)+'万':tool.formatAmount(allinvoiceamount,2)}}</span>
     </div>
     <div  class="container " style="text-align:right;float: right">
@@ -117,12 +117,7 @@ export default {
       const res = await this.$api.requested(this.param)
       console.log(res.data)
       this.list = res.data
-      if (this.isDisabled){
-        this.list.forEach(item=>{
-          item.outamount = this.tool.formatAmount(item.outamount,2)
-          item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
-        })
-      }
+
       if (this.list.length > 0){
         this.alloutamount = res.data[0].alloutamount
         this.allinvoiceamount = res.data[0].allinvoiceamount

+ 1 - 6
src/HDrpManagement/invoicePredictionManage/details/modules/customDetail.vue

@@ -117,12 +117,7 @@ export default {
       const res = await this.$api.requested(this.param)
       console.log(res.data)
       this.list = res.data
-      if (this.isDisabled){
-        this.list.forEach(item=>{
-          item.outamount = this.tool.formatAmount(item.outamount,2)
-          item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
-        })
-      }
+
       if (this.list.length > 0){
         this.alloutamount = res.data[0].alloutamount
         this.allinvoiceamount = res.data[0].allinvoiceamount

+ 2 - 7
src/HDrpManagement/invoicePredictionManage/details/modules/project.vue

@@ -21,7 +21,7 @@
           </span>
         </div>
         <div v-else-if="scope.column.columnname === 'invoiceamount'">
-          <span v-if="isDisabled">{{scope.column.data[scope.column.columnname]}}</span>
+          <span v-if="isDisabled">¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}</span>
           <span v-else>
             <el-input size="mini" v-model="scope.column.data.invoiceamount" @change="onChange(scope.column.data.price,scope.$index,scope.column.data)"></el-input>
           </span>
@@ -102,12 +102,7 @@ export default {
       const res = await this.$api.requested(this.param)
       console.log(res.data)
       this.list = res.data
-      if (this.isDisabled){
-        this.list.forEach(item=>{
-          item.outamount = this.tool.formatAmount(item.outamount,2)
-          item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
-        })
-      }
+
 
       if (this.list.length > 0){
         this.alloutamount = res.data[0].alloutamount

+ 1 - 7
src/HDrpManagement/invoicePredictionManage/details/modules/projectDetail.vue

@@ -21,7 +21,7 @@
           </span>
         </div>
         <div v-else-if="scope.column.columnname === 'invoiceamount'">
-          <span v-if="isDisabled">{{scope.column.data[scope.column.columnname]}}</span>
+          <span v-if="isDisabled">¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}</span>
           <span v-else>
             <el-input size="mini" v-model="scope.column.data.invoiceamount" @change="onChange(scope.column.data.price,scope.$index,scope.column.data)"></el-input>
           </span>
@@ -102,12 +102,6 @@ export default {
       const res = await this.$api.requested(this.param)
       console.log(res.data)
       this.list = res.data
-      if (this.isDisabled){
-        this.list.forEach(item=>{
-          item.outamount = this.tool.formatAmount(item.outamount,2)
-          item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
-        })
-      }
 
       if (this.list.length > 0){
         this.alloutamount = res.data[0].alloutamount

+ 50 - 6
src/HDrpManagement/projectChange/modules/modules/clue/index.vue

@@ -17,16 +17,28 @@
     <div style="margin-top: 15px">
       <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="false"  :height="tableHieght" fixedName="operation">
         <template v-slot:customcol="scope">
-          <p v-if="scope.column.columnname == 'leader'">
+<!--          <p v-if="scope.column.columnname == 'leader'">
             <span v-if="scope.column.data[scope.column.columnname]">
               {{scope.column.data[scope.column.columnname][0].name}}
             </span>
-            <span v-else>--</span>
-          </p>
+            <span v-else>&#45;&#45;</span>
+          </p>-->
+          <div v-if="scope.column.columnname == 'status'">
+            <span style="color:#999999" 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:#3874f6" 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>
+            <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已转化'">{{scope.column.data[[scope.column.columnname]]}}</span>
+            <span v-else>{{scope.column.data[[scope.column.columnname]]}}</span>
+          </div>
+          <div v-else-if="scope.column.columnname == 'scale'">
+            <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname] + scope.column.data.unitname:''}}</p>
+          </div>
           <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
-          <p v-if="!scope.column.data[scope.column.columnname] && scope.column.columnname != 'leader'">--</p>
+<!--          <p v-if="!scope.column.data[scope.column.columnname] && scope.column.columnname != 'leader'">&#45;&#45;</p>-->
         </template>
         <template v-slot:opreation="scope">
+          <el-button size="mini" type="text" @click="goDetail(scope.data)">详 情</el-button>
         </template>
       </tableLayout>
     </div>
@@ -103,10 +115,42 @@ export default {
     queryClick(){
       this.params.content.where.condition = this.search
       this.listData()
+    },
+    goDetail(row){
+      if (row.isprivate ===1){
+        let route = this.$route
+        if (route.path !== '/orderclue_detail') {
+          this.oldRoute = {path:route.path,query:route.query}
+          this.$store.dispatch('setHistoryRouter',this.oldRoute)
+        }
+        this.$router.replace({
+          path:'/orderclue_detail',
+          query:{
+            id:row.sat_orderclueid,
+            rowindex:row.rowindex
+          }
+        })
+      }else {
+        let route = this.$route
+        if (route.path !== '/clueDetail') {
+          this.oldRoute = {path:route.path,query:route.query}
+          this.$store.dispatch('setHistoryRouter',this.oldRoute)
+        }
+        this.$router.replace({
+          path:'/clueDetail',
+          query:{
+            id:row.sat_orderclueid,
+            rowindex:row.rowindex
+          }
+        })
+      }
+
     }
   },
-  created() {
+  mounted() {
     this.listData()
+  },
+  created() {
     this.tablecols = this.tool.tabelCol(this.$route.name).ciueListTable.tablecols
   }
 }
@@ -114,4 +158,4 @@ export default {
 </script>
 <style scoped>
 
-</style>
+</style>

+ 238 - 128
src/HManagement/clueManage/clue_private/modules/add.vue

@@ -4,137 +4,190 @@
     <el-drawer title="新建线索" :visible.sync="drawer" size="800px" direction="rtl" :show-close="false" append-to-body @close="onClose">
       <div class="drawer__panel">
         <el-row :gutter="10">
-        <el-form :model="param.content" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm"
+          <el-form :model="param.content" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm"
                  label-position="right" size="small">
-          <el-col :span="20">
-            <el-form-item label="客户名称:" prop="enterprisename">
-              <el-input v-model="param.content.enterprisename"  placeholder="请填写客户名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label-width="0" >
-              <businessMessage ref="businessMessage" :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>
-            </el-form-item>
-<!--            <businessMessage :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>-->
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="联系人:" prop="name">
-              <el-input v-model="param.content.name"  placeholder="请填写联系人"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="联系方式:" prop="phonenumber">
-              <el-input v-model="param.content.phonenumber"  placeholder="请填写手机号"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="微信:" prop="wechatnum">
-              <el-input v-model="param.content.wechatnum" placeholder="请填写微信"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="省市县:" prop="province">
-              <el-cascader  class="width-240" v-model="param.content.province" :options="_arealist"
-                           @change="cascaderChange" ref="cascader">
-              </el-cascader>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="地址:" prop="address">
-              <el-input v-model="param.content.address"  placeholder="请填写地址"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="项目名称:" prop="projectname">
-              <el-input v-model="param.content.projectname" placeholder="请填写项目名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="项目规模:" prop="scale" >
-              <el-input v-model="param.content.scale" placeholder="请填写数值"  class="inline-16"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-select v-model="param.content.unitname" placeholder="请选择单位" size="small" >
-              <el-option
-                  v-for="item in unitnameList"
-                  :key="item.value"
-                  :label="item.value"
-                  :value="item.value">
-                <!--                    <span style="float: left">{{ item.value }}</span>-->
-                <!--                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>-->
-              </el-option>
-            </el-select>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="总投资额(万元):" prop="totalinvestment">
-              <el-input v-model="param.content.totalinvestment" placeholder="请填写金额(万元)"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="造价(万元):" prop="costofconstruction">
-              <el-input v-model="param.content.costofconstruction" placeholder="请填写金额(万元)"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计开工时间:" prop="begdate_due">
-              <el-date-picker
-                  style="width: 100%"
-                  v-model="param.content.begdate_due"
-                  type="month"
-                  placeholder="选择月"
-                  :picker-options="pickerOptions"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计完工时间:" prop="enddate_due">
-              <el-date-picker
-                  style="width: 100%"
-                  v-model="param.content.enddate_due"
-                  type="month"
-                  placeholder="选择月"
-                  :picker-options="pickerOptions"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="市场活动:" prop="campaign_name">
-              <el-popover
-                  placement="bottom"
-                  trigger="manual"
-                  v-model="activityVisible"
-                  width="400">
-                <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
-                <el-input readonly type="text" slot="reference"  @focus="activityVisible=true" v-model="param.content.campaign_name" placeholder="请选择市场活动"></el-input>
-              </el-popover>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="领域:" prop="tradefield">
-              <el-select v-model="param.content.tradefield" placeholder="请选择领域" style="width: 100%">
+            <el-col class="mb-30" :span="24">
+              <el-form-item>
+                <el-checkbox v-model="param.content.isuppictured" :false-label="0" :true-label="1" :disabled="isuppictured === 0" @change="onChange">是否上图</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="客户名称:" prop="enterprisename" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请填写客户名称',trigger:'blur'}">
+                <el-input v-model="param.content.enterprisename"  placeholder="请填写客户名称"></el-input>
+              </el-form-item>
+              <el-form-item label="客户名称:" prop="enterprisename" v-else >
+                <el-input v-model="param.content.enterprisename"  placeholder="请填写客户名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="4">
+              <el-form-item label-width="0" >
+                <businessMessage ref="businessMessage" :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>
+              </el-form-item>
+  <!--            <businessMessage :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>-->
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系人:" prop="name" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请填写联系人',trigger:'blur'}">
+                <el-input v-model="param.content.name"  placeholder="请填写联系人"></el-input>
+              </el-form-item>
+              <el-form-item label="联系人:" prop="name" v-else>
+                <el-input v-model="param.content.name"  placeholder="请填写联系人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系方式:" prop="phonenumber">
+                <el-input v-model="param.content.phonenumber"  placeholder="请填写手机号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系人角色:" prop="contactsrole">
+                <el-input v-model="param.content.contactsrole"  placeholder="请填写联系人角色"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="微信:" prop="wechatnum">
+                <el-input v-model="param.content.wechatnum" placeholder="请填写微信"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="省市县:" prop="province">
+                <el-cascader  class="width-240" v-model="param.content.province" :options="_arealist"
+                             @change="cascaderChange" ref="cascader">
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="地址:" prop="address">
+                <el-input v-model="param.content.address"  placeholder="请填写地址"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目名称:" prop="projectname" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请填写项目名称',trigger:'blur'}">
+                <el-input v-model="param.content.projectname" placeholder="请填写项目名称"></el-input>
+              </el-form-item>
+              <el-form-item label="项目名称:" prop="projectname" v-else>
+                <el-input v-model="param.content.projectname" placeholder="请填写项目名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="项目规模:" prop="scale" v-if="param.content.isuppictured === 1" :rules="{required: true,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}">
+                <el-input v-model="param.content.scale" placeholder="请填写数值"  class="inline-16"></el-input>
+              </el-form-item>
+              <el-form-item label="项目规模:" prop="scale" v-else :rules="{required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}">
+                <el-input v-model="param.content.scale" placeholder="请填写数值"  class="inline-16"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="4">
+              <el-select v-model="param.content.unitname" placeholder="请选择单位" size="small" >
                 <el-option
-                    v-for="item in tradefieldSelect"
+                    v-for="item in unitnameList"
                     :key="item.value"
-                    :label="item.label"
+                    :label="item.value"
                     :value="item.value">
+                  <!--                    <span style="float: left">{{ item.value }}</span>-->
+                  <!--                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>-->
                 </el-option>
               </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="来源:" prop="cluesource">
-              <el-input v-model="param.content.cluesource"  placeholder="请填写来源"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="线索概况:" prop="notes">
-              <el-input type="textarea" v-model="param.content.notes"  placeholder="请填写线索概况"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-form>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="总投资额(万元):" prop="totalinvestment">
+                <el-input v-model="param.content.totalinvestment" placeholder="请填写金额(万元)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="造价(万元):" prop="costofconstruction">
+                <el-input v-model="param.content.costofconstruction" placeholder="请填写金额(万元)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预计开工时间:" prop="begdate_due">
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="param.content.begdate_due"
+                    type="month"
+                    placeholder="选择月"
+                    :picker-options="pickerOptions"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预计完工时间:" prop="enddate_due">
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="param.content.enddate_due"
+                    type="month"
+                    placeholder="选择月"
+                    :picker-options="pickerOptions"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="市场活动:" prop="campaign_name">
+                <el-popover
+                    placement="bottom"
+                    trigger="manual"
+                    v-model="activityVisible"
+                    width="400">
+                  <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+                  <el-input readonly type="text" slot="reference"  @focus="activityVisible=true" v-model="param.content.campaign_name" placeholder="请选择市场活动"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="领域:" prop="tradefield">
+                <el-select v-model="param.content.tradefield" placeholder="请选择领域" style="width: 100%">
+                  <el-option
+                      v-for="item in tradefieldSelect"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="设计院:" prop="sys_enterpriseid" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请选择设计院',trigger:'change'}">
+                <designingInstitute ref="designingInstitute"  @designingInstitute="designingInstitute"></designingInstitute>
+              </el-form-item>
+              <el-form-item label="设计院:" prop="sys_enterpriseid" v-else >
+                <designingInstitute ref="designingInstitute"  @designingInstitute="designingInstitute"></designingInstitute>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="设计师:" prop="name" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请选择设计师',trigger:'change'}">
+<!--                <el-input v-model="param.content.contactsid"  placeholder="请选择设计师" :disabled="param.content.sys_enterpriseid === ''"></el-input>-->
+                <designer :sys_enterpriseid="param.content.sys_enterpriseid" @designer="selectDesigner"></designer>
+              </el-form-item>
+              <el-form-item label="设计师:" prop="name" v-else >
+                <!--                <el-input v-model="param.content.contactsid"  placeholder="请选择设计师" :disabled="param.content.sys_enterpriseid === ''"></el-input>-->
+                <designer :sys_enterpriseid="param.content.sys_enterpriseid" @designer="selectDesigner"></designer>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="关联项目:" prop="name">
+                <project ref="project" @project="selectProject"></project>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="来源:" prop="cluesource">
+                <el-input v-model="param.content.cluesource"  placeholder="请填写来源"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="线索概况:" prop="notes">
+                <el-input type="textarea" v-model="param.content.notes"  placeholder="请填写线索概况"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="上图员:" prop="isuppictured" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'上图员信息缺失',trigger:'blur'}">
+                <el-input v-model="uppictured"  placeholder="上图员信息" disabled></el-input>
+              </el-form-item>
+              <el-form-item label="上图员:" prop="isuppictured" v-else >
+                <el-input v-model="uppictured"  placeholder="上图员信息" disabled></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
         </el-row>
       </div>
       <div class="fixed__btn__panel">
@@ -148,8 +201,12 @@
 <script>
 import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity.vue'
 import businessMessage from "@/components/businessMessage";
+import tableList from '@/components/table/index5';
+import designingInstitute from '@/template/clueModel/designingInstitute'
+import designer from '@/template/clueModel/designer'
+import project from '@/template/clueModel/project'
 export default {
-  components: {selectActivity,businessMessage},
+  components: {selectActivity,businessMessage,tableList,designingInstitute,designer,project},
   data () {
     var begdateTime = (rule,value,callback) =>{
       this.$refs.ruleForm.validateField('enddate_due')
@@ -184,6 +241,11 @@ export default {
       },
       drawer: false,
       activityVisible:false,
+      uppictured:'',//上图员
+      isuppictured:'',
+      sys_enterpriseidShow:false,
+      sys_enterpriseidList:[],
+      tablecols:[],
       param: {
           "id": 20221205162402,
           "content": {
@@ -206,7 +268,12 @@ export default {
             "begdate_due": "", //预计开工时间
             "enddate_due": "", //预计完工时间
             "tradefield":"",
-            "unitname":''
+            "unitname":'',
+            "isuppictured":'',//是否上图
+            "contactsrole":'',//联系人角色
+            "sys_enterpriseid":'',//设计院
+            "contactsid":'',//设计师
+            "sa_projectid":'',//关联项目
           }
       },
       unitnameList:[],
@@ -224,6 +291,9 @@ export default {
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'}
         ],
+        contactsrole:[
+          {required: false,pattern:/^[\u4e00-\u9fa5]{0,}$/g, message: '请输入中文', trigger: 'blur'}
+        ],
         scale:[
           {required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}
         ],
@@ -258,8 +328,15 @@ export default {
   methods: {
     onShow () {
       this.drawer = true
+
+      this.queryIsuppictured(JSON.parse(sessionStorage.getItem('active_account')).hrid)
       this.queryTradefield()
       this.queryUnitname()
+      this.$nextTick(()=>{
+        this.$refs.designingInstitute.listData()
+        this.$refs.project.listData()
+      })
+
     },
     addOrdercule() {
       if (this.param.content.begdate_due !== ''){
@@ -339,7 +416,40 @@ export default {
         this.unitnameList = res.data
       })
     },
-  }
+    /*判断是否上图员*/
+    async queryIsuppictured(hrid){
+      const res = await this.$api.requested({
+        "classname":"webmanage.hr.hr",
+        "method":"query_hrMain",
+        "content":{
+          "hrid":hrid
+        }
+      })
+      console.log(res.data,'是否上图员')
+      this.isuppictured = res.data.isuppictured
+    },
+    onChange(){
+      console.log(this.param.content.isuppictured)
+      if (this.param.content.isuppictured === 1){
+        this.uppictured = JSON.parse(sessionStorage.getItem('active_account')).name
+      }else {
+        this.uppictured = ''
+      }
+    },
+    /*已选设计院*/
+    designingInstitute(id){
+      this.param.content.sys_enterpriseid = id
+    },
+    /*已选设计师*/
+    selectDesigner(id){
+      this.param.content.contactsid = id
+    },
+    /*已选项目*/
+    selectProject(id){
+      this.param.content.sa_projectid = id
+    }
+  },
+
 }
 
 </script>

+ 17 - 1
src/HManagement/clueManage/clue_private/modules/detail.vue

@@ -159,7 +159,7 @@ export default {
       console.log(this.mainData);
 
       this.changeDataStructure()
-
+      this.$refs.details.$refs.tag.queryTag()
       this.$refs['details'].$refs['group'].queryGroup()
 
     },
@@ -256,6 +256,10 @@ export default {
             label:'联系人',
             value:this.mainData.name
           },
+          {
+            label:'联系人角色',
+            value:this.mainData.contactsrole
+          },
           {
             label:'手机号',
             value:this.mainData.phonenumber
@@ -304,6 +308,18 @@ export default {
             label:'领域',
             value:this.mainData.tradefield
           },
+          {
+            label:'设计院',
+            value:this.mainData.institute
+          },
+          {
+            label:'设计师',
+            value:this.mainData.designer
+          },
+          {
+            label:'关联项目',
+            value:this.mainData.projectname1
+          },
           {
             label:'来源',
             value:this.mainData.cluesource

+ 117 - 7
src/HManagement/clueManage/clue_private/modules/edit.vue

@@ -5,8 +5,16 @@
       <div class="drawer__panel">
         <el-row :gutter="10">
           <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="120px" size="small">
+            <el-col class="mb-30" :span="24">
+              <el-form-item>
+                <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1" :disabled="isuppictured === 0" @change="onChange">是否上图</el-checkbox>
+              </el-form-item>
+            </el-col>
             <el-col :span="20">
-              <el-form-item label="客户名称:" prop="enterprisename">
+              <el-form-item label="客户名称:" prop="enterprisename" v-if="form.isuppictured === 1" :rules="{required:true,message:'请填写客户名称',trigger:'blur'}">
+                <el-input v-model="form.enterprisename"  placeholder="请填写客户名称"></el-input>
+              </el-form-item>
+              <el-form-item label="客户名称:" prop="enterprisename" v-else >
                 <el-input v-model="form.enterprisename"  placeholder="请填写客户名称"></el-input>
               </el-form-item>
             </el-col>
@@ -14,7 +22,10 @@
               <businessMessage ref="businessMessage" :keyWord="form.enterprisename" @businessData="businessData"></businessMessage>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="联系人:" prop="name">
+              <el-form-item label="联系人:" prop="name" v-if="form.isuppictured === 1" :rules="{required:true,message:'请填写联系人',trigger:'blur'}">
+                <el-input v-model="form.name"  placeholder="请填写联系人"></el-input>
+              </el-form-item>
+              <el-form-item label="联系人:" prop="name" v-else>
                 <el-input v-model="form.name"  placeholder="请填写联系人"></el-input>
               </el-form-item>
             </el-col>
@@ -23,6 +34,11 @@
                 <el-input v-model="form.phonenumber"  placeholder="请填写手机号"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系人角色:" prop="contactsrole">
+                <el-input v-model="form.contactsrole"  placeholder="请填写联系人角色"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="微信:" prop="wechatnum">
                 <el-input v-model="form.wechatnum" placeholder="请填写微信"></el-input>
@@ -45,13 +61,19 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="项目名称:" prop="projectname">
+              <el-form-item label="项目名称:" prop="projectname" v-if="form.isuppictured === 1" :rules="{required:true,message:'请填写项目名称',trigger:'blur'}">
+                <el-input v-model="form.projectname" placeholder="请填写项目名称"></el-input>
+              </el-form-item>
+              <el-form-item label="项目名称:" prop="projectname" v-else>
                 <el-input v-model="form.projectname" placeholder="请填写项目名称"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="20">
-              <el-form-item label="项目规模:" prop="scale" >
-                <el-input v-model="form.scale" placeholder="请填写数值" class="inline-16"></el-input>
+              <el-form-item label="项目规模:" prop="scale" v-if="form.isuppictured === 1" :rules="{required: true,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}">
+                <el-input v-model="form.scale" placeholder="请填写数值"  class="inline-16"></el-input>
+              </el-form-item>
+              <el-form-item label="项目规模:" prop="scale" v-else :rules="{required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}">
+                <el-input v-model="form.scale" placeholder="请填写数值"  class="inline-16"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="4">
@@ -124,6 +146,29 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="设计院:" prop="sys_enterpriseid" v-if="form.isuppictured === 1" :rules="{required:true,message:'请选择设计院',trigger:'change'}">
+                <designingInstitute ref="designingInstitute" :data="form.institute" @designingInstitute="designingInstitute"></designingInstitute>
+              </el-form-item>
+              <el-form-item label="设计院:" prop="sys_enterpriseid" v-else >
+                <designingInstitute ref="designingInstitute" :data="form.institute"  @designingInstitute="designingInstitute"></designingInstitute>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="设计师:" prop="name" v-if="form.isuppictured === 1" :rules="{required:true,message:'请选择设计师',trigger:'change'}">
+                <!--                <el-input v-model="param.content.contactsid"  placeholder="请选择设计师" :disabled="param.content.sys_enterpriseid === ''"></el-input>-->
+                <designer ref="designer" :sys_enterpriseid="form.sys_enterpriseid" :data="form.designer" @designer="selectDesigner"></designer>
+              </el-form-item>
+              <el-form-item label="设计师:" prop="name" v-else >
+                <!--                <el-input v-model="param.content.contactsid"  placeholder="请选择设计师" :disabled="param.content.sys_enterpriseid === ''"></el-input>-->
+                <designer ref="designer" :sys_enterpriseid="form.sys_enterpriseid" :data="form.designer" @designer="selectDesigner"></designer>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="关联项目:" prop="name">
+                <project ref="project" :data="form.projectname1" @project="selectProject"></project>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="来源:">
                 <el-input v-model="form.cluesource" autocomplete="off" placeholder="请填写来源"></el-input>
@@ -134,6 +179,14 @@
                 <el-input v-model="form.notes" type="textarea" :rows="4" autocomplete="off" placeholder="请填写线索概况"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="上图员:" prop="isuppictured" v-if="form.isuppictured === 1" :rules="{required:true,message:'上图员信息缺失',trigger:'blur'}">
+                <el-input v-model="uppictured"  placeholder="上图员信息" disabled></el-input>
+              </el-form-item>
+              <el-form-item label="上图员:" prop="isuppictured" v-else >
+                <el-input v-model="uppictured"  placeholder="上图员信息" disabled></el-input>
+              </el-form-item>
+            </el-col>
           </el-form>
         </el-row>
       </div>
@@ -148,9 +201,13 @@
 <script>
 import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 import businessMessage from "@/components/businessMessage";
+import tableList from '@/components/table/index5';
+import designingInstitute from '@/template/clueModel/designingInstitute'
+import designer from '@/template/clueModel/designer'
+import project from '@/template/clueModel/project'
 export default {
   props:['data'],
-  components: {selectActivity,businessMessage},
+  components: {selectActivity,businessMessage,tableList,designingInstitute,designer,project},
   data () {
     var begdateTime = (rule,value,callback) =>{
 
@@ -185,6 +242,8 @@ export default {
       },
       activityVisible:false,
       dialogFormVisible:false,
+      uppictured:'',//上图员
+      isuppictured:'',
       form:{
         "sat_orderclueid": 0,
         "enterprisename":"",
@@ -199,7 +258,12 @@ export default {
         "sat_campaignid":0,//活动id,当活动id大于0是默认业务员创建
         "isprivate":1,//0表示公海,1表示私域
         "tradefield":"",
-        "unitname":''
+        "unitname":'',
+        "isuppictured":'',//是否上图
+        "contactsrole":'',//联系人角色
+        "sys_enterpriseid":'',//设计院
+        "contactsid":'',//设计师
+        "sa_projectid":'',//关联项目
       },
       arealist:[],
       unitnameList:[],
@@ -217,6 +281,9 @@ export default {
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'}
         ],
+        contactsrole:[
+          {required: false,pattern:/^[\u4e00-\u9fa5]{0,}$/g, message: '请输入中文', trigger: 'blur'}
+        ],
         scale:[
           {required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}
         ],
@@ -238,8 +305,19 @@ export default {
       this.form.enterprisename = this.data.enterprisename_customer
       this.form.totalinvestment !== 0 ? this.form.totalinvestment =  this.tool.formatAmount(this.form.totalinvestment,2): this.form.totalinvestment =''
       this.form.costofconstruction !== 0 ? this.form.costofconstruction =  this.tool.formatAmount(this.form.costofconstruction,2): this.form.costofconstruction =''
+      console.log(this.form,'form1111')
+      if (this.form.isuppictured === 1){
+        this.uppictured = JSON.parse(sessionStorage.getItem('active_account')).name
+      }else {
+        this.uppictured = ''
+      }
       this.queryTradefield()
       this.queryUnitname()
+      this.$nextTick(()=>{
+        this.$refs.designingInstitute.listData()
+        this.$refs.designer.listData()
+        this.$refs.project.listData()
+      })
     },
     onSubmit () {
       if (this.form.begdate_due !== ''){
@@ -322,6 +400,38 @@ export default {
         this.unitnameList = res.data
       })
     },
+    /*判断是否上图员*/
+    async queryIsuppictured(hrid){
+      const res = await this.$api.requested({
+        "classname":"webmanage.hr.hr",
+        "method":"query_hrMain",
+        "content":{
+          "hrid":hrid
+        }
+      })
+      console.log(res.data,'是否上图员')
+      this.isuppictured = res.data.isuppictured
+    },
+    onChange(){
+      console.log(this.form.isuppictured)
+      if (this.form.isuppictured === 1){
+        this.uppictured = JSON.parse(sessionStorage.getItem('active_account')).name
+      }else {
+        this.uppictured = ''
+      }
+    },
+    /*已选设计院*/
+    designingInstitute(id){
+      this.form.sys_enterpriseid = id
+    },
+    /*已选设计师*/
+    selectDesigner(id){
+      this.form.contactsid = id
+    },
+    /*已选项目*/
+    selectProject(id){
+      this.form.sa_projectid = id
+    }
   },
   mounted () {
   }

+ 332 - 0
src/HManagement/clueManage/clue_private/modules/editcopy.vue

@@ -0,0 +1,332 @@
+<template>
+  <div>
+    <el-button size="mini" :type="data.status === '已过期'?'':'primary'" @click="onShow" :disabled="data.status === '已过期'">编 辑</el-button>
+    <el-drawer title="编辑线索" :show-close="false" append-to-body :visible.sync="dialogFormVisible" size="800px" @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="10">
+          <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="120px" size="small">
+            <el-col :span="20">
+              <el-form-item label="客户名称:" prop="enterprisename">
+                <el-input v-model="form.enterprisename"  placeholder="请填写客户名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="4">
+              <businessMessage ref="businessMessage" :keyWord="form.enterprisename" @businessData="businessData"></businessMessage>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系人:" prop="name">
+                <el-input v-model="form.name"  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="请填写手机号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="微信:" prop="wechatnum">
+                <el-input v-model="form.wechatnum" placeholder="请填写微信"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="省市县:" prop="province">
+                <el-cascader
+                    style="width:100%"
+                    class="width-240"
+                    v-model="form.province"
+                    :options="basicData.data().areaData"
+                    @change="cascaderChange">
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="地址:">
+                <el-input v-model="form.address" autocomplete="off" placeholder="请填写地址"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目名称:" prop="projectname">
+                <el-input v-model="form.projectname" placeholder="请填写项目名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="项目规模:" prop="scale" >
+                <el-input v-model="form.scale" placeholder="请填写数值" class="inline-16"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="4">
+              <el-select v-model="form.unitname" placeholder="请选择单位" size="mini" >
+                <el-option
+                    v-for="item in unitnameList"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  <!--                    <span style="float: left">{{ item.value }}</span>-->
+                  <!--                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>-->
+                </el-option>
+              </el-select>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="总投资额(万元):" prop="totalinvestment">
+                <el-input v-model="form.totalinvestment" placeholder="请填写金额(万元)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="造价(万元):" prop="costofconstruction">
+                <el-input v-model="form.costofconstruction" placeholder="请填写金额(万元)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预计开工时间:" prop="begdate_due">
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="form.begdate_due"
+                    type="month"
+                    placeholder="选择月"
+                    :picker-options="pickerOptions"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预计完工时间:" prop="enddate_due">
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="form.enddate_due"
+                    type="month"
+                    placeholder="选择月"
+                    :picker-options="pickerOptions"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="市场活动:" prop="sat_campaignid">
+                <el-popover
+                    placement="bottom"
+                    trigger="manual"
+                    v-model="activityVisible"
+                    width="400">
+                  <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+                  <el-input readonly type="text" slot="reference"  @focus="activityVisible=true" v-model="form.campaign_name" placeholder="请填写市场活动"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="领域:" prop="tradefield">
+                <el-select v-model="form.tradefield" placeholder="请选择领域" style="width: 100%">
+                  <el-option
+                      v-for="item in tradefieldSelect"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="来源:">
+                <el-input v-model="form.cluesource" autocomplete="off" placeholder="请填写来源"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="线索概况:">
+                <el-input v-model="form.notes" type="textarea" :rows="4" autocomplete="off" placeholder="请填写线索概况"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" 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 selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
+import businessMessage from "@/components/businessMessage";
+export default {
+  props:['data'],
+  components: {selectActivity,businessMessage},
+  data () {
+    var begdateTime = (rule,value,callback) =>{
+
+      if (this.form.enddate_due !== ''){
+        if (value > this.form.enddate_due){
+          callback(new Error('预计开工时间不能晚于预计完工时间'))
+        }else {
+          callback();
+        }
+      } else {
+        callback();
+      }
+    }
+    var enddateTime = (rule,value,callback) =>{
+      if (value && this.form.begdate_due !== ''){
+        if (value < this.form.begdate_due){
+          callback(new Error('预计完工时间不能早于预计开工时间'))
+        }else {
+          callback();
+        }
+      }  else if (value && this.form.begdate_due === '') {
+        callback(new Error('预计完工时间不能早于预计开工时间'))
+      }else {
+        callback();
+      }
+    }
+    return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() < Date.now();
+        }
+      },
+      activityVisible:false,
+      dialogFormVisible:false,
+      form:{
+        "sat_orderclueid": 0,
+        "enterprisename":"",
+        "name": "",
+        "phonenumber": "",
+        "province": "",
+        "city": "",
+        "county": "",
+        "address": "",
+        "notes": "",
+        "cluesource": "",
+        "sat_campaignid":0,//活动id,当活动id大于0是默认业务员创建
+        "isprivate":1,//0表示公海,1表示私域
+        "tradefield":"",
+        "unitname":''
+      },
+      arealist:[],
+      unitnameList:[],
+      rules: {
+        phonenumber:[
+          {required:true,message:'请输入手机号',trigger:'blur'},
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
+        ],
+        begdate_due:[
+          { required: false, validator: begdateTime, trigger: 'change' }
+        ],
+        enddate_due:[
+          { required: false, validator: enddateTime, trigger: 'change' }
+        ],
+        tradefield:[
+          { required: true, message: '请选择领域', trigger: 'change'}
+        ],
+        scale:[
+          {required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}
+        ],
+        totalinvestment:[
+          {required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}
+        ],
+        costofconstruction:[
+          {required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}
+        ]
+      },
+      tradefieldSelect:[],
+    }
+  },
+  methods:{
+    onShow () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+      this.form.province = [this.data.province,this.data.city,this.data.county]
+      this.form.enterprisename = this.data.enterprisename_customer
+      this.form.totalinvestment !== 0 ? this.form.totalinvestment =  this.tool.formatAmount(this.form.totalinvestment,2): this.form.totalinvestment =''
+      this.form.costofconstruction !== 0 ? this.form.costofconstruction =  this.tool.formatAmount(this.form.costofconstruction,2): this.form.costofconstruction =''
+      this.queryTradefield()
+      this.queryUnitname()
+    },
+    onSubmit () {
+      if (this.form.begdate_due !== ''){
+        const data = new Date(this.form.begdate_due)
+        if (data.getMonth() +1 < 10){
+          this.form.begdate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
+        }else {
+          this.form.begdate_due = data.getFullYear() + '-' + (data.getMonth() + 1)
+        }
+      }else {
+        this.form.begdate_due = ''
+      }
+      if (this.form.enddate_due !== ''){
+        const data = new Date(this.form.enddate_due)
+        if (data.getMonth() +1 < 10){
+          this.form.enddate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
+        }else {
+          this.form.enddate_due = data.getFullYear() + '-' + (data.getMonth() + 1)
+        }
+      }else {
+        this.form.enddate_due = ''
+      }
+      this.$refs.form.validate(async (valid) => {
+        if (!valid) {
+          this.$notify({
+            title: '警告',
+            message: '请按照要求输入信息',
+            type: 'warning'
+          });
+          return false
+        }
+        this.form.city = this.form.province[1]
+        this.form.county = this.form.province[2]
+        this.form.province = this.form.province[0]
+        const res = await this.$api.requested({
+          "id":20221205162402,
+          "content":this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogFormVisible = false
+          this.$emit('onSuccess')
+        })
+      })
+
+    },
+    cascaderChange (val) {
+      this.form.province = val
+
+    },
+    centerChange (data) {
+      this.form.campaign_name = data[0].name
+      this.form.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
+    /*工商信息*/
+    businessData(val){
+      console.log(val)
+      this.form.enterprisename = val.companyName
+      this.form.address = val.address === '-' ? '' : val.address
+      this.areaSelectResult = [val.regProvince,val.regCity,val.regArea]
+      this.form.province = [val.regProvince,val.regCity,val.regArea]
+    },
+    onClose(){
+      this.dialogFormVisible = false
+      this.activityVisible = false
+      this.$refs.businessMessage.businessShow = false
+    },
+    /*获取领域*/
+    queryTradefield(){
+      this.$store.dispatch('optiontypeselect','tradefield').then(res=>{
+        this.tradefieldSelect = res.data
+      })
+    },
+    /*获取单位*/
+    queryUnitname(){
+      this.$store.dispatch('optiontypeselect','scaleunitname').then(res=>{
+        if (this.form.scale === ''){
+          this.form.unitname = res.data[0].value
+        }
+        this.unitnameList = res.data
+      })
+    },
+  },
+  mounted () {
+  }
+}
+
+</script>
+<style>
+</style>

+ 16 - 0
src/HManagement/clueManage/clue_public/modules/detail.vue

@@ -234,6 +234,10 @@ export default {
             label:'联系人',
             value:this.mainData.name
           },
+          {
+            label:'联系人角色',
+            value:this.mainData.contactsrole
+          },
           {
             label:'手机号',
             value:this.mainData.phonenumber
@@ -282,6 +286,18 @@ export default {
             label:'领域',
             value:this.mainData.tradefield
           },
+          {
+            label:'设计院',
+            value:this.mainData.institute
+          },
+          {
+            label:'设计师',
+            value:this.mainData.designer
+          },
+          {
+            label:'关联项目',
+            value:this.mainData.projectname1
+          },
           {
             label:'来源',
             value:this.mainData.cluesource

+ 5 - 1
src/HManagement/department/staff/detail/index.vue

@@ -102,6 +102,10 @@ export default {
         {
           label:'是否服务人员',
           value:this.mainData.isworker === 1?'是':'否'
+        },
+        {
+          label:'是否上图员',
+          value:this.mainData.isuppictured === 1?'是':'否'
         }
       ]
     },
@@ -127,4 +131,4 @@ export default {
 
 <style scoped>
 
-</style>
+</style>

+ 16 - 6
src/HManagement/department/staff/list/modules/add.vue

@@ -1,7 +1,7 @@
 <template>
 <div>
   <el-button type="primary" size="small" icon="el-icon-plus" @click="onShow">新建员工</el-button>
-  <el-drawer title="新建员工" direction="rtl" append-to-body :visible.sync="dialogFormVisible" size="800px" @close="$refs.form.clearValidate()" :show-close="false">
+  <el-drawer title="新建员工" direction="rtl" append-to-body :visible.sync="dialogFormVisible" size="800px" @close="onClose" :show-close="false">
     <div class="drawer__panel">
       <el-row :gutter="20">
         <el-form :model="form" size="small" :rules="rules" ref="form" label-position="right" label-width="100px">
@@ -103,11 +103,16 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
+          <el-col class="mb-30" :span="5">
+            <el-form-item>
+              <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
     </div>
     <div class="fixed__btn__panel">
-      <el-button size="small" @click="dialogFormVisible = false,$refs.form.resetFields()" class="normal-btn-width">取 消</el-button>
+      <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
       <el-button size="small" type="primary" @click="onSubmit" :loading="loading" class="normal-btn-width">确 定</el-button>
     </div>
   </el-drawer>
@@ -201,9 +206,10 @@ export default {
         "isleader":"",
         "position":"",
         "reporthrid":"",
-        "isworker":"",
+        "isworker":"0",
         "userid":"0",
-        'status':0
+        'status':0,
+        'isuppictured':'0'
       },
       value:[],
       drawer:false,
@@ -290,7 +296,9 @@ export default {
         "isleader":"",
         "position":"",
         "reporthrid":"",
-        "userid":"0"
+        "userid":"0",
+        "isworker":'0',
+        "isuppictured":'0'
       }
     },
     // 监听汇报对象选择
@@ -334,7 +342,9 @@ export default {
       })
     },
     onClose () {
-      this.$refs['roleForm'].resetFields()
+      this.$refs['form'].resetFields()
+      this.dialogFormVisible = false
+      this.refreshData()
     },
     nodeClick(val){
       this.pointValue = val.departmentid

+ 6 - 0
src/HManagement/department/staff/list/modules/edit.vue

@@ -103,6 +103,11 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
+          <el-col class="mb-30" :span="5">
+            <el-form-item>
+              <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
     </div>
@@ -165,6 +170,7 @@ export default {
         "reporthrid":"",
         "userid":"0",
         "statue":0,
+        'isuppictured':'0'
       },
       value:[],
       deplist:[],

+ 0 - 9
src/SDrpManagement/invoicePrediction/detail/customDetail.vue

@@ -115,14 +115,7 @@ export default {
       this.allinvoiceamount = 0
       this.alloutamount = 0
       const res = await this.$api.requested(this.param)
-      console.log(res.data)
       this.list = res.data
-      if (this.isDisabled){
-        this.list.forEach(item=>{
-          item.outamount = this.tool.formatAmount(item.outamount,2)
-          item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
-        })
-      }
       if (this.list.length > 0){
         this.alloutamount = res.data[0].alloutamount
         this.allinvoiceamount = res.data[0].allinvoiceamount
@@ -130,7 +123,6 @@ export default {
       }
     },
     async addCustom(val){
-      console.log(val)
       const res = await this.$api.requested({
         "id": 20230705145104,
         "content": {
@@ -151,7 +143,6 @@ export default {
       })
     },
     async addCustoms(val){
-      console.log(val,'批量')
       let addItems = []
       addItems = val.map(item=>{
         return {

+ 1 - 8
src/SDrpManagement/invoicePrediction/detail/projectDetail.vue

@@ -21,7 +21,7 @@
           </span>
         </div>
         <div v-else-if="scope.column.columnname === 'invoiceamount'">
-          <span v-if="isDisabled">{{scope.column.data[scope.column.columnname]}}</span>
+          <span v-if="isDisabled">¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}</span>
           <span v-else>
             <el-input size="mini" v-model="scope.column.data.invoiceamount" @change="onChange(scope.column.data.price,scope.$index,scope.column.data)"></el-input>
           </span>
@@ -100,14 +100,7 @@ export default {
       this.alloutamount = 0
       this.allinvoiceamount = 0
       const res = await this.$api.requested(this.param)
-      console.log(res.data)
       this.list = res.data
-      if (this.isDisabled){
-        this.list.forEach(item=>{
-          item.outamount = this.tool.formatAmount(item.outamount,2)
-          item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
-        })
-      }
 
       if (this.list.length > 0){
         this.alloutamount = res.data[0].alloutamount

+ 1 - 1
src/SDrpManagement/salerPrivatecustomer/detail/customerDetail.vue

@@ -9,7 +9,7 @@
         turnPageId="20221012164402"
         idname="sa_customersid"
         tags=""
-        :tabs="['详细信息','联系人信息','客户地址','开票信息','项目商机','报价单','关联合同','账户余额','银行卡信息','线索']"
+        :tabs="['详细信息','联系人信息','客户地址','开票信息','项目商机','报价单','关联合同','账户余额','银行卡信息','关联线索']"
         @pageChange="pageChange"
         @onEditSuccess="onEditSuccess"
         @sysTag="sysTag">

+ 30 - 4
src/SDrpManagement/salerPrivatecustomer/detail/modules/followLeads/index.vue

@@ -13,12 +13,24 @@
         <i slot="prefix" class="el-icon-search" @click="queryClick()"></i>
       </el-input>
     </div>-->
-    <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true"  >
+    <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true"  fixedName="operation">
       <template v-slot:customcol="scope">
-        <p>{{scope.column.data[scope.column.columnname]}}</p>
+        <div v-if="scope.column.columnname == 'status'">
+          <span style="color:#999999" 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:#3874f6" 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>
+          <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已转化'">{{scope.column.data[[scope.column.columnname]]}}</span>
+          <span v-else>{{scope.column.data[[scope.column.columnname]]}}</span>
+        </div>
+        <div v-else-if="scope.column.columnname == 'scale'">
+          <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname] + scope.column.data.unitname:''}}</p>
+        </div>
+        <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
       </template>
       <template v-slot:opreation="scope">
-        <edit v-if="tool.checkAuth($route.name,'clueManage')" :data="scope.data" @onSuccess="listData"></edit>
+        <el-button size="mini" type="text" @click="goDetail(scope.data)">详 情</el-button>
+<!--        <edit v-if="tool.checkAuth($route.name,'clueManage')" :data="scope.data" @onSuccess="listData"></edit>-->
       </template>
     </tableLayout>
     <div style="margin-top:16px;text-align:right">
@@ -88,6 +100,20 @@ export default {
     queryClick(){
       this.param.content.where.condition = this.search
       this.listData()
+    },
+    goDetail(row){
+      let route = this.$route
+      if (route.path !== '/orderclue_detail') {
+        this.oldRoute = {path:route.path,query:route.query}
+        this.$store.dispatch('setHistoryRouter',this.oldRoute)
+      }
+      this.$router.replace({
+        path:'/orderclue_detail',
+        query:{
+          id:row.sat_orderclueid,
+          rowindex:row.rowindex
+        }
+      })
     }
 
   },
@@ -106,4 +132,4 @@ export default {
   align-items: center;
 }
 
-</style>
+</style>

+ 16 - 0
src/SManagement/orderclue_detail/index.vue

@@ -227,6 +227,10 @@ export default {
             label:'联系人',
             value:this.mainData.name
           },
+          {
+            label:'联系人角色',
+            value:this.mainData.contactsrole
+          },
           {
             label:'手机号',
             value:this.mainData.phonenumber
@@ -275,6 +279,18 @@ export default {
             label:'领域',
             value:this.mainData.tradefield
           },
+          {
+            label:'设计院',
+            value:this.mainData.institute
+          },
+          {
+            label:'设计师',
+            value:this.mainData.designer
+          },
+          {
+            label:'关联项目',
+            value:this.mainData.projectname1
+          },
           {
             label:'来源',
             value:this.mainData.cluesource

+ 95 - 0
src/template/clueModel/designer.vue

@@ -0,0 +1,95 @@
+<template>
+  <div>
+    <el-popover
+        placement="top"
+        width="600"
+        trigger="click"
+        v-model="popoverShow">
+      <el-input style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
+      </el-input>
+      <tableList height="600px"  style="margin-top: 10px"   :layout="tablecols" :data="list" :opwidth="200" :custom="true" @rowClick="rowClick"
+      >
+        <template v-slot:customcol="scope">
+          <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
+        </template>
+      </tableList>
+      <div  class="container normal-panel" style="text-align:right">
+        <el-pagination
+            background
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="param.content.pageNumber"
+            :page-sizes="[20, 50, 100, 200]"
+            :page-size="20"
+            layout="total,sizes, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+      <el-input v-model="contactsname" readonly  placeholder="请选择设计院" slot="reference"  :disabled="sys_enterpriseid === ''" @focus="listData"></el-input>
+    </el-popover>
+  </div>
+</template>
+
+<script>
+import tableList from '@/components/table/index5';
+export default {
+  name: "designer",
+  props:["sys_enterpriseid","data"],
+  components:{tableList},
+  data(){
+    return {
+      popoverShow:false,
+      contactsname:'',
+      tablecols:[],
+      list:[],
+      total:0,
+      param:{
+        "id": 20221022165503,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "sys_enterpriseid":'',
+          "where": {
+            "condition": "",
+            "workaddress":0
+          }
+        }
+      }
+    }
+  },
+  methods:{
+    async listData(){
+      if (this.data){
+        this.contactsname = this.data
+      }
+      this.param.content.sys_enterpriseid = this.sys_enterpriseid
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      this.total = res.total
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    rowClick(row){
+      console.log(row)
+      this.popoverShow = false
+      this.contactsname = row.name
+      this.$emit('designer',row.contactsid)
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).contactsTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 126 - 0
src/template/clueModel/designingInstitute.vue

@@ -0,0 +1,126 @@
+<template>
+  <div>
+    <el-popover
+        placement="top"
+        width="600"
+        trigger="click"
+        v-model="popoverShow">
+      <el-input style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
+      </el-input>
+      <tableList height="600px"  style="margin-top: 10px"   :layout="tablecols" :data="list" :opwidth="200" :custom="true" @rowClick="rowClick"
+                    >
+        <template v-slot:customcol="scope">
+          <div v-if="scope.column.columnname === 'tag'">
+            <div v-for="item in scope.column.data.tag_sys" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+              <el-tag  color="#3874F6" size="mini" type="primary" effect="dark">
+                <span>{{item}}</span>
+              </el-tag>
+            </div>
+            <div v-for="item in scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+              <el-tag color="#FA8C16" size="mini" type="warning" effect="dark">
+                <span>{{item}}</span>
+              </el-tag>
+            </div>
+          </div>
+          <div v-else-if="scope.column.columnname === 'industry'">
+            <span v-if="JSON.stringify(scope.column.data.industry) !== '[]' && scope.column.data.industry">
+              <div v-for="item in scope.column.data.industry" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+                <el-tag size="mini"  effect="dark">
+                  <span>{{item}}</span>
+                </el-tag>
+              </div>
+            </span>
+            <div v-else>
+              {{'--'}}
+            </div>
+          </div>
+          <div v-else-if="scope.column.columnname === 'tradingstatus'">
+            <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '未成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+            <span style="color:#fa8c16" 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>
+          <div v-else-if="scope.column.columnname === 'leader'">
+            <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].name:'--'}}</span>
+          </div>
+          <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
+        </template>
+      </tableList>
+      <div  class="container normal-panel" style="text-align:right">
+        <el-pagination
+            background
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="param.content.pageNumber"
+            :page-sizes="[20, 50, 100, 200]"
+            :page-size="20"
+            layout="total,sizes, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+      <el-input v-model="enterprisename" readonly  placeholder="请选择设计院" slot="reference"  ></el-input>
+    </el-popover>
+
+  </div>
+</template>
+
+<script>
+import tableList from '@/components/table/index5';
+export default {
+  props:['data'],
+  name: "designingInstitute",
+  components:{tableList},
+  data(){
+    return {
+      popoverShow:false,
+      enterprisename:'',
+      tablecols:[],
+      list:[],
+      total:0,
+      param:{
+        "id": 20230809094104,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        }
+      }
+    }
+  },
+  methods:{
+    async listData(){
+      if (this.data){
+        this.enterprisename = this.data
+      }
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      this.total = res.total
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    rowClick(row){
+      console.log(row,'已选设计院')
+      this.popoverShow = false
+      this.enterprisename = row.enterprisename
+      this.$emit('designingInstitute',row.sys_enterpriseid)
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).salerPrivatecustomerTable.tablecols
+  }
+
+}
+</script>
+
+<style scoped>
+
+</style>

+ 130 - 0
src/template/clueModel/project.vue

@@ -0,0 +1,130 @@
+<template>
+  <div>
+    <el-popover
+        placement="top"
+        width="600"
+        trigger="click"
+        v-model="popoverShow">
+      <el-input style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
+      </el-input>
+      <tableList height="600px"  style="margin-top: 10px"   :layout="tablecols" :data="list" :opwidth="200" :custom="true" @rowClick="rowClick"
+      >
+        <template v-slot:customcol="scope">
+<!--          <div v-if="scope.column.columnname === 'tag'">
+            <div v-for="item in scope.column.data.tag_sys" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+              <el-tag  color="#3874F6" size="mini" type="primary" effect="dark">
+                <span>{{item}}</span>
+              </el-tag>
+            </div>
+            <div v-for="item in scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+              <el-tag color="#FA8C16" size="mini" type="warning" effect="dark">
+                <span>{{item}}</span>
+              </el-tag>
+            </div>
+          </div>
+          <div v-else-if="scope.column.columnname === 'industry'">
+            <span v-if="JSON.stringify(scope.column.data.industry) !== '[]' && scope.column.data.industry">
+              <div v-for="item in scope.column.data.industry" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+                <el-tag size="mini"  effect="dark">
+                  <span>{{item}}</span>
+                </el-tag>
+              </div>
+            </span>
+            <div v-else>
+              {{'&#45;&#45;'}}
+            </div>
+          </div>
+          <div v-else-if="scope.column.columnname === 'tradingstatus'">
+            <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '未成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+            <span style="color:#fa8c16" 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>
+          <div v-else-if="scope.column.columnname === 'leader'">
+            <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].name:'&#45;&#45;'}}</span>
+          </div>-->
+          <div v-if="scope.column.columnname === 'leader'">
+            <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].name:'&#45;&#45;'}}</span>
+          </div>
+          <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
+        </template>
+      </tableList>
+      <div  class="container normal-panel" style="text-align:right">
+        <el-pagination
+            background
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="param.content.pageNumber"
+            :page-sizes="[20, 50, 100, 200]"
+            :page-size="20"
+            layout="total,sizes, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+      <el-input v-model="projectName" readonly  placeholder="请选择设计院" slot="reference"  ></el-input>
+    </el-popover>
+  </div>
+</template>
+
+<script>
+import tableList from '@/components/table/index5';
+export default {
+  name: "project",
+  props:["data"],
+  components:{tableList},
+  data(){
+    return {
+      popoverShow:false,
+      projectName:'',
+      tablecols:[],
+      list:[],
+      total:0,
+      param:{
+        "id": 20230809085404,
+        "content": {
+          "sat_orderclueid":0,
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        }
+      }
+    }
+  },
+  methods:{
+    async listData(){
+      if (this.data){
+        this.projectName = this.data
+      }
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      this.total = res.total
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    rowClick(row){
+      console.log(row,'已选设计院')
+      this.popoverShow = false
+      this.projectName = row.projectname
+      this.$emit('project',row.sa_projectid)
+      /*this.enterprisename = row.enterprisename
+      this.$emit('designingInstitute',row.sys_enterpriseid)*/
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).projectTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>