diff --git a/backend/dvadmin/system/models.py b/backend/dvadmin/system/models.py index 734a468..6aee47b 100644 --- a/backend/dvadmin/system/models.py +++ b/backend/dvadmin/system/models.py @@ -417,7 +417,7 @@ class MessageCenter(CoreModel): content = models.TextField(verbose_name="内容",help_text="内容") target_type=models.IntegerField(default=0,verbose_name="目标类型",help_text="目标类型") target_user = models.ManyToManyField(to=Users,related_name="target_user",blank=True,db_constraint=False,verbose_name="目标用户",help_text="目标用户") - target_dept = models.ManyToManyField(to=Dept, null=True, blank=True, db_constraint=False, + target_dept = models.ManyToManyField(to=Dept, blank=True, db_constraint=False, verbose_name="目标部门", help_text="目标部门") target_role = models.ManyToManyField(to=Role, blank=True, db_constraint=False, verbose_name="目标角色", help_text="目标角色") diff --git a/backend/dvadmin/system/views/dept.py b/backend/dvadmin/system/views/dept.py index bb88ea3..41e5cd2 100644 --- a/backend/dvadmin/system/views/dept.py +++ b/backend/dvadmin/system/views/dept.py @@ -61,6 +61,8 @@ class DeptInitSerializer(CustomModelSerializer): "parent": menu_data['parent'] } instance_obj = Dept.objects.filter(**filter_data).first() + if instance_obj and not self.initial_data.get('reset'): + continue serializer = DeptInitSerializer(instance_obj, data=menu_data, request=self.request) serializer.is_valid(raise_exception=True) serializer.save() diff --git a/backend/dvadmin/system/views/dictionary.py b/backend/dvadmin/system/views/dictionary.py index b3e68a1..1cb49e7 100644 --- a/backend/dvadmin/system/views/dictionary.py +++ b/backend/dvadmin/system/views/dictionary.py @@ -53,6 +53,8 @@ class DictionaryInitSerializer(CustomModelSerializer): "parent": data['parent'] } instance_obj = Dictionary.objects.filter(**filter_data).first() + if instance_obj and not self.initial_data.get('reset'): + continue serializer = DictionaryInitSerializer(instance_obj, data=data, request=self.request) serializer.is_valid(raise_exception=True) serializer.save() diff --git a/backend/dvadmin/system/views/menu.py b/backend/dvadmin/system/views/menu.py index cd75951..b1f3bfd 100644 --- a/backend/dvadmin/system/views/menu.py +++ b/backend/dvadmin/system/views/menu.py @@ -85,6 +85,8 @@ class MenuInitSerializer(CustomModelSerializer): "component_name": menu_data['component_name'], } instance_obj = Menu.objects.filter(**filter_data).first() + if instance_obj and not self.initial_data.get('reset'): + continue serializer = MenuInitSerializer(instance_obj, data=menu_data, request=self.request) serializer.is_valid(raise_exception=True) serializer.save() diff --git a/backend/dvadmin/system/views/system_config.py b/backend/dvadmin/system/views/system_config.py index b01be3d..cfe7202 100644 --- a/backend/dvadmin/system/views/system_config.py +++ b/backend/dvadmin/system/views/system_config.py @@ -69,6 +69,8 @@ class SystemConfigInitSerializer(CustomModelSerializer): "parent": data['parent'] } instance_obj = SystemConfig.objects.filter(**filter_data).first() + if instance_obj and not self.initial_data.get('reset'): + continue serializer = SystemConfigInitSerializer(instance_obj, data=data, request=self.request) serializer.is_valid(raise_exception=True) serializer.save() diff --git a/backend/dvadmin/utils/core_initialize.py b/backend/dvadmin/utils/core_initialize.py index bfbd631..2ae62cb 100644 --- a/backend/dvadmin/utils/core_initialize.py +++ b/backend/dvadmin/utils/core_initialize.py @@ -48,6 +48,7 @@ class CoreInitialize: continue filter_data[key] = value instance = model.objects.filter(**filter_data).first() + data["reset"] = self.reset serializer = Serializer(instance, data=data, request=self.request) serializer.is_valid(raise_exception=True) serializer.save() diff --git a/web/src/api/websocket.js b/web/src/api/websocket.js index e324f12..a06bdfc 100644 --- a/web/src/api/websocket.js +++ b/web/src/api/websocket.js @@ -16,7 +16,8 @@ function webSocketOnError (e) { title: '', message: 'WebSocket连接发生错误' + JSON.stringify(e), type: 'error', - duration: 0 + position: 'bottom-right', + duration: 3000 }) } function webSocketOnMessage (e) { diff --git a/web/src/components/foreign-key/index.vue b/web/src/components/foreign-key/index.vue index ef68d27..100849c 100644 --- a/web/src/components/foreign-key/index.vue +++ b/web/src/components/foreign-key/index.vue @@ -20,8 +20,8 @@ export default { currentValue: '' } }, - watch:{ - value(nv,ov){ + watch: { + value (nv, ov) { const { row } = this.$parent.scope const valueBinding = this.$parent.valueBinding this.setValue(row[valueBinding]) diff --git a/web/src/install.js b/web/src/install.js index e6e2c96..fa38537 100644 --- a/web/src/install.js +++ b/web/src/install.js @@ -398,15 +398,15 @@ Vue.prototype.commonEndColumns = function (param = {}) { key: 'is_deleted', width: 160, search: { - disabled: !showData.is_deleted.showForm, + disabled: !showData.is_deleted.showForm }, show: showData.is_deleted.showTable, type: 'radio', - dict:{ - data:[{label:"是",value:true},{label:"否",value:false}] + dict: { + data: [{ label: '是', value: true }, { label: '否', value: false }] }, form: { - disabled: !showData.is_deleted.showForm, + disabled: !showData.is_deleted.showForm } } diff --git a/web/src/libs/util.params.js b/web/src/libs/util.params.js index d4ad979..942ef1d 100644 --- a/web/src/libs/util.params.js +++ b/web/src/libs/util.params.js @@ -1,12 +1,10 @@ -import util from '@/libs/util' - /** * 对请求参数进行过滤 *@param that=>this *@param array:其他字段数组 */ const filterParams = function (that, array) { - that.$nextTick(()=>{ + that.$nextTick(() => { const arr = that.crud.columns const columnKeys = arr.map(item => { return item.key diff --git a/web/src/main.js b/web/src/main.js index 36b5dfc..33df0fa 100644 --- a/web/src/main.js +++ b/web/src/main.js @@ -32,7 +32,7 @@ import 'vxe-table/lib/style.css' // md5加密 import md5 from 'js-md5' -//websocket +// websocket import websocket from '@/api/websocket' // 核心插件 diff --git a/web/src/views/system/messageCenter/crud.js b/web/src/views/system/messageCenter/crud.js index abed551..b519444 100644 --- a/web/src/views/system/messageCenter/crud.js +++ b/web/src/views/system/messageCenter/crud.js @@ -15,7 +15,6 @@ export const crudOptions = (vm) => { { title: 'id', key: 'id', - sortable: true, width: 100, form: { disabled: true } }, @@ -33,7 +32,7 @@ export const crudOptions = (vm) => { message: '必填项' } ], - component: { span: 24 } + component: { span: 24, placeholder: '请输入标题' } } }, { diff --git a/web/src/views/system/role/api.js b/web/src/views/system/role/api.js index f215c52..48a4566 100644 --- a/web/src/views/system/role/api.js +++ b/web/src/views/system/role/api.js @@ -14,7 +14,7 @@ export function GetList (query) { return request({ url: urlPrefix, method: 'get', - params: {...query} + params: { ...query } }) } diff --git a/web/src/views/system/user/crud.js b/web/src/views/system/user/crud.js index caaa4d0..d4a3495 100644 --- a/web/src/views/system/user/crud.js +++ b/web/src/views/system/user/crud.js @@ -3,7 +3,7 @@ import { urlPrefix as deptPrefix } from '../dept/api' import util from '@/libs/util' export const crudOptions = (vm) => { - util.filterParams(vm, ['dept_name','role_info{name}']) + util.filterParams(vm, ['dept_name', 'role_info{name}']) return { pageOptions: { compact: true