Procházet zdrojové kódy

feat: 5885 公告/通知,目前发布时,无法仅部分人可接收,需要增加范围的选择

johnsen před 5 měsíci
rodič
revize
5399088858
1 změnil soubory, kde provedl 19 přidání a 6 odebrání
  1. 19 6
      src/views/platform/system/news/edit.vue

+ 19 - 6
src/views/platform/system/news/edit.vue

@@ -54,9 +54,12 @@
         <el-form-item label="标题:" prop="title">
           <el-input v-model="form.title" />
         </el-form-item>
-        <!-- <el-form-item label="发布人:" prop="userId">
-                    <ibps-employee-selector :value="form.userId" @callback="handleInput" />
-                </el-form-item> -->
+        <el-form-item v-if="isScopeUser" label="公告范围:" prop="scopeUserIds">
+          <ibps-employee-selector
+            :multiple="true"
+            v-model="form.scopeUserIds"
+          />
+        </el-form-item>
         <!-- <el-row>
                     <el-col :span="12">
                         <el-form-item label="是否公共:" prop="public0">
@@ -88,7 +91,7 @@
         </el-form-item>
         <!-- <el-form-item label="关键字:" prop="key">
                     <el-input v-model="form.key" />
-                </el-form-item>
+                </el-form-item>ibps-employee-selector
                 <el-form-item label="发布时间:" prop="publicDate">
                     <el-date-picker
                         v-model="form.publicDate"
@@ -238,7 +241,8 @@ export default {
         updateBy: '',
         updateTime: '',
         userId: this.$store.getters.userId,
-        userName: this.$store.getters.name
+        userName: this.$store.getters.name,
+        scopeUserIds: ''
       },
       rules: {
         typeId: [{ required: true, message: this.$t('validate.required') }],
@@ -275,6 +279,10 @@ export default {
     },
     image() {
       return getFile(this.form.picture)
+    },
+    isScopeUser() {
+      const setting = this.$store.getters.setting
+      return setting?.system?.isScopeUser
     }
   },
   watch: {
@@ -381,7 +389,12 @@ export default {
         ActionUtils.error('发布时间与失效时间范围不合法!')
         return
       }
-      save(this.form)
+      const temp = JSON.parse(JSON.stringify(this.form))
+      temp.scopeUserIds = this.form.scopeUserIds?.split(',')
+      if (!isScopeUser) {
+        delete temp.scopeUserIds
+      }
+      save(temp)
         .then((response) => {
           this.$emit('callback', this)
           ActionUtils.saveSuccessMessage(response.message, (rtn) => {