😎1、修复机构编辑错误 2、调整用户编辑页面 3、升级依赖
This commit is contained in:
parent
d96304fbc5
commit
12b9dd84be
@ -28,9 +28,9 @@
|
|||||||
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
||||||
<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.1" Aliases="BouncyCastleV2" />
|
<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.1" Aliases="BouncyCastleV2" />
|
||||||
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.17.1" />
|
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.17.1" />
|
||||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.18" />
|
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.19" />
|
||||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.18" />
|
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.19" />
|
||||||
<PackageReference Include="Furion.Pure" Version="4.9.7.18" />
|
<PackageReference Include="Furion.Pure" Version="4.9.7.19" />
|
||||||
<PackageReference Include="Hardware.Info" Version="101.0.1" />
|
<PackageReference Include="Hardware.Info" Version="101.0.1" />
|
||||||
<PackageReference Include="Hashids.net" Version="1.7.0" />
|
<PackageReference Include="Hashids.net" Version="1.7.0" />
|
||||||
<PackageReference Include="IPTools.China" Version="1.6.0" />
|
<PackageReference Include="IPTools.China" Version="1.6.0" />
|
||||||
|
|||||||
@ -76,7 +76,7 @@ public class DictAttribute : ValidationAttribute, ITransient
|
|||||||
var dictDataList = sysDictDataService.GetDataList(DictTypeCode).GetAwaiter().GetResult();
|
var dictDataList = sysDictDataService.GetDataList(DictTypeCode).GetAwaiter().GetResult();
|
||||||
|
|
||||||
// 使用 HashSet 来提高查找效率
|
// 使用 HashSet 来提高查找效率
|
||||||
var dictHash = new HashSet<string>(dictDataList.Select(u => u.Code));
|
var dictHash = new HashSet<string>(dictDataList.Select(u => u.Value));
|
||||||
|
|
||||||
if (!dictHash.Contains(valueAsString)) return new ValidationResult($"提示:{ErrorMessage}|字典【{DictTypeCode}】不包含【{valueAsString}】!");
|
if (!dictHash.Contains(valueAsString)) return new ValidationResult($"提示:{ErrorMessage}|字典【{DictTypeCode}】不包含【{valueAsString}】!");
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
"async-validator": "^4.2.5",
|
"async-validator": "^4.2.5",
|
||||||
"axios": "^1.8.1",
|
"axios": "^1.8.1",
|
||||||
"countup.js": "^2.8.0",
|
"countup.js": "^2.8.0",
|
||||||
"cropperjs": "^1.6.2",
|
"cropperjs": "^2.0.0",
|
||||||
"crypto-js": "^4.2.0",
|
"crypto-js": "^4.2.0",
|
||||||
"echarts": "^5.6.0",
|
"echarts": "^5.6.0",
|
||||||
"echarts-gl": "^2.0.9",
|
"echarts-gl": "^2.0.9",
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||||
<el-form-item :label="$t('message.list.organizationType')">
|
<el-form-item :label="$t('message.list.organizationType')">
|
||||||
<el-select v-model="state.ruleForm.type" filterable clearable class="w100">
|
<el-select v-model="state.ruleForm.type" filterable clearable class="w100">
|
||||||
<el-option v-for="item in state.orgTypeList" :key="item.value" :label="item.value" :value="item.code" />
|
<el-option v-for="item in state.orgTypeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -73,7 +73,6 @@
|
|||||||
|
|
||||||
<script lang="ts" setup name="sysEditOrg">
|
<script lang="ts" setup name="sysEditOrg">
|
||||||
import { onMounted, reactive, ref } from 'vue';
|
import { onMounted, reactive, ref } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
|
||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysOrgApi, SysDictDataApi } from '/@/api-services/api';
|
import { SysOrgApi, SysDictDataApi } from '/@/api-services/api';
|
||||||
@ -90,7 +89,7 @@ const state = reactive({
|
|||||||
ruleForm: {} as UpdateOrgInput,
|
ruleForm: {} as UpdateOrgInput,
|
||||||
orgTypeList: [] as any,
|
orgTypeList: [] as any,
|
||||||
});
|
});
|
||||||
const i18n = useI18n();
|
|
||||||
// 级联选择器配置选项
|
// 级联选择器配置选项
|
||||||
const cascaderProps = { checkStrictly: true, emitPath: false, value: 'id', label: 'name' };
|
const cascaderProps = { checkStrictly: true, emitPath: false, value: 'id', label: 'name' };
|
||||||
|
|
||||||
@ -98,6 +97,7 @@ const cascaderProps = { checkStrictly: true, emitPath: false, value: 'id', label
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
let resDicData = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('org_type');
|
let resDicData = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('org_type');
|
||||||
state.orgTypeList = resDicData.data.result;
|
state.orgTypeList = resDicData.data.result;
|
||||||
|
console.log(state.orgTypeList);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 打开弹窗
|
// 打开弹窗
|
||||||
|
|||||||
@ -123,7 +123,7 @@ const options = useVxeTable<SysOrg>(
|
|||||||
field: 'type',
|
field: 'type',
|
||||||
title: i18n.t('message.list.organizationType'),
|
title: i18n.t('message.list.organizationType'),
|
||||||
minWidth: 80,
|
minWidth: 80,
|
||||||
formatter: ({ cellValue }: any) => state.orgTypeList.find((u: any) => u.code == cellValue)?.value,
|
formatter: ({ cellValue }: any) => state.orgTypeList.find((u: any) => u.value == cellValue)?.label,
|
||||||
showOverflow: 'tooltip',
|
showOverflow: 'tooltip',
|
||||||
},
|
},
|
||||||
{ field: 'orderNo', title: i18n.t('message.list.orderNo'), width: 80, showOverflow: 'tooltip' },
|
{ field: 'orderNo', title: i18n.t('message.list.orderNo'), width: 80, showOverflow: 'tooltip' },
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<el-tabs v-loading="state.loading" v-model="state.selectedTabName">
|
<el-tabs v-loading="state.loading" v-model="state.selectedTabName">
|
||||||
<el-tab-pane :label="$t('message.list.basicInfo')" style="height: 650px; overflow-y: auto; overflow-x: hidden">
|
<el-tab-pane :label="$t('message.list.basicInfo')" style="height: 600px; overflow-y: auto; overflow-x: hidden">
|
||||||
<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
|
<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
@ -130,15 +130,15 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
<el-empty :image-size="70" :description="$t('message.list.noData')" v-else></el-empty>
|
<el-empty :image-size="50" :description="$t('message.list.noData')" v-else></el-empty>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane :label="$t('message.list.roleAuth')" style="height: 550px; overflow-y: auto; overflow-x: hidden">
|
<el-tab-pane :label="$t('message.list.roleAuth')" style="height: 600px; overflow-y: auto; overflow-x: hidden">
|
||||||
<Transfer :left-title="$t('message.list.unauthorized')" :right-title="$t('message.list.authorized')" v-model:leftData="state.availableRoles" v-model:rightData="state.grantedRoles" />
|
<Transfer :left-title="$t('message.list.unauthorized')" :right-title="$t('message.list.authorized')" v-model:leftData="state.availableRoles" v-model:rightData="state.grantedRoles" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane :label="$t('message.list.profileInfo')" style="height: 550px; overflow-y: auto; overflow-x: hidden">
|
<el-tab-pane :label="$t('message.list.profileInfo')" style="height: 600px; overflow-y: auto; overflow-x: hidden">
|
||||||
<el-form :model="state.ruleForm" label-width="auto">
|
<el-form :model="state.ruleForm" label-width="auto">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
@ -212,7 +212,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
<el-form-item :label="$t('message.list.politicalStatus')">
|
<el-form-item :label="$t('message.list.politicalStatus')">
|
||||||
<el-input v-model="state.ruleForm.politicsStatus" :placeholder="$t('message.list.politicalStatus')" clearable />
|
<el-input v-model="state.ruleForm.politicalOutlook" :placeholder="$t('message.list.politicalStatus')" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user