Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
liqiang
2025-03-21 04:34:30 +08:00
5 changed files with 15 additions and 14 deletions

View File

@@ -336,7 +336,7 @@ class UserViewSet(CustomModelViewSet):
verify_password = check_password(str(old_pwd_md5), request.user.password) verify_password = check_password(str(old_pwd_md5), request.user.password)
if verify_password: if verify_password:
# request.user.password = make_password(hashlib.md5(new_pwd.encode(encoding='UTF-8')).hexdigest()) # request.user.password = make_password(hashlib.md5(new_pwd.encode(encoding='UTF-8')).hexdigest())
request.user.password = make_password(new_pwd) request.user.password = make_password(hashlib.md5(new_pwd.encode(encoding='UTF-8')).hexdigest())
request.user.pwd_change_count += 1 request.user.pwd_change_count += 1
request.user.save() request.user.save()
return DetailResponse(data=None, msg="修改成功") return DetailResponse(data=None, msg="修改成功")

View File

@@ -2,7 +2,7 @@
ENV = 'development' ENV = 'development'
# 本地环境接口地址 # 本地环境接口地址
VITE_API_URL = 'http://127.0.0.1:8000' VITE_API_URL = 'http://127.0.0.1:8001'
# 是否启用按钮权限 # 是否启用按钮权限
VITE_PM_ENABLED = true VITE_PM_ENABLED = true

View File

@@ -5,6 +5,7 @@
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "vite --force", "dev": "vite --force",
"build:dev":"vite build --mode development",
"build": "vite build", "build": "vite build",
"build:local": "vite build --mode local_prod", "build:local": "vite build --mode local_prod",
"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/" "lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/"

View File

@@ -6,7 +6,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import {defineComponent, onMounted, watch} from "vue"; import {computed, defineComponent, onMounted, watch} from "vue";
import {CreateCrudOptionsProps, CreateCrudOptionsRet, useFs, AddReq, import {CreateCrudOptionsProps, CreateCrudOptionsRet, useFs, AddReq,
compute, compute,
DelReq, DelReq,
@@ -34,6 +34,9 @@ const createCrudOptions = function ({ crudExpose, context }: CreateCrudOptionsPr
}, },
col:{ col:{
span:24 span:24
},
afterSubmit({mode}){
emit('update:modelValue', crudBinding.value.data);
} }
}, },
toolbar:{ toolbar:{
@@ -96,6 +99,7 @@ const props = defineProps({
}) })
const emit = defineEmits(['update:modelValue']) const emit = defineEmits(['update:modelValue'])
//通过导出modelValue, 可以导出成为一个input组件 //通过导出modelValue, 可以导出成为一个input组件
watch( watch(
() => { () => {
@@ -103,7 +107,6 @@ watch(
}, },
(value = []) => { (value = []) => {
crudBinding.value.data = value; crudBinding.value.data = value;
//emit('update:modelValue', value);
}, },
{ {
immediate: true immediate: true

View File

@@ -210,7 +210,7 @@ import {Edit,Finished,Delete} from "@element-plus/icons-vue";
import crudTable from "./components/crudTable.vue" import crudTable from "./components/crudTable.vue"
const props = defineProps(['options', 'editableTabsItem']); const props = defineProps(['options', 'editableTabsItem']);
let formData: any = reactive({}); let formData: any = ref({});
let formList: any = ref([]); let formList: any = ref([]);
const formRef = ref<FormInstance>() const formRef = ref<FormInstance>()
let uploadUrl = ref(getBaseURL() + 'api/system/file/'); let uploadUrl = ref(getBaseURL() + 'api/system/file/');
@@ -233,29 +233,26 @@ const getInit = () => {
_formData[key] = item.value; _formData[key] = item.value;
} else { } else {
if ([5, 12,11, 14].indexOf(item.form_item_type) !== -1) { if ([5, 12,11, 14].indexOf(item.form_item_type) !== -1) {
_formData[key] = []; _formData[key] = item.value || [];
} else { } else {
_formData[key] = item.value; _formData[key] = item.value;
} }
} }
} }
formData = Object.assign({}, _formData) formData.value = Object.assign({}, _formData)
}); });
}; };
// 提交数据 // 提交数据
const onSubmit = (formEl: FormInstance | undefined) => { const onSubmit = (formEl: FormInstance | undefined) => {
// const form = JSON.parse(JSON.stringify(form)); const keys = Object.keys(formData.value);
const keys = Object.keys(formData); const values = Object.values(formData.value);
const values = Object.values(formData);
for (const index in formList.value) { for (const index in formList.value) {
const item = formList.value[index]; const item = formList.value[index];
// 赋值操作 // 赋值操作
keys.map((mapKey, mapIndex) => { keys.forEach((mapKey, mapIndex) => {
if (mapKey === item.key) { if (mapKey === item.key) {
if (item.form_item_type_label !== 'array') { item.value = values[mapIndex];
item.value = values[mapIndex];
}
// 必填项的验证 // 必填项的验证
if (['img', 'imgs'].indexOf(item.form_item_type_label) > -1) { if (['img', 'imgs'].indexOf(item.form_item_type_label) > -1) {
for (const arr of item.rule) { for (const arr of item.rule) {