浏览代码

营销-SPD-商机:商机达成率报表;

001295 2 年之前
父节点
当前提交
9371aa34bc

+ 10 - 1
src/api/business/spd/bo/statement.js

@@ -1,6 +1,6 @@
 import request from '@/utils/request'
 
-// 查询商机基础信息列表
+// 查询商机阶段信息列表
 export function listBasic(query) {
   return request({
     url: '/mk/bo/statement/list',
@@ -8,3 +8,12 @@ export function listBasic(query) {
     params: query
   })
 }
+
+// 查询商机百分比列表
+export function listProportion(query) {
+  return request({
+    url: '/mk/bo/statement/listCollect',
+    method: 'get',
+    params: query
+  })
+}

+ 30 - 45
src/views/business/spd/bo/basic/index.vue

@@ -12,7 +12,20 @@
       <el-form-item label="商机名称" prop="boName">
         <el-input
           v-model="queryParams.boName"
-          placeholder="请输入商机名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="客户名称" prop="customerName">
+        <el-input
+          v-model="queryParams.customerName"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商机负责人" prop="principalName">
+        <el-input
+          v-model="queryParams.principalName"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -20,7 +33,6 @@
       <el-form-item label="商机类型" prop="boType">
         <el-select
           v-model="queryParams.boType"
-          placeholder="请输入商机类型"
           @change="boTypeChange"
           clearable
         >
@@ -32,10 +44,22 @@
           ></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="商机阶段" prop="boStage">
+        <el-select
+          v-model="queryParams.boStage"
+          clearable
+        >
+          <el-option
+            v-for="item in mk_bo_stage"
+            :key="item.code"
+            :label="item.name"
+            :value="item.code"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="商机状态" prop="boState" clearable>
         <el-select
           v-model="queryParams.boState"
-          placeholder="请输入商机状态"
           clearable
         >
           <el-option
@@ -49,7 +73,6 @@
       <el-form-item label="商机来源" prop="boSource">
         <el-select
           v-model="queryParams.boSource"
-          placeholder="请输入商机来源"
           clearable
         >
           <el-option
@@ -60,20 +83,6 @@
           ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="商机阶段" prop="boStage">
-        <el-select
-          v-model="queryParams.boStage"
-          placeholder="请输入商机阶段"
-          clearable
-        >
-          <el-option
-            v-for="item in mk_bo_stage"
-            :key="item.code"
-            :label="item.name"
-            :value="item.code"
-          ></el-option>
-        </el-select>
-      </el-form-item>
       <!-- <el-form-item label="赢单状态" prop="winningState">
         <el-select v-model="queryParams.winningState" placeholder="请输入赢单状态" clearable>
           <el-option
@@ -84,22 +93,6 @@
           ></el-option>
         </el-select>
       </el-form-item> -->
-      <el-form-item label="客户名称" prop="customerName">
-        <el-input
-          v-model="queryParams.customerName"
-          placeholder="请输入客户名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机负责人" prop="principalName">
-        <el-input
-          v-model="queryParams.principalName"
-          placeholder="请输入负责人"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item>
         <el-button
           type="primary"
@@ -289,7 +282,7 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="商机来源" prop="boSource">
-              <el-select v-model="form.boSource" placeholder="商机来源">
+              <el-select v-model="form.boSource">
                 <el-option
                   v-for="dict in dict.type.mk_bo_source"
                   :key="dict.value"
@@ -308,7 +301,7 @@
                 form.boSource == '2' ? rules.referrer : [{ require: false }]
               "
             >
-              <el-input v-model="form.referrerName" placeholder="请输入推荐人">
+              <el-input v-model="form.referrerName">
                 <el-button
                   slot="append"
                   icon="el-icon-more"
@@ -323,7 +316,6 @@
             <el-form-item label="商机类型" prop="boType">
               <el-select
                 v-model="form.boType"
-                placeholder="商机类型"
                 :disabled="this.operatingState == 'Update'"
               >
                 <el-option
@@ -339,7 +331,6 @@
             <el-form-item label="客户名称" prop="customerName">
               <el-input
                 v-model="form.customerName"
-                placeholder="请输入客户"
                 :disabled="this.operatingState == 'Update'"
               >
                 <el-button
@@ -355,7 +346,6 @@
             <el-form-item label="医院营收总额" prop="totalHosRevenue">
               <el-select
                 v-model="form.totalHosRevenue"
-                placeholder="请输入医院营收总额"
                 @change="totalHosRevenueChange"
               >
                 <el-option
@@ -374,11 +364,7 @@
               label="医院耗材预估值(万元)"
               prop="hosDiscreetValue"
             >
-              <el-input
-                type="number"
-                v-model="form.hosDiscreetValue"
-                placeholder="请输入医院耗材预估值"
-              />
+              <el-input-number type="number" :controls="false" v-model="form.hosDiscreetValue" :precision="2"></el-input-number>
             </el-form-item>
           </el-col>
         </el-row>
@@ -389,7 +375,6 @@
                 type="textarea"
                 maxlength="900"
                 rows="2"
-                placeholder="请输入商机内容"
                 autosize
                 v-model="form.boContent"
               >

+ 16 - 21
src/views/business/spd/bo/basic/process.vue

@@ -35,7 +35,7 @@
       </el-tab-pane>
       <!-- 项目立项 -->
       <el-tab-pane label="阶段动作" name="t00201" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00201">
-        <el-form :disabled="!isUpdate" :model="form.boFlow">
+        <el-form :disabled="!isUpdate" :model="form.boFlow" ref="form">
           <el-form-item label="项目立项是否通过" prop="projectApproval">
             <el-radio
               v-model="form.boFlow.projectApproval"
@@ -48,7 +48,7 @@
               >否</el-radio
             >
           </el-form-item>
-          <el-form-item label="项目未通过原因:" prop="noPassCause"  v-if="form.boFlow.projectApproval == 0">
+          <el-form-item label="项目未通过原因:" prop="noPassCause" v-if="form.boFlow.projectApproval == 0">
             <el-row>
               <el-col
                 :span="8"
@@ -167,7 +167,6 @@
               >
                 <el-input
                   v-model="form.boFlow.hospitalApprovalInitiator"
-                  placeholder="选择院内立项牵头人"
                 />
               </el-form-item>
             </el-col>
@@ -184,7 +183,6 @@
                   value-format="yyyy-MM-dd"
                   v-model="form.boFlow.researchTime"
                   type="datetime"
-                  placeholder="选择日期时间"
                 >
                 </el-date-picker>
               </el-form-item>
@@ -248,7 +246,6 @@
               <el-form-item label="我方优势" prop="ourAdvantage">
                 <el-input
                   v-model="form.boFlow.ourAdvantage"
-                  placeholder="我方优势"
                 />
               </el-form-item>
             </el-col>
@@ -258,7 +255,6 @@
               <el-form-item label="我方劣势" prop="ourAdvantage">
                 <el-input
                   v-model="form.boFlow.ourAdvantage"
-                  placeholder="我方劣势"
                 />
               </el-form-item>
             </el-col>
@@ -451,7 +447,6 @@
               <el-form-item label="我方优势" prop="ourAdvantage">
                 <el-input
                   v-model="form.consumablesBoFlow.ourAdvantage"
-                  placeholder="我方优势"
                 />
               </el-form-item>
             </el-col>
@@ -461,7 +456,6 @@
               <el-form-item label="我方劣势" prop="ourAdvantage">
                 <el-input
                   v-model="form.consumablesBoFlow.ourAdvantage"
-                  placeholder="我方劣势"
                 />
               </el-form-item>
             </el-col>
@@ -680,7 +674,6 @@
               <el-form-item label="我方优势" prop="ourAdvantage">
                 <el-input
                   v-model="form.medicalBoFlow.ourAdvantage"
-                  placeholder="我方优势"
                 />
               </el-form-item>
             </el-col>
@@ -690,7 +683,6 @@
               <el-form-item label="我方劣势" prop="ourAdvantage">
                 <el-input
                   v-model="form.medicalBoFlow.ourAdvantage"
-                  placeholder="我方劣势"
                 />
               </el-form-item>
             </el-col>
@@ -912,7 +904,6 @@
               <el-form-item label="我方优势" prop="ourAdvantage">
                 <el-input
                   v-model="form.armariumBoFlow.ourAdvantage"
-                  placeholder="我方优势"
                 />
               </el-form-item>
             </el-col>
@@ -922,7 +913,6 @@
               <el-form-item label="我方劣势" prop="ourAdvantage">
                 <el-input
                   v-model="form.armariumBoFlow.ourAdvantage"
-                  placeholder="我方劣势"
                 />
               </el-form-item>
             </el-col>
@@ -1142,7 +1132,6 @@
               <el-form-item label="我方优势" prop="ourAdvantage">
                 <el-input
                   v-model="form.amfBoFlow.ourAdvantage"
-                  placeholder="我方优势"
                 />
               </el-form-item>
             </el-col>
@@ -1152,7 +1141,6 @@
               <el-form-item label="我方劣势" prop="ourAdvantage">
                 <el-input
                   v-model="form.amfBoFlow.ourAdvantage"
-                  placeholder="我方劣势"
                 />
               </el-form-item>
             </el-col>
@@ -1385,13 +1373,20 @@ export default {
     },
     //下一步
     next() {
-      var boId = this.form.id;
-      this.$modal.confirm('确定要变更为下一阶段吗?').then(function() {
-        return changeNextStage(boId);
-      }).then(() => {
-        this.$modal.msgSuccess("流程扭转成功");
-        this.$emit('reload');
-      }).catch(function() {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          var boId = this.form.id;
+          this.$modal.confirm('确定要变更为下一阶段吗?').then(function() {
+            return changeNextStage(boId);
+          }).then(() => {
+            this.$modal.msgSuccess("流程扭转成功");
+            this.$emit('reload');
+          }).catch(function() {
+          });
+        } else {
+            this.$message.error('请完善表单相关信息!');
+          return false;
+        }
       });
     },
     //修改按钮

+ 1 - 0
src/views/business/spd/bo/behavior/behaviorList.vue

@@ -407,6 +407,7 @@ export default {
     }
     if(this.source == 'TaskList'){
       this.queryParams.taskCode = this.bo.code;
+      console.log("this.bo", this.bo);
     }
     console.log("this.queryParams", this.queryParams);
     this.getList();

+ 10 - 3
src/views/business/spd/bo/filetemplate/index.vue

@@ -81,8 +81,8 @@
       width="400px"
       append-to-body
     >
-      <el-form ref="form" :model="form" label-width="80px">
-        <el-form-item label="商机类型">
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="商机类型" prop="boType">
           <el-select v-model="form.boType">
             <el-option
               v-for="dict in dict.type.mk_bo_type"
@@ -167,6 +167,9 @@ export default {
         // 上传的地址
         url: process.env.VUE_APP_BASE_API + "/mk/bo/filetemplate/upload",
       },
+      rules:{
+        boType :[{required: true, message: '请选择商机类型', trigger: 'blur'}],
+      },
     };
   },
   created() {
@@ -188,7 +191,11 @@ export default {
     },
     // 提交上传文件
     submitFileForm() {
-      this.$refs.upload.submit();
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          this.$refs.upload.submit();
+        }
+      });
     },
     // 文件上传中处理
     handleFileUploadProgress(event, file, fileList) {

+ 487 - 35
src/views/business/spd/bo/task/index.vue

@@ -1,18 +1,9 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="商机名称" prop="boName">
-        <el-input
-          v-model="queryParams.boName"
-          placeholder="请输入商机名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item label="任务编码" prop="code">
         <el-input
           v-model="queryParams.code"
-          placeholder="请输入任务编码"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -20,23 +11,13 @@
       <el-form-item label="任务名称" prop="name">
         <el-input
           v-model="queryParams.name"
-          placeholder="请输入任务名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机阶段" prop="boStage">
-        <el-input
-          v-model="queryParams.boStage"
-          placeholder="请输入商机阶段"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="任务状态" prop="state">
+      <el-form-item label="商机名称" prop="boName">
         <el-input
-          v-model="queryParams.state"
-          placeholder="请输入任务状态"
+          v-model="queryParams.boName"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -44,17 +25,410 @@
       <el-form-item label="客户名称" prop="customerName">
         <el-input
           v-model="queryParams.customerName"
-          placeholder="请输入客户名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="任务状态" prop="state">
+        <el-select
+          v-model="queryParams.state"
+          clearable
+        >
+          <el-option
+            v-for="dict in dict.type.mk_bo_taskstate"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
-    <TaskList :key="timer" :source = "'Task'" :bo="queryParams" />
+    <el-row :gutter="10" class="mb8">
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          >新增</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          @click="handleUpdate"
+          >修改</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDelete"
+          >删除</el-button
+        >
+      </el-col> -->
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="taskList"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="任务编码" align="center" prop="code" />
+      <el-table-column label="任务名称" align="center" prop="name" />
+      <el-table-column
+        label="商机名称"
+        align="center"
+        prop="boName"
+      />
+      <el-table-column label="商机阶段" align="center" prop="boStageName"/>
+      <el-table-column
+        label="客户名称"
+        align="center"
+        prop="customerName"
+      />
+      <el-table-column label="任务类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.mk_bo_tasktype"
+            :value="scope.row.type"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="任务状态" align="center" prop="state">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.mk_bo_taskstate"
+            :value="scope.row.state"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="联系人" align="center" prop="linkmanName" />
+      <el-table-column
+        label="销售组织名称"
+        align="center"
+        prop="salesOrgName"
+      />
+      <el-table-column label="部门名称" align="center" prop="deptName" />
+      <el-table-column label="负责人名称" align="center" prop="staffName" />
+      <el-table-column
+        label="截止时间"
+        align="center"
+        prop="deadlineTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.deadlineTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="任务内容" align="center" prop="content" />
+      <el-table-column
+        label="操作"
+        fixed="right"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-s-promotion"
+            @click="handleBrowse(scope.row)"
+            >跟进</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改任务对话框 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="1000px"
+      append-to-body
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        :disabled="this.operatingState == 'Browse'"
+      >
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="商机名称" prop="boName">
+              <el-input
+                v-model="form.boName"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item
+              label="商机阶段"
+              prop="boStage"
+            >
+              <el-select v-model="form.boStage">
+                <el-option
+                  v-for="dict in dict.type.mk_bo_stage"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="客户" prop="customerName">
+              <el-input
+                v-model="form.customerName"
+              >
+                <el-button
+                  slot="append"
+                  icon="el-icon-more"
+                  @click="refereCustomer"
+                ></el-button>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="任务编码" prop="code">
+              <el-input
+                v-model="form.code"
+                :disabled="true"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="任务名称" prop="name">
+              <el-input v-model="form.name" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="任务状态" prop="state">
+              <el-select v-model="form.state" >
+                <el-option
+                  v-for="dict in dict.type.mk_bo_taskstate"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="开始时间" prop="startTime">
+              <el-date-picker
+                clearable
+                v-model="form.startTime"
+                type="date"
+                value-format="yyyy-MM-dd"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="截止时间" prop="deadlineTime">
+              <el-date-picker
+                clearable
+                v-model="form.deadlineTime"
+                type="date"
+                value-format="yyyy-MM-dd"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="任务类型" prop="type">
+              <el-select v-model="form.type" >
+                <el-option
+                  v-for="dict in dict.type.mk_bo_tasktype"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="联系人" prop="linkmanName">
+              <el-input v-model="form.linkmanName">
+                <el-button
+                  slot="append"
+                  icon="el-icon-more"
+                  @click="refereContact"
+                ></el-button>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="销售组织" prop="salesOrgName">
+              <el-input v-model="form.salesOrgName" :disabled="true">
+                <el-button
+                  slot="append"
+                  icon="el-icon-more"
+                  @click="refereOrg"
+                  :disabled="true"
+                ></el-button>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="部门" prop="deptName">
+              <el-input v-model="form.deptName" :disabled="true">
+                <el-button
+                  slot="append"
+                  icon="el-icon-more"
+                  @click="refereDept"
+                  :disabled="true"
+                ></el-button>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="负责人" prop="staffName">
+              <el-input v-model="form.staffName">
+                <el-button
+                  slot="append"
+                  icon="el-icon-more"
+                  @click="refereStaff"
+                ></el-button>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="任务内容" prop="content">
+          <el-input
+            type="textarea"
+            :rows="2"
+            autosize
+            v-model="form.content"
+          >
+          </el-input>
+        </el-form-item>
+        
+        <div class="md-auditInfo">
+          <el-divider content-position="left">其它信息</el-divider>
+          <el-form :inline="true" label-position="right" :model="form">
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="创建人">
+                  <el-input
+                    v-model="form.createByName"
+                    size="small"
+                    readonly
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="创建时间">
+                  <el-input
+                    v-model="form.createTime"
+                    size="small"
+                    readonly
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="修改人">
+                  <el-input
+                    v-model="form.updateByName"
+                    size="small"
+                    readonly
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="修改时间">
+                  <el-input
+                    v-model="form.updateTime"
+                    size="small"
+                    readonly
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+        </div>
+      </el-form>
+
+      <BehaviorList
+          :key="timer"
+          :source="'TaskList'"
+          :bo="this.form"
+          :boAuthority="boAuthority"
+          v-if="this.operatingState != 'Insert'"
+        />
+        
+      <div slot="footer" class="dialog-footer">
+        <el-button
+          type="primary"
+          @click="submitForm"
+          v-if="this.operatingState != 'Browse'"
+          >确 定</el-button
+        >
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    <!-- 客户参照 -->
+    <CustomerRef
+      ref="customerSelect"
+      @doSubmit="customerSelectionsToInput"
+      :single="true"
+    />
+    <!-- 联系人参照 -->
+    <ContactRef
+      ref="contactSelect"
+      @doSubmit="contactSelectionsToInput"
+      :single="true"
+      :outerQueryParams="this.bo"
+    />
+    <!-- 组织参照 -->
+    <OrgRef ref="orgSelect" @doSubmit="orgSelectionsToInput" :single="true" />
+    <!-- 部门参照 -->
+    <DeptRef
+      ref="deptSelect"
+      @doSubmit="deptSelectionsToInput"
+      :single="true"
+    />
+    <!-- 员工参照 -->
+    <StaffRef
+      ref="staffSelect"
+      @doSubmit="staffSelectionsToInput"
+      :single="true"
+    />
   </div>
 </template>
 
@@ -62,12 +436,25 @@
 <script>
 import { listTask, getTask, delTask, addTask, updateTask } from "@/api/business/spd/bo/task";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import TaskList from '../task/taskList.vue'
+import CustomerRef from "@/views/business/spd/bo/refer/customer/index.vue";
+import ContactRef from "@/views/business/spd/bo/refer/contact/index.vue";
+import OrgRef from "@/views/business/spd/bo/refer/org/index.vue";
+import DeptRef from "@/views/business/spd/bo/refer/dept/index.vue";
+import StaffRef from "@/views/business/spd/bo/refer/staff/index.vue";
+import BehaviorList from "../behavior/behaviorList.vue";
+import { getPsnPost } from "@/api/business/spd/bo/authority";
 
 export default {
   name: "Task",
-  dicts: ['mk_bo_taskstate','mk_bo_tasktype'],
-  components: {TaskList},
+    dicts: ["mk_bo_taskstate", "mk_bo_tasktype", "mk_bo_stage"],
+    components: {
+      CustomerRef,
+      ContactRef,
+      OrgRef,
+      DeptRef,
+      StaffRef,
+      BehaviorList,
+    },
   data() {
     return {
       // 遮罩层
@@ -124,6 +511,12 @@ export default {
       },
       //重新加载子组件参数
       timer: '',
+      // 操作撞他
+      operatingState:'',
+      // 所选商机
+      curBo:{},
+      // 权限
+      boAuthority:{},
     };
   },
   created() {
@@ -133,6 +526,7 @@ export default {
     /** 查询任务列表 */
     getList() {
       this.loading = true;
+      this.queryParams.staff = this.$store.state.user.id;
       listTask(this.queryParams).then(response => {
         this.taskList = response.rows;
         this.total = response.total;
@@ -179,8 +573,7 @@ export default {
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;
-      this.timer = new Date().getTime();
-      // this.getList();
+      this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
@@ -193,6 +586,22 @@ export default {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
+    /** 查看按钮操作 */
+    handleBrowse(row) {
+      this.reset();
+      const id = row.id || this.ids;
+      getTask(id).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.operatingState = "Browse";
+        this.title = "基础信息";
+        //加载权限数据
+        getPsnPost(this.form.bo).then((response) => {
+          this.boAuthority = response.data;
+          this.timer = new Date().getTime();
+        });
+      });
+    },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
@@ -241,7 +650,7 @@ export default {
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },
-	/** 行动序号 */
+	  /** 行动序号 */
     rowMkBoBehaviorIndex({ row, rowIndex }) {
       row.index = rowIndex + 1;
     },
@@ -285,12 +694,55 @@ export default {
     handleMkBoBehaviorSelectionChange(selection) {
       this.checkedMkBoBehavior = selection.map(item => item.index)
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('drp-business/task/export', {
-        ...this.queryParams
-      }, `task_${new Date().getTime()}.xlsx`)
-    }
+    // 触发客户参照列表
+    refereCustomer() {
+      this.$refs.customerSelect.init();
+    },
+    //客户参照列表选择后
+    customerSelectionsToInput(selections) {
+      this.form.customer = selections[0].id;
+      this.form.customerName = selections[0].name;
+    },
+    // 触发联系人参照列表
+    refereContact() {
+      this.$refs.contactSelect.init();
+    },
+    //联系人参照列表选择后
+    contactSelectionsToInput(selections) {
+      this.form.linkman = selections[0].id;
+      this.form.linkmanName = selections[0].name;
+    },
+    // 触发组织参照列表
+    refereOrg() {
+      this.$refs.orgSelect.init();
+    },
+    //组织参照列表选择后
+    orgSelectionsToInput(selections) {
+      this.form.salesOrg = selections[0].deptId;
+      this.form.salesOrgName = selections[0].deptName;
+    },
+    // 触发部门参照列表
+    refereDept() {
+      this.$refs.deptSelect.init();
+    },
+    //部门参照列表选择后
+    deptSelectionsToInput(selections) {
+      this.form.dept = selections[0].deptId;
+      this.form.deptName = selections[0].deptName;
+    },
+    // 触发员工参照列表
+    refereStaff() {
+      this.$refs.staffSelect.init();
+    },
+    //员工参照列表选择后
+    staffSelectionsToInput(selections) {
+      this.form.staff = selections[0].userId;
+      this.form.staffName = selections[0].nickName;
+      this.form.dept = selections[0].deptId;
+      this.form.deptName = selections[0].deptName;
+      this.form.salesOrg = selections[0].orgId;
+      this.form.salesOrgName = selections[0].orgName;
+    },
   }
 };
 </script>