commit
1cf88c1ecf
|
@ -417,7 +417,7 @@ class MessageCenter(CoreModel):
|
||||||
content = models.TextField(verbose_name="内容",help_text="内容")
|
content = models.TextField(verbose_name="内容",help_text="内容")
|
||||||
target_type=models.IntegerField(default=0,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_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="目标部门")
|
verbose_name="目标部门", help_text="目标部门")
|
||||||
target_role = models.ManyToManyField(to=Role, blank=True, db_constraint=False,
|
target_role = models.ManyToManyField(to=Role, blank=True, db_constraint=False,
|
||||||
verbose_name="目标角色", help_text="目标角色")
|
verbose_name="目标角色", help_text="目标角色")
|
||||||
|
|
|
@ -61,6 +61,8 @@ class DeptInitSerializer(CustomModelSerializer):
|
||||||
"parent": menu_data['parent']
|
"parent": menu_data['parent']
|
||||||
}
|
}
|
||||||
instance_obj = Dept.objects.filter(**filter_data).first()
|
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 = DeptInitSerializer(instance_obj, data=menu_data, request=self.request)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
|
|
@ -53,6 +53,8 @@ class DictionaryInitSerializer(CustomModelSerializer):
|
||||||
"parent": data['parent']
|
"parent": data['parent']
|
||||||
}
|
}
|
||||||
instance_obj = Dictionary.objects.filter(**filter_data).first()
|
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 = DictionaryInitSerializer(instance_obj, data=data, request=self.request)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
|
|
@ -85,6 +85,8 @@ class MenuInitSerializer(CustomModelSerializer):
|
||||||
"component_name": menu_data['component_name'],
|
"component_name": menu_data['component_name'],
|
||||||
}
|
}
|
||||||
instance_obj = Menu.objects.filter(**filter_data).first()
|
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 = MenuInitSerializer(instance_obj, data=menu_data, request=self.request)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
|
|
@ -69,6 +69,8 @@ class SystemConfigInitSerializer(CustomModelSerializer):
|
||||||
"parent": data['parent']
|
"parent": data['parent']
|
||||||
}
|
}
|
||||||
instance_obj = SystemConfig.objects.filter(**filter_data).first()
|
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 = SystemConfigInitSerializer(instance_obj, data=data, request=self.request)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
|
|
@ -48,6 +48,7 @@ class CoreInitialize:
|
||||||
continue
|
continue
|
||||||
filter_data[key] = value
|
filter_data[key] = value
|
||||||
instance = model.objects.filter(**filter_data).first()
|
instance = model.objects.filter(**filter_data).first()
|
||||||
|
data["reset"] = self.reset
|
||||||
serializer = Serializer(instance, data=data, request=self.request)
|
serializer = Serializer(instance, data=data, request=self.request)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
|
|
@ -16,7 +16,8 @@ function webSocketOnError (e) {
|
||||||
title: '',
|
title: '',
|
||||||
message: 'WebSocket连接发生错误' + JSON.stringify(e),
|
message: 'WebSocket连接发生错误' + JSON.stringify(e),
|
||||||
type: 'error',
|
type: 'error',
|
||||||
duration: 0
|
position: 'bottom-right',
|
||||||
|
duration: 3000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function webSocketOnMessage (e) {
|
function webSocketOnMessage (e) {
|
||||||
|
|
|
@ -20,8 +20,8 @@ export default {
|
||||||
currentValue: ''
|
currentValue: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch: {
|
||||||
value(nv,ov){
|
value (nv, ov) {
|
||||||
const { row } = this.$parent.scope
|
const { row } = this.$parent.scope
|
||||||
const valueBinding = this.$parent.valueBinding
|
const valueBinding = this.$parent.valueBinding
|
||||||
this.setValue(row[valueBinding])
|
this.setValue(row[valueBinding])
|
||||||
|
|
|
@ -398,15 +398,15 @@ Vue.prototype.commonEndColumns = function (param = {}) {
|
||||||
key: 'is_deleted',
|
key: 'is_deleted',
|
||||||
width: 160,
|
width: 160,
|
||||||
search: {
|
search: {
|
||||||
disabled: !showData.is_deleted.showForm,
|
disabled: !showData.is_deleted.showForm
|
||||||
},
|
},
|
||||||
show: showData.is_deleted.showTable,
|
show: showData.is_deleted.showTable,
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
dict:{
|
dict: {
|
||||||
data:[{label:"是",value:true},{label:"否",value:false}]
|
data: [{ label: '是', value: true }, { label: '否', value: false }]
|
||||||
},
|
},
|
||||||
form: {
|
form: {
|
||||||
disabled: !showData.is_deleted.showForm,
|
disabled: !showData.is_deleted.showForm
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
import util from '@/libs/util'
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对请求参数进行过滤
|
* 对请求参数进行过滤
|
||||||
*@param that=>this
|
*@param that=>this
|
||||||
*@param array:其他字段数组
|
*@param array:其他字段数组
|
||||||
*/
|
*/
|
||||||
const filterParams = function (that, array) {
|
const filterParams = function (that, array) {
|
||||||
that.$nextTick(()=>{
|
that.$nextTick(() => {
|
||||||
const arr = that.crud.columns
|
const arr = that.crud.columns
|
||||||
const columnKeys = arr.map(item => {
|
const columnKeys = arr.map(item => {
|
||||||
return item.key
|
return item.key
|
||||||
|
|
|
@ -32,7 +32,7 @@ import 'vxe-table/lib/style.css'
|
||||||
// md5加密
|
// md5加密
|
||||||
import md5 from 'js-md5'
|
import md5 from 'js-md5'
|
||||||
|
|
||||||
//websocket
|
// websocket
|
||||||
import websocket from '@/api/websocket'
|
import websocket from '@/api/websocket'
|
||||||
|
|
||||||
// 核心插件
|
// 核心插件
|
||||||
|
|
|
@ -15,7 +15,6 @@ export const crudOptions = (vm) => {
|
||||||
{
|
{
|
||||||
title: 'id',
|
title: 'id',
|
||||||
key: 'id',
|
key: 'id',
|
||||||
sortable: true,
|
|
||||||
width: 100,
|
width: 100,
|
||||||
form: { disabled: true }
|
form: { disabled: true }
|
||||||
},
|
},
|
||||||
|
@ -33,7 +32,7 @@ export const crudOptions = (vm) => {
|
||||||
message: '必填项'
|
message: '必填项'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
component: { span: 24 }
|
component: { span: 24, placeholder: '请输入标题' }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,7 +14,7 @@ export function GetList (query) {
|
||||||
return request({
|
return request({
|
||||||
url: urlPrefix,
|
url: urlPrefix,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {...query}
|
params: { ...query }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { urlPrefix as deptPrefix } from '../dept/api'
|
||||||
import util from '@/libs/util'
|
import util from '@/libs/util'
|
||||||
|
|
||||||
export const crudOptions = (vm) => {
|
export const crudOptions = (vm) => {
|
||||||
util.filterParams(vm, ['dept_name','role_info{name}'])
|
util.filterParams(vm, ['dept_name', 'role_info{name}'])
|
||||||
return {
|
return {
|
||||||
pageOptions: {
|
pageOptions: {
|
||||||
compact: true
|
compact: true
|
||||||
|
|
Loading…
Reference in New Issue