bding hai 1 ano
pai
achega
2e1ca245ab

+ 4 - 0
src/api/modules/rai/pointsApi.js

@@ -13,6 +13,10 @@ const raiPoints = {
   activityPointsBill: (params) => {
     return http.get("/custom/company/activity/points/bill", params);
   },
+  // 扣点的截至时间
+  activityDeadlineSet: (params) => {
+    return http.get("/cygx/activity/deadlineSet", params);
+  },
 };
 
 export default raiPoints;

+ 2 - 2
src/views/Home.vue

@@ -49,7 +49,7 @@
                   <a :href="`/${item.level_path}`" class="el-level-path" :style="`display: block;color:${item.level_path===activePath ? '#FDB863 ' : '#fff'}`" @click="(e) => e.preventDefault() ">
                     <img :src="item.icon_path" alt="" style="width:24px;height:24px;" />
                     <span class="titleLetter" v-show="isCollapse">{{isCollapse?MenuLetterMap[item.name]||'':''}}</span>
-                    <span style="display:inline-block; width:96px; text-align:left;font-size:15px;margin-left:15px;">{{item.name}}</span>
+                    <span style="display:inline-block; width:96px; text-align:left;font-size:15px;margin-left:20px;">{{item.name}}</span>
                   </a>
                 </el-menu-item>
                 
@@ -57,7 +57,7 @@
                   <template slot="title">
                     <img :src="item.icon_path" alt="" style="width:24px;height:24px;" />
                     <span class="titleLetter" v-show="isCollapse">{{isCollapse?MenuLetterMap[item.name]||'':''}}</span>
-                    <span style="display:inline-block; width:96px; text-align:left;font-size:15px; margin-left:15px;"
+                    <span style="display:inline-block; width:96px; text-align:left;font-size:15px; margin-left:20px;"
                         >{{item.name}}</span>
                   </template>
                   <el-menu-item

+ 35 - 46
src/views/rai_manage/activityManage/applyManage.vue

@@ -4,13 +4,9 @@
     <div class="top-wrap" style="margin-bottom: 20px">
       <div class="top-card-box">
         <div class="tabs-box">
-          <span
-            v-for="(item, index) in listTitle"
-            :key="item.ChartPermissionId"
-            @click="tabsBoxBtn(item, index)"
-            :class="item.ChartPermissionId == tabsPitchonType ? 'pitch' : ''"
-            >{{ item.PermissionName }}</span
-          >
+          <span v-for="(item, index) in listTitle" :key="item.ChartPermissionId" @click="tabsBoxBtn(item, index)" :class="item.ChartPermissionId == tabsPitchonType ? 'pitch' : ''">{{
+            item.PermissionName
+          }}</span>
         </div>
         <div>
           <el-input v-model="titleValue" style="width: 521px" placeholder="请输入活动名称" clearable>
@@ -30,9 +26,9 @@
           </template>
           <!-- 公司调研下的单独按钮 -->
           <template v-if="tabsPitchonType === 3">
-            <el-tooltip class="item" effect="dark" content="不限人数的公司调研电话会请点此" placement="bottom">
+            <!-- <el-tooltip class="item" effect="dark" content="不限人数的公司调研电话会请点此" placement="bottom">
               <el-button type="primary" v-if="tabsSelectionOne" @click="addOutbound('新增外呼人员')">新增外呼人员</el-button>
-            </el-tooltip>
+            </el-tooltip> -->
             <el-tooltip class="item" effect="dark" content="公司线下调研、限制人数的公司调研电话会请点此" placement="bottom">
               <el-button v-if="tabsPitchonType !== 1" type="primary" @click="addapply">新增报名</el-button>
             </el-tooltip>
@@ -42,27 +38,10 @@
         </div>
         <div>
           <el-select placeholder="行业" clearable v-model="industry" @change="conditionChange" style="margin-bottom: 20px">
-            <el-option
-              v-for="item in chartPermissionList"
-              :label="item.PermissionName"
-              :key="item.ChartPermissionId"
-              :value="item.ChartPermissionId"
-            ></el-option>
+            <el-option v-for="item in chartPermissionList" :label="item.PermissionName" :key="item.ChartPermissionId" :value="item.ChartPermissionId"></el-option>
           </el-select>
-          <el-select
-            placeholder="活动类型"
-            clearable
-            @focus="activityType"
-            v-model="cactivityTypeVal"
-            @change="conditionChange"
-            style="margin-bottom: 20px"
-          >
-            <el-option
-              v-for="item in cactivityTypeList"
-              :label="item.ActivityTypeName"
-              :key="item.ActivityTypeId"
-              :value="item.ActivityTypeId"
-            ></el-option>
+          <el-select placeholder="活动类型" clearable @focus="activityType" v-model="cactivityTypeVal" @change="conditionChange" style="margin-bottom: 20px">
+            <el-option v-for="item in cactivityTypeList" :label="item.ActivityTypeName" :key="item.ActivityTypeId" :value="item.ActivityTypeId"></el-option>
           </el-select>
           <date-picker v-model="issueTime" type="date" range placeholder="活动时间" value-type="format" @change="conditionChange"> </date-picker>
           <el-select placeholder="活动状态" clearable v-model="cactivityStatus" @change="conditionChange" style="margin-bottom: 20px">
@@ -76,14 +55,7 @@
       <!-- 表格部分 -->
       <el-table @selection-change="selectChange" :data="dataList" style="width: 100%; margin-top: 15px" border ref="multipleTable">
         <el-table-column type="selection" align="center" key="ActivityId"></el-table-column>
-        <el-table-column
-          v-for="item in tableApplyColums"
-          :key="item.label"
-          :label="item.label"
-          :width="item.widthsty"
-          :min-width="item.minwidthsty"
-          align="center"
-        >
+        <el-table-column v-for="item in tableApplyColums" :key="item.label" :label="item.label" :width="item.widthsty" :min-width="item.minwidthsty" align="center">
           <template #header>
             <span>{{ item.label }}</span>
             <el-tooltip
@@ -96,9 +68,7 @@
           </template>
           <template slot-scope="{ row }">
             <div v-if="item.key == 'ReminderPeopleNum'">
-              <span v-if="row.ReminderPeopleNum > 0" class="editsty" @click="particularsBtn('会议提醒人数', row.ActivityId)">{{
-                row.ReminderPeopleNum
-              }}</span>
+              <span v-if="row.ReminderPeopleNum > 0" class="editsty" @click="particularsBtn('会议提醒人数', row.ActivityId)">{{ row.ReminderPeopleNum }}</span>
               <span v-else>--</span>
             </div>
             <div v-else-if="item.key == 'SignupFailPeopleNum'">
@@ -185,6 +155,7 @@ export default {
       cactivityStatus: 1,
       publishStatus: "1", //发布状态
       messageDialogVisible: false, //发送消息模版
+      isResearchPoints: false, //
     };
   },
   computed: {
@@ -225,6 +196,7 @@ export default {
       this.tabsPitchonType = item.ChartPermissionId;
       this.tableApplyColums = TableApplyColums(item.ChartPermissionId);
       this.cactivityTypeVal = "";
+      this.isResearchPoints = false;
       this.tabsSelectionOne = item.ChartPermissionId == 2 ? false : true;
       this.page_no = 1;
       this.getsDataList();
@@ -274,12 +246,14 @@ export default {
       const summation = [];
       const genre = [];
       let minimum = [];
+      let isResearch = [];
       this.selectionArr = selection;
       selection.forEach((item) => {
         arr.push(item.ActivityId);
         num.push(item.LimitPeopleNum);
         summation.push(item.SignupPeopleNum);
         genre.push(item.ActivityTypeName);
+        isResearch.push(item.IsResearchPoints);
         minimum.push(item.LimitPeopleNum - item.SignupPeopleNum);
       });
       this.activityTypeName = genre;
@@ -288,15 +262,31 @@ export default {
       this.reminder = num.some((item) => item > 0);
       this.selectList = str;
       this.isGenre = new Set(genre).size > 1 ? true : false;
-      console.log(this.isGenre, genre);
-      if (this.tabsPitchonType !== 1) {
+      if (this.tabsPitchonType !== 1 && (selection[0] ? selection[0].LimitPeopleNum > 0 : true)) {
         num.forEach((item) => {
           this.numberFull = summation.some((key) => key >= item);
         });
+      }
+      if (this.tabsPitchonType !== 1) {
+        console.log(isResearch, isResearch.length);
+        this.tabsPitchonType == 3 && this.isResearchHandler(isResearch);
         this.minimumSummation = Math.min(...minimum);
         this.numberLimi = num.includes(0) && num.some((item) => item > 0);
       }
     },
+    // 公司调研下的判断
+    isResearchHandler(isResearch) {
+      if (isResearch && isResearch.length > 1) {
+        for (let i = 0; i < isResearch.length - 1; i++) {
+          if (isResearch[i] !== isResearch[i + 1]) {
+            this.isResearchPoints = true;
+            break;
+          }
+        }
+      } else {
+        this.isResearchPoints = false;
+      }
+    },
     //报名详情的弹框
     particularsBtn(val, id) {
       this.dialogVisibleId = id;
@@ -353,15 +343,14 @@ export default {
     },
     //新增报名
     addapply() {
-      console.log(123);
       if (!this.selectList) {
         return this.$message.warning("请先选择活动");
       } else if (this.isGenre) {
         return this.$message.warning("活动类型不同,无法同时新增报名");
+      } else if (this.isResearchPoints && this.tabsPitchonType == 3) {
+        return this.$message.warning("所选活动无法同时新增报名");
       } else {
-        if (!this.reminder && this.tabsPitchonType !== 4) {
-          return this.$message.warning("请点击新增外呼人员!");
-        } else if (this.numberLimi && this.tabsPitchonType !== 4) {
+        if (this.numberLimi && this.tabsPitchonType !== 4) {
           return this.$message.warning("不限人数的电话会请新增外呼人员,限制人数的电话会请新增报名");
         } else if (this.numberFull && this.tabsPitchonType !== 4) {
           return this.$message.warning("新增失败,活动人数超限。");

+ 1 - 1
src/views/rai_manage/activityManage/components/addActivity.vue

@@ -75,7 +75,7 @@
         </div>
         <!-- 复选 模块 -->
         <div style="margin-top: 20px">
-          <research-deduct ref="researchSelect" :cactivityType="cactivityType" />
+          <research-deduct ref="researchSelect" :cactivityType="cactivityType" :optionFormregion="optionFormregion" />
         </div>
         <div style="margin: 20px 0 0 98px" class="add-delete" v-for="(item, index) in addSubjectLabel" :key="index">
           <template v-if="subjectRadio == 2">

+ 62 - 41
src/views/rai_manage/activityManage/components/addComopnents/ResearchDeduct.vue

@@ -22,43 +22,50 @@
       </el-checkbox>
       <el-checkbox v-if="isYidongConduct && cactivityType == 2" v-model="isBClass"> B类非公开会议 </el-checkbox>
     </template>
-
-    <el-checkbox v-model="isDeduct" style="margin-right: 20px"> 研选扣点 </el-checkbox>
-    <el-select clearable @change="ObjectChangeHandler" v-model="PointsSet.PointsObject" placeholder="请选择扣点对象" v-if="isDeduct" style="width: 160px">
-      <el-option v-for="item in deductUser" :key="item.value" :label="item.label" :value="item.value"> </el-option>
-    </el-select>
-    <template v-if="isDeduct && PointsSet.PointsObject">
-      <el-select clearable v-model="PointsSet.CompanyPointsNum" placeholder="办会人扣点点数" v-if="PointsSet.PointsObject == 3" style="width: 160px">
-        <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
-      </el-select>
-      <el-select clearable v-model="PointsSet.UserPointsNum" placeholder="请选择扣点点数" style="width: 160px" v-if="PointsSet.PointsObject == 1">
-        <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
-      </el-select>
-      <el-select clearable v-model="PointsSet.CompanyPointsNum" placeholder="请选择扣点点数" style="width: 160px" v-if="PointsSet.PointsObject == 2">
-        <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
-      </el-select>
-      <el-autocomplete
-        :fetch-suggestions="querySearchAsync"
-        clearable
-        v-model="institutionName"
-        placeholder=" 请输入办会机构名称"
-        v-if="PointsSet.PointsObject != 1"
-        style="width: 300px"
-        @select="companyChangeHandler"
-        @clear="companyClearHandler"
-      ></el-autocomplete>
-      <el-select clearable v-model="PointsSet.UserPointsNum" placeholder="参会人扣点点数" v-if="PointsSet.PointsObject == 3" style="width: 160px">
-        <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
-      </el-select>
-      <el-select clearable v-model="PointsSet.PointsType" placeholder="请选择扣点形式" v-if="PointsSet.PointsObject != 2" style="width: 160px">
-        <el-option v-for="item in pointsTypeList" :key="item.val" :label="item.label" :value="item.val"> </el-option>
+    <template v-if="optionFormregion.includes('研选')">
+      <el-checkbox v-model="isDeduct" style="margin-right: 20px"> 研选扣点 </el-checkbox>
+      <el-select clearable @change="ObjectChangeHandler" v-model="PointsSet.PointsObject" placeholder="请选择扣点对象" v-if="isDeduct" style="width: 160px">
+        <el-option v-for="item in deductUser" :key="item.value" :label="item.label" :value="item.value"> </el-option>
       </el-select>
+      <template v-if="isDeduct && PointsSet.PointsObject">
+        <el-select clearable v-model="PointsSet.CompanyPointsNum" placeholder="办会人扣点点数" v-if="PointsSet.PointsObject == 3" style="width: 160px">
+          <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
+        </el-select>
+        <el-select clearable v-model="PointsSet.UserPointsNum" placeholder="请选择扣点点数" style="width: 160px" v-if="PointsSet.PointsObject == 1">
+          <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
+        </el-select>
+        <el-select clearable v-model="PointsSet.CompanyPointsNum" placeholder="请选择扣点点数" style="width: 160px" v-if="PointsSet.PointsObject == 2">
+          <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
+        </el-select>
+        <el-autocomplete
+          :fetch-suggestions="querySearchAsync"
+          clearable
+          v-model="institutionName"
+          placeholder=" 请输入办会机构名称"
+          v-if="PointsSet.PointsObject != 1"
+          style="width: 300px"
+          @select="companyChangeHandler"
+          @clear="companyClearHandler"
+        ></el-autocomplete>
+        <el-select clearable v-model="PointsSet.UserPointsNum" placeholder="参会人扣点点数" v-if="PointsSet.PointsObject == 3" style="width: 160px; margin-left: 20px">
+          <el-option v-for="item in dataPointsSet" :key="item.PointsNum" :label="item.PointsNum" :value="item.PointsNum"> </el-option>
+        </el-select>
+        <el-select clearable v-model="PointsSet.PointsType" placeholder="请选择扣点形式" v-if="PointsSet.PointsObject != 2" style="width: 160px">
+          <el-option v-for="item in pointsTypeList" :key="item.val" :label="item.label" :value="item.val"> </el-option>
+        </el-select>
+      </template>
+      <span style="margin: 0 20px">
+        报名截止时间:
+        <el-date-picker clearable v-model="SiginupDeadline" type="datetime" placeholder="选择日期时间" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker>
+      </span>
+      <span style="margin: 0 20px 0 0" v-if="PointsSet.PointsType == 1">
+        取消报名截止时间:
+        <el-select clearable v-model="PointsSet.CancelDeadlineType" placeholder="请选择截止时间" style="width: 200px">
+          <el-option v-for="item in dataDeadlineSet" :key="item.Id" :label="item.Name" :value="item.Id"> </el-option>
+        </el-select>
+      </span>
+      <el-checkbox v-model="provideEmail"> 需提供邮箱 </el-checkbox>
     </template>
-    <span style="margin: 0 20px">
-      报名截止时间:
-      <el-date-picker clearable v-model="SiginupDeadline" type="datetime" placeholder="选择日期时间" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker>
-    </span>
-    <el-checkbox v-model="provideEmail"> 需提供邮箱 </el-checkbox>
   </div>
 </template>
 
@@ -73,6 +80,11 @@ export default {
       required: true,
       default: "",
     },
+    optionFormregion: {
+      required: true,
+      type: String,
+      default: "",
+    },
   },
   data() {
     return {
@@ -94,7 +106,9 @@ export default {
         UserPointsNum: "", //参会人扣点数量
         PointsType: "", //扣点形式,1:报名即扣点,2:到会即扣点
         CompanyPointsNum: "", //办会人扣点数量
+        CancelDeadlineType: "", //截至报名时间
       },
+      dataDeadlineSet: [],
     };
   },
   computed: {
@@ -116,15 +130,14 @@ export default {
         }
       },
     },
-    SiginupDeadline: {
-      handler(newval) {
-        console.log(newval);
-      },
-    },
   },
-  created() {},
+  created() {
+    let time = new Date().toISOString().substr(0, 10);
+    this.SiginupDeadline = time + " 15:30:00";
+  },
   mounted() {
     this.getActivityPointsSet();
+    this.getActivityDeadlineSet()
   },
   methods: {
     // 获取扣点点数的
@@ -134,6 +147,13 @@ export default {
         this.dataPointsSet = res.Data.List;
       }
     },
+    // 获取截取时间的
+    async getActivityDeadlineSet() {
+      const res = await raiInterface.activityDeadlineSet();
+      if (res.Ret === 200) {
+        this.dataDeadlineSet = res.Data;
+      }
+    },
     // 远程搜索公司
     async querySearchAsync(query, cb) {
       cb([]);
@@ -173,6 +193,7 @@ export default {
       this.PointsSet.UserPointsNum = ""; //参会人扣点数量
       this.PointsSet.PointsType = ""; //扣点形式,1=报名即扣点,2=到会即扣点
       this.PointsSet.CompanyPointsNum = ""; //办会人扣点数量
+      this.PointsSet.CancelDeadlineType = ""; //办会人扣点数量
       this.institutionName = ""; //
     },
   },

+ 19 - 8
src/views/rai_manage/components/apply/applyDialog.vue

@@ -26,13 +26,24 @@
             :trigger-on-focus="false"
             clearable
           ></el-autocomplete>
-          <div v-if="isType && addDialogType !== '新增预约纪要'" class="radio-content">
-            <el-radio v-model="item.radio" label="1">预约外呼</el-radio>
-            <el-radio v-model="item.radio" label="2">自主拨入</el-radio>
-          </div>
-          <div style="margin: 0 20px" v-if="isShowSummary && signUpAdd !== '易董' && signUpAdd !== '专项'">
-            <el-checkbox v-model="item.checked">同时预约纪要</el-checkbox>
-          </div>
+          <template v-if="selectionArr && selectionArr.length && selectionArr[0].ActivityTypeName == '公司调研电话会'">
+            <div class="radio-content" v-if="selectionArr[0].IsResearchPoints != 1">
+              <el-radio v-model="item.radio" label="1">预约外呼</el-radio>
+              <el-radio v-model="item.radio" label="2" v-if="selectionArr[0].LimitPeopleNum > 0">自主拨入</el-radio>
+            </div>
+            <div style="margin: 0 20px" v-if="selectionArr[0].IsCanAppointmentMinutes > 0">
+              <el-checkbox v-model="item.checked">同时预约纪要</el-checkbox>
+            </div>
+          </template>
+          <template v-else>
+            <div v-if="isType && addDialogType !== '新增预约纪要'" class="radio-content">
+              <el-radio v-model="item.radio" label="1">预约外呼</el-radio>
+              <el-radio v-model="item.radio" label="2">自主拨入</el-radio>
+            </div>
+            <div style="margin: 0 20px" v-if="isShowSummary && signUpAdd !== '易董' && signUpAdd !== '专项'">
+              <el-checkbox v-model="item.checked">同时预约纪要</el-checkbox>
+            </div>
+          </template>
           <div style="width: 20px"><img @click="deleteItem(item, index)" src="~@/assets/img/icons/delete-Item.png" :class="index == 0 ? 'defaultyi' : ''" alt="" /></div>
         </div>
         <p v-if="item.isShow">系统中无此人,请先将其添加到对应公司的联系人列表下</p>
@@ -270,7 +281,7 @@ export default {
 <style lang="scss">
 .container-applydialog {
   .container-custom {
-    width: 600px;
+    width: 700px;
   }
   .container-applydial {
     width: 900px;

+ 4 - 9
src/views/rai_manage/components/apply/particularsDialog.vue

@@ -44,7 +44,7 @@
             <el-table-column v-if="isSignupTypeShow" min-width="110" key="meeting" align="center" label="参会方式">
               <template slot-scope="{ row }">
                 <span>
-                  {{ row.SignupType == 1 ? "预约外呼" : row.SignupType == 2 ? "自主拨入" : row.SignupType == 4 ? "自主入会" : "" }}
+                  {{ row.SignupType == 1 ? "预约外呼" : row.SignupType == 2 ? "自主拨入" : row.SignupType == 4 ? "自主入会" : "--" }}
                 </span>
               </template>
             </el-table-column>
@@ -89,20 +89,15 @@
         </div>
       </div>
       <div slot="footer" class="dialog-footer">
-        <div style="margin: 10px 0" v-if="subscribe !== '报名失败详情' && subscribe !== '预约外呼详情' && !Teleconference">
+        <div style="margin: 10px 0" v-if="subscribe !== '报名失败详情' && subscribe !== '预约外呼详情'">
           <span style="margin-left: 30px">
             <el-button type="primary" v-if="AppointmentCall || this.excelType == 'CClass'" @click="appointmentCallDownloadHandler">下载名单</el-button>
             <a :href="exportUser" download v-else>
               <el-button type="primary">下载名单</el-button>
             </a>
           </span>
-          <el-button style="margin-left: 30px" type="primary" plain @click="okBtn">知道了</el-button>
-        </div>
-        <div style="margin: 10px 0" v-if="subscribe == '预约外呼详情' || (Teleconference && subscribe !== '报名失败详情')">
-          <a :href="exportUser" download>
-            <el-button type="primary">下载外呼名单</el-button>
-          </a>
-          <el-button style="margin-left: 30px" type="primary" plain @click="okBtn">取消</el-button>
+          <el-button style="margin-left: 30px" v-if="subscribe == '预约外呼详情' || (Teleconference && subscribe !== '报名失败详情')" type="primary" plain @click="okBtn">取消</el-button>
+          <el-button v-else style="margin-left: 30px" type="primary" plain @click="okBtn">知道了</el-button>
         </div>
         <div v-if="subscribe == '报名失败详情'">
           <el-button style="margin: 10px 0" type="primary" @click="okBtn">知道了</el-button>