6 次代碼提交 0f0a48035a ... 4dbf0b7aef

作者 SHA1 備註 提交日期
  peicj 4dbf0b7aef Merge remote-tracking branch 'origin/master' 6 天之前
  peicj ed80e926f3 叮当国医bug修复 1 周之前
  peicj 1cdbb85cb5 Merge remote-tracking branch 'origin/master' 1 周之前
  peicj 003f62dc6b 陕西今正需求调整界面 2 周之前
  peicj 1c74f23bdc Merge remote-tracking branch 'origin/master' 2 周之前
  peicj 2c2d90b95a 公域课程管理上下架bug处理 2 周之前

+ 11 - 2
src/api/course/courseRedPacketLog.js

@@ -9,6 +9,15 @@ export function listCourseRedPacketLog(query) {
   })
 }
 
+// 查询短链课程看课记录列表
+export function listCourseRedPacketLogPage(data) {
+  return request({
+    url: '/course/courseRedPacketLog/pageList',
+    method: 'post',
+    data: data
+  })
+}
+
 // 查询短链课程看课记录详细
 export function getCourseRedPacketLog(logId) {
   return request({
@@ -55,10 +64,10 @@ export function delCourseRedPacketLog(logId) {
 }
 
 // 导出短链课程看课记录
-export function exportCourseRedPacketLog(query) {
+export function exportCourseRedPacketLog(data) {
   return request({
     url: '/course/courseRedPacketLog/export',
     method: 'post',
-    data: query
+    data: data
   })
 }

+ 10 - 1
src/api/course/courseWatchLog.js

@@ -9,6 +9,15 @@ export function listCourseWatchLog(query) {
   })
 }
 
+// 查询短链课程看课记录列表
+export function listCourseWatchLogPage(query) {
+  return request({
+    url: '/course/courseWatchLog/pageList',
+    method: 'post',
+    data: query
+  })
+}
+
 // 查询短链课程看课记录详细
 export function getCourseWatchLog(logId) {
   return request({
@@ -47,7 +56,7 @@ export function delCourseWatchLog(logId) {
 export function exportCourseWatchLog(query) {
   return request({
     url: '/course/courseWatchLog/export',
-    method: 'POST',
+    method: 'post',
     data: query
   })
 }

+ 44 - 46
src/views/course/courseRedPacketLog/index.vue

@@ -38,17 +38,16 @@
 		<el-form-item label="员工" prop="companyUserName">
 		  <el-input
 		    v-model="queryParams.companyUserName"
-		    placeholder="员工"
+		    placeholder="所属员工"
 		    clearable
 		    size="small"
 		    @keyup.enter.native="handleQuery"
 		  />
 		</el-form-item>
-
-      <el-form-item label="用户ID" prop="userId">
+      <el-form-item label="会员ID" prop="userId">
         <el-input
           v-model="queryParams.userId"
-          placeholder="请输入用户ID"
+          placeholder="请输入会员ID"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
@@ -94,7 +93,7 @@
      </el-select>
 	</el-form-item>
 	 <el-form-item label="创建时间" prop="createTime">
-	           <el-date-picker v-model="createTime" size="small" style="width: 220px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange"
+	           <el-date-picker v-model="createTime" size="small" style="width: 220px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
                              range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="change"></el-date-picker>
 	 </el-form-item>
 
@@ -134,9 +133,11 @@
       </el-table-column>
       <el-table-column label="小节名称" align="center" prop="title" />
       <el-table-column label="会员id" align="center" prop="userId" />
+      <el-table-column label="会员名称" align="center" prop="fsNickName" />
       <el-table-column label="会员电话" align="center" prop="phone" />
-      <el-table-column label="所属销售" align="center" prop="companyUserName" />
+      <el-table-column label="所属员工" align="center" prop="companyUserName" />
       <el-table-column label="所属公司" align="center" prop="companyName" />
+      <el-table-column label="员工部门" align="center" prop="deptName" />
       <el-table-column label="转帐金额" align="center" prop="amount" />
       <el-table-column label="状态" align="center" prop="status" >
         <template slot-scope="scope">
@@ -162,14 +163,14 @@
         <el-form-item label="课程id" prop="courseId">
           <el-input v-model="form.courseId" placeholder="请输入课程id" />
         </el-form-item>
-        <el-form-item label="用户id" prop="userId">
-          <el-input v-model="form.userId" placeholder="请输入用户id" />
+        <el-form-item label="会员id" prop="userId">
+          <el-input v-model="form.userId" placeholder="请输入会员id" />
         </el-form-item>
         <el-form-item label="小节id" prop="videoId">
           <el-input v-model="form.videoId" placeholder="请输入小节id" />
         </el-form-item>
-        <el-form-item label="公司员工id" prop="companyUserId">
-          <el-input v-model="form.companyUserId" placeholder="请输入公司员工id" />
+        <el-form-item label="员工id" prop="companyUserId">
+          <el-input v-model="form.companyUserId" placeholder="请输入员工id" />
         </el-form-item>
         <el-form-item label="公司id" prop="companyId">
           <el-input v-model="form.companyId" placeholder="请输入公司id" />
@@ -190,22 +191,21 @@
 </template>
 
 <script>
-import { courseList,videoList,listCourseRedPacketLog, getCourseRedPacketLog, delCourseRedPacketLog, addCourseRedPacketLog, updateCourseRedPacketLog, exportCourseRedPacketLog } from "@/api/course/courseRedPacketLog";
+import { courseList,videoList,getCourseRedPacketLog, delCourseRedPacketLog, addCourseRedPacketLog, updateCourseRedPacketLog, exportCourseRedPacketLog,listCourseRedPacketLogPage } from "@/api/course/courseRedPacketLog";
 import { getCompanyList } from "@/api/company/company";
-import {treeselect} from "../../../api/company/companyDept";
-import SelectTree from '@/components/TreeSelect/index.vue'
-import { getDeptData } from '@/api/system/employeeStats'
+import {getDeptData} from "@/api/system/employeeStats";
+import SelectTree from "@/components/TreeSelect/index.vue";
 
 export default {
   name: "CourseRedPacketLog",
-  components: { SelectTree },
+  components: {SelectTree},
   data() {
     return {
-    selectedCompanyList: [],
 	  companys:[],
+    selectedCompanyList: [],
     deptList: [],
       // 遮罩层
-      loading: false,
+      loading: true,
       // 导出遮罩层
       exportLoading: false,
       // 选中数组
@@ -243,6 +243,7 @@ export default {
         phoneMk: null,
         sTime:null,
         eTime:null,
+        userIds: null
       },
 	   createTime:null,
       // 表单参数
@@ -253,43 +254,43 @@ export default {
     };
   },
   created() {
-
-    getDeptData().then(response => {
-      this.deptList = response.data;
-    })
-
-    getCompanyList().then(response => {
+    this.getList();
+	    getCompanyList().then(response => {
 	    this.companys = response.data;
 	  });
 	  courseList().then(response => {
 	    this.courseLists = response.list;
 	  });
-
-    // this.getList();
+    getDeptData().then(response => {
+      this.deptList = response.data;
+    })
   },
   methods: {
+    handleMultiChange(e){
+
+    },
 	  handleClick(tab, event) {
 	    this.activeName=tab.name;
-	    this.queryParams.status=tab.name
-	    this.getList();
+      if(tab.name == "00") {
+        this.queryParams.status = null;
+      } else {
+        this.queryParams.status = tab.name;
+      }
+        this.getList();
 	  },
-
     /** 查询短链课程看课记录列表 */
     getList() {
       this.loading = true;
-
       if(this.selectedCompanyList != null && this.selectedCompanyList.length > 0) {
-        this.queryParams.companyUserIds = this.selectedCompanyList;
+        this.queryParams.userIds = this.selectedCompanyList;
       }else {
-        this.queryParams.companyUserIds = [];
+        this.queryParams.userIds = [];
       }
-
-      listCourseRedPacketLog(this.queryParams).then(response => {
-        console.log("response",response)
+      listCourseRedPacketLogPage(this.queryParams).then(response => {
         this.courseRedPacketLogList = response.data.list;
         this.total = response.data.total;
         this.loading = false;
-      });
+      })
     },
 	change(){
 	      if(this.createTime!=null){
@@ -302,7 +303,6 @@ export default {
 
 	    },
 	courseChange(row){
-
 		if(row==""){
 			this.videoList=[]
 			this.queryParams.videoId=null
@@ -345,6 +345,9 @@ export default {
 	   this.createTime=null;
 	  this.queryParams.sTime=null;
 	  this.queryParams.eTime=null;
+      this.selectedCompanyList = [];
+      this.queryParams.pageNum = 1;    // Reset to first page
+      this.queryParams.pageSize = 10;  // Reset to default page size
       this.handleQuery();
     },
     // 多选框选中数据
@@ -403,18 +406,13 @@ export default {
           this.msgSuccess("删除成功");
         }).catch(() => {});
     },
-	getSubCateList(pid){
-	  this.form.subCateId=null;
-	  if(pid == ''){
-	    this.subCategoryOptions=[];
-	    return
-	  }
-	  getCateListByPid(pid).then(response => {
-	    this.subCategoryOptions = response.data;
-	  });
-	},
     /** 导出按钮操作 */
     handleExport() {
+      if(this.selectedCompanyList != null && this.selectedCompanyList.length > 0) {
+        this.queryParams.userIds = this.selectedCompanyList;
+      }else {
+        this.queryParams.userIds = [];
+      }
       const queryParams = this.queryParams;
       this.$confirm('是否确认导出所有短链课程看课记录数据项?', "警告", {
           confirmButtonText: "确定",

+ 32 - 46
src/views/course/courseWatchLog/index.vue

@@ -11,37 +11,20 @@
 <!--          />-->
 <!--        </el-select>-->
 <!--      </el-form-item>-->
-      <el-form-item label="公司名" prop="companyId">
+      <el-form-item label="员工部门" prop="companyId">
         <select-tree
           v-model="selectedCompanyList"
           :raw-data="deptList"
-          placeholder="请选择销售"
           :parentSelectable="true"
+          placeholder="请选择"
           :multiple="true"
           component-width="300px"
           :max-display-tags="3"
           :check-strictly="false"
           :return-leaf-only="false"
+          @change="handleMultiChange"
         ></select-tree>
       </el-form-item>
-      <el-form-item label="客户ID" prop="qwExternalContactId">
-        <el-input
-          v-model="queryParams.qwExternalContactId"
-          placeholder="请输入会员ID"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="会员ID" prop="userId">
-        <el-input
-          v-model="queryParams.userId"
-          placeholder="请输入会员ID"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item label="课程" prop="courseId">
         <el-select filterable  v-model="queryParams.courseId" placeholder="请选择课程"  clearable size="small" @change="courseChange(queryParams.courseId)">
           <el-option
@@ -171,6 +154,7 @@
       </el-table-column>
       <el-table-column label="播放时长" align="center" prop="duration" />
       <el-table-column label="所属销售" align="center" prop="companyUserName" />
+      <el-table-column label="销售部门" align="center" prop="deptName" />
 <!--      <el-table-column label="所属公司" align="center" prop="companyName" />-->
 <!--      <el-table-column label="企微员工名称" align="center" prop="qwUserName" />-->
       <el-table-column label="所属发送方式" align="center" prop="sendType" />
@@ -192,21 +176,21 @@
 </template>
 
 <script>
-import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog } from "@/api/course/courseWatchLog";
+import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog,listCourseWatchLogPage } from "@/api/course/courseWatchLog";
 import { allList, getCompanyList } from '@/api/company/company'
 import { courseList,videoList } from '@/api/course/courseRedPacketLog'
 import {getUserList} from "@/api/company/companyUser";
 import {getFsUserList} from "@/api/users/user";
-import SelectTree from '@/components/TreeSelect/index.vue'
-import { getDeptData } from '@/api/system/employeeStats'
+import {getDeptData} from "@/api/system/employeeStats";
+import SelectTree from "@/components/TreeSelect/index.vue";
 export default {
   name: "CourseWatchLog",
-  components: { SelectTree },
+  components: {SelectTree},
   data() {
     return {
+      userSourceTypeOptions: [],
       selectedCompanyList: [],
       deptList: [],
-      userSourceTypeOptions: [],
       activeName:"00",
       createTime:null,
       updateTime:null,
@@ -216,7 +200,7 @@ export default {
       companyList: [],
       queryUserLoading: false,
       // 遮罩层
-      loading: false,
+      loading: true,
       // 导出遮罩层
       exportLoading: false,
       // 选中数组
@@ -270,11 +254,6 @@ export default {
     };
   },
   created() {
-
-    getDeptData().then(response => {
-      this.deptList = response.data;
-    })
-
     courseList().then(response => {
       this.courseLists = response.list;
     });
@@ -295,11 +274,13 @@ export default {
     // 设置默认当天时间 xgb 防止频繁查询大量数据
     this.setToday();
 
-    // this.getList();
+    this.getList();
 
     this.loading = false;
 
-
+    getDeptData().then(response => {
+      this.deptList = response.data;
+    })
   },
   computed: {
     sourceTypeModel: {
@@ -312,7 +293,9 @@ export default {
     }
   },
   methods: {
+    handleMultiChange(e){
 
+    },
     setToday(){
       const today = new Date();
       const todayStart = new Date(today);
@@ -453,7 +436,12 @@ export default {
     },
     /** 查询短链课程看课记录列表 */
     getList() {
-
+      // 在API调用前设置部门参数
+      if(this.selectedCompanyList != null && this.selectedCompanyList.length > 0) {
+        this.queryParams.userIds = this.selectedCompanyList;
+      } else {
+        this.queryParams.userIds = [];
+      }
       // xgb 看课数据量太大必须限制时间if (this.isEmptyArray(this.createTime) &&
       if (this.isEmptyArray(this.createTime) &&
         this.isEmptyArray(this.updateTime) &&
@@ -466,20 +454,11 @@ export default {
         this.queryParams.logType = null;
       }
 
-      if(this.selectedCompanyList != null && this.selectedCompanyList.length > 0) {
-        this.queryParams.userIds = this.selectedCompanyList;
-      }else {
-        this.queryParams.userIds = [];
-      }
-
-      listCourseWatchLog(this.queryParams).then(response => {
+      listCourseWatchLogPage(this.queryParams).then(response => {
         this.courseWatchLogList = response.data.list;
         this.total = response.data.total;
         this.loading = false;
-      }).catch(() => {
-          this.loading = false;
-        }
-      );
+      })
     },
     // 取消按钮
     cancel() {
@@ -504,6 +483,7 @@ export default {
         courseId: null,
         scheduleStartTime: null,
         scheduleEndTime: null,
+        userIds: null,
       };
       this.scheduleTime=null;
       this.resetForm("form");
@@ -517,7 +497,6 @@ export default {
     resetQuery() {
       this.resetForm("queryForm");
       // this.createTime = null;
-      this.selectedCompanyList=[];
       this.scheduleTime = null;
       // this.queryParams.sTime = null;
       // this.queryParams.eTime = null;
@@ -527,6 +506,8 @@ export default {
       this.queryParams.scheduleEndTime = null;
       this.scheduleTime=null;
       this.updateTime=null;
+      this.selectedCompanyList = [];
+      // this.selectedCompanyList = [];
       // 重置时间当天
       this.setToday();
 
@@ -595,6 +576,11 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
+      if(this.selectedCompanyList != null && this.selectedCompanyList.length > 0) {
+        this.queryParams.userIds = this.selectedCompanyList;
+      }else {
+        this.queryParams.userIds = [];
+      }
       // xgb 看课数据量太大必须限制时间
       if (this.isEmptyArray(this.createTime) &&
         this.isEmptyArray(this.updateTime) &&

+ 7 - 6
src/views/course/userCourse/index.vue

@@ -828,6 +828,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.companyIdsList = [];
       this.queryParams.isShow = this.activeName
       this.handleQuery();
     },
@@ -1103,24 +1104,24 @@ export default {
     handleAmountInput(rule, field) {
       let value = rule[field];
       if (value === null || value === undefined) return;
-      
+
       // 转换为字符串处理
       let str = value.toString();
-      
+
       // 移除除数字和小数点外的所有字符
       str = str.replace(/[^0-9.]/g, '');
-      
+
       // 只保留一个小数点
       const dotIndex = str.indexOf('.');
       if (dotIndex !== -1) {
         str = str.substring(0, dotIndex + 1) + str.substring(dotIndex + 1).replace(/\./g, '');
       }
-      
+
       // 限制小数点后最多两位
       if (dotIndex !== -1 && str.length > dotIndex + 3) {
         str = str.substring(0, dotIndex + 3);
       }
-      
+
       // 转换回数字并更新
       rule[field] = parseFloat(str) || 0;
     },
@@ -1149,7 +1150,7 @@ export default {
     validateMinAmount(rule, value, callback) {
       // debugger;
       // const maxAmount = this.form29.rules[].maxAmount
-      
+
       const index = rule.index;
       const maxAmount = this.openRedPage.rules[index].maxAmount;
 

+ 3 - 2
src/views/course/userCourse/public.vue

@@ -662,9 +662,10 @@ export default {
     },
     handleShow(row) {
       var isShowValue = row.isShow === 0 ? 1 : 0;
-      var course = {courseId: row.courseId, isShow: isShowValue};
+      var course = {courseId: row.courseId, isShow: isShowValue, isPrivate: row.isPrivate};
       updateIsShow(course).then(response => {
-        this.msgSuccess("修改成功");
+        var isShowText = isShowValue === 1 ? "上架成功" : "下架成功";
+        this.msgSuccess(isShowText);
         this.getList();
       });
     },

+ 21 - 0
src/views/hisStore/adv/index.vue

@@ -392,6 +392,27 @@ export default {
         this.form.status = response.data.status.toString();
         this.form.advType = response.data.advType.toString();
         this.form.showType = response.data.showType ? response.data.showType.toString() : "";
+        // 根据 imageUrl 判断 urlType
+        if (this.form.imageUrl) {
+          // 可以根据文件扩展名判断是图片还是视频
+          const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp'];
+          const videoExtensions = ['.mp4', '.avi', '.mov', '.wmv', '.flv', '.mkv'];
+
+          const lowerImageUrl = this.form.imageUrl.toLowerCase();
+          let isImage = imageExtensions.some(ext => lowerImageUrl.includes(ext));
+          let isVideo = videoExtensions.some(ext => lowerImageUrl.includes(ext));
+
+          if (isImage) {
+            this.form.urlType = 1; // 图片
+          } else if (isVideo) {
+            this.form.urlType = 2; // 视频
+          } else {
+            this.form.urlType = 1; // 默认图片
+          }
+        } else {
+          this.form.urlType = 1; // 默认图片
+        }
+        console.log('urlType:', this.form.urlType, typeof this.form.urlType);
         this.open = true;
         this.title = "修改广告";
         setTimeout(() => {

+ 4 - 0
src/views/hisStore/store/index.vue

@@ -904,6 +904,10 @@ export default {
         this.form = response.data;
         this.open = true;
         this.title = "修改店铺";
+        // 移除 phone 字段的验证规则
+        const newRules = Object.assign({}, this.rules);
+        delete newRules.phone;
+        this.rules = newRules;
         let str = this.form.shippingType
         this.form.shippingType = str.split(",")
         this.form.cityIds = ((this.form.cityIds).split(",")).map(Number)

+ 1 - 0
src/views/hisStore/storeCouponIssue/index.vue

@@ -234,6 +234,7 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },

+ 10 - 5
src/views/hisStore/storeProduct/index.vue

@@ -985,7 +985,7 @@ export default {
         // 设置上传的请求头部
         headers: { Authorization: "Bearer " + getToken() },
         // 上传的地址
-        url: process.env.VUE_APP_BASE_API + "/store/storeProduct/importData"
+        url: process.env.VUE_APP_BASE_API + "/store/store/storeProduct/importData"
       },
       // 添加药品相关字段
       isDrugOptions: [
@@ -1177,9 +1177,9 @@ export default {
         precautions: [
           { required: true, message: "注意事项不能为空", trigger: "blur" }
         ],
-        // storeId :[
-        //   { required: true, message: "所属店铺不能为空", trigger: "blur"}
-        // ],
+        storeId :[
+          { required: true, message: "所属店铺不能为空", trigger: "blur"}
+        ],
       }
     };
   },
@@ -1684,7 +1684,12 @@ export default {
           }
           addOrEdit(this.form).then(response => {
             if (response.code === 200) {
-              this.msgSuccess("修改成功");
+              // 根据是否有productId判断是新增还是修改
+              if (this.form.productId) {
+                this.msgSuccess("修改成功");
+              } else {
+                this.msgSuccess("新增成功");
+              }
               this.open = false;
               this.getList();
             }

+ 13 - 14
src/views/qw/externalContact/index.vue

@@ -181,8 +181,8 @@
             @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="添加时间" prop="createTime">
-        <el-date-picker v-model="queryParams.createTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="change"></el-date-picker>
+      <el-form-item label="添加时间">
+        <el-date-picker v-model="daterange" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
       </el-form-item>
 
 
@@ -427,6 +427,7 @@ export default {
   components: { PaginationMore },
   data() {
     return {
+      daterange: [],
       // 遮罩层
       loading: false,
       // 导出遮罩层
@@ -516,6 +517,8 @@ export default {
         isRepeat: null,
         commentStatus: null,
         isBindMini:null,
+        sTime:null,
+        eTime:null
       },
       //标签
       changeTagDialog:{
@@ -609,6 +612,13 @@ export default {
     /** 查询企业微信客户列表 */
     getList() {
       this.loading = true;
+      if(this.daterange!=null){
+        this.queryParams.sTime=this.daterange[0];
+        this.queryParams.eTime=this.daterange[1];
+      }else{
+        this.queryParams.sTime=null;
+        this.queryParams.eTime=null;
+      }
       listExternalContact(this.queryParams).then(response => {
         this.externalContactList = response.rows;
         this.total = response.total;
@@ -646,7 +656,6 @@ export default {
         status: 0,
         stageStatus: "0",
         createBy: null,
-        createTime: null,
         updateBy: null,
         updateTime: null,
         transferTime: null,
@@ -672,16 +681,6 @@ export default {
       };
       this.resetForm("form");
     },
-    change(){
-      if(this.createTime!=null){
-        this.queryParams.sTime=this.createTime[0];
-        this.queryParams.eTime=this.createTime[1];
-      }else{
-        this.queryParams.sTime=null;
-        this.queryParams.eTime=null;
-      }
-
-    },
     /** 搜索按钮操作 */
     handleQuery() {
       //验证是否选择企业
@@ -720,10 +719,10 @@ export default {
       this.queryParams.corpId= this.qwCompanyList[0].dictValue;
       this.selectTags=[];
       this.queryParams.qwUserId = null;
-      this.createTime=null;
       this.queryParams.sTime=null;
       this.queryParams.eTime=null;
       this.externalContactList=[];
+      this.daterange=[];
       if(this.qwCompanyList!=null){
         this.queryParams.companyId=this.qwCompanyList[0].companyId;
         this.getAllUserlist(this.queryParams.companyId);

+ 4 - 0
src/views/system/keyword/index.vue

@@ -196,6 +196,9 @@ export default {
       form: {},
       // 表单校验
       rules: {
+        keyword: [
+          { required: true, message: "关键字不能为空", trigger: "blur" }
+        ],
       }
     };
   },
@@ -252,6 +255,7 @@ export default {
       this.reset();
       this.open = true;
       this.title = "添加关键字";
+      this.keywordId = null;
     },
     /** 修改按钮操作 */
     handleUpdate(row) {