@@ -13,7 +13,7 @@ VITE_APP_GLOB_BASE_API = '/api-local' | |||
# mock base api | |||
VITE_APP_GLOB_BASE_API_MOCK = '/api-mock' | |||
VITE_AUTHORITY = 'http://192.168.11.11:8090' | |||
#VITE_AUTHORITY = 'https://login-test.t-aaron.com' | |||
#VITE_AUTHORITY = 'http://192.168.11.11:8090' | |||
VITE_AUTHORITY = 'https://login-test.t-aaron.com' | |||
VITE_CLIENT_ID = 'tuoheng-pilot-admin' | |||
VITE_CLIENT_SECRET = 'WB0CZ1c6bZLiYP6jLtDFsA==' |
@@ -45,3 +45,15 @@ export function userDelete(ids) { | |||
method: 'delete' | |||
}) | |||
} | |||
/** | |||
* 更改状态 | |||
* @returns | |||
*/ | |||
export function changeUserStatus(data) { | |||
return request({ | |||
url: '/user/status', | |||
method: 'put', | |||
data | |||
}) | |||
} |
@@ -134,7 +134,7 @@ const data = reactive({ | |||
text: true, | |||
onClick: editHandle.bind(null, row, 'update') | |||
}, | |||
show: row.status < 11 && row.inspectionType === 1, | |||
show: row.status < 11 && row.inspectionType === 1 && roleType.value === 1, | |||
auth: 'task:all:edit' | |||
}, | |||
{ | |||
@@ -145,7 +145,7 @@ const data = reactive({ | |||
onPositiveClick: deleteData.bind(null, row.id) | |||
}, | |||
auth: 'task:all:delete', | |||
show: row.status < 16 && row.inspectionType === 1, | |||
show: row.status < 16 && row.inspectionType === 1 && roleType.value === 1, | |||
ButtonProps: { | |||
text: true, | |||
type: 'primary' |
@@ -19,6 +19,11 @@ | |||
<n-form-item :label="item.label" :path="item.key"> | |||
<n-input v-if="item.type === 'input'" v-model:value="userForm[item.key]" :disabled="item.key==='username' && modelTyle ==='update'" v-bind="item.props" /> | |||
<n-select v-if="item.type === 'select'" v-model:value="userForm[item.key]" v-bind="item.props" /> | |||
<n-radio-group v-if="item.type === 'radio'" v-model:value="userForm[item.key]" :name="item.key"> | |||
<n-space> | |||
<n-radio v-for="(cItem,cIndex) in item.options" :key="`${item.key}_${cIndex}`" :value="cItem.value"> {{ cItem.label }}</n-radio> | |||
</n-space> | |||
</n-radio-group> | |||
</n-form-item> | |||
</template> | |||
</n-form> |
@@ -2,14 +2,18 @@ import { reactive, ref } from 'vue' | |||
import { isPhone } from '@/utils/is.js' | |||
import { getRoleAll } from '@/api/system/role' | |||
const roleOptions = ref([]) | |||
const TYPE_OPTIONS = [ | |||
{ value: 1, label: '是' }, | |||
{ value: 2, label: '否' } | |||
] | |||
export const form = reactive({ | |||
userForm: { | |||
realname: null, | |||
mobile: null, | |||
roleId: null, | |||
username: null, | |||
password: null | |||
password: null, | |||
type: 1 | |||
}, | |||
userRules: { | |||
realname: [{ required: true, message: '请输入姓名', trigger: 'blur' }], | |||
@@ -19,14 +23,16 @@ export const form = reactive({ | |||
], | |||
roleId: [{ required: true, type: 'number', message: '请选择身份', trigger: 'blur' }], | |||
username: [{ required: true, message: '账号为英文和数字', pattern: /^[a-zA-Z0-9]+$/, trigger: 'blur' }], | |||
password: [{ required: true, message: '密码为6到20位的大小写英文和数字组成的', pattern: /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/, trigger: 'blur' }] | |||
password: [{ required: true, message: '密码为6到20位的大小写英文和数字组成的', pattern: /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/, trigger: 'blur' }], | |||
type: [{ required: true, type: 'number', message: '请选择是否为管理员', trigger: 'blur' }] | |||
}, | |||
formItem: [ | |||
{ type: 'input', key: 'realname', label: '姓名', props: { maxlength: '5', placeholder: '请输入姓名', clearable: true }}, | |||
{ type: 'input', key: 'mobile', label: '联系电话', props: { maxlength: '20', placeholder: '请输入联系电话', clearable: true }}, | |||
{ type: 'select', key: 'roleId', label: '身份选择', props: { options: roleOptions, clearable: true }}, | |||
{ type: 'input', key: 'username', label: '帐号', props: { maxlength: '20', placeholder: '请输入帐号', clearable: true }}, | |||
{ type: 'input', key: 'password', label: '初始密码', props: { maxlength: '20', placeholder: '请输入初始密码', clearable: true }} | |||
{ type: 'input', key: 'password', label: '初始密码', props: { maxlength: '20', placeholder: '请输入初始密码', clearable: true }}, | |||
{ type: 'radio', key: 'type', label: '管理员', options: TYPE_OPTIONS } | |||
] | |||
}) | |||
export const getRoleOptions = async function() { |
@@ -2,7 +2,7 @@ import { h, ref, reactive } from 'vue' | |||
import TableTags from '@/components/DataTable/tools/Tags.vue' | |||
import TableSwitch from '@/components/DataTable/tools/Switch.vue' | |||
import TableAction from '@/components/DataTable/tools/Action.vue' | |||
import { userUpdate } from '@/api/system/user.js' | |||
import { changeUserStatus } from '@/api/system/user.js' | |||
import { getRoleAll } from '@/api/system/role' | |||
const roleOptions = ref([]) | |||
@@ -39,7 +39,7 @@ function getRowData(row, type) { | |||
// 设置状态 | |||
function changeStatus(row) { | |||
userUpdate({ id: row.data.id, status: row.value }).then(res => { | |||
changeUserStatus({ id: row.data.id, status: row.value }).then(res => { | |||
if (res.code === 0) { | |||
handleSearch() | |||
} |