huangxw 6 月之前
父节点
当前提交
95328787ab

+ 7 - 1
src/views/authority/authority-input/index.vue

@@ -96,6 +96,11 @@
                                     <el-input v-model="form.address" placeholder="请输入通信地址" clearable />
                                 </el-form-item>
                             </el-col>
+                            <el-col :span="6">
+                                <el-form-item label="所在行政区" prop="address">
+                                    <AreaCascader v-model="form.address" :zlevel="2"></AreaCascader>
+                                </el-form-item>
+                            </el-col>
                             <el-col :span="6">
                                 <el-form-item label="联系电话" prop="phone">
                                     <el-input v-model="form.phone" placeholder="请输入联系电话" clearable />
@@ -146,7 +151,7 @@
                             <el-col :span="24">
                                 <el-form-item label="简介" prop="brief">
                                     <div class="flex1">
-                                        <Editor v-model="form.brief" placeholder="请输入内容"></Editor>
+                                        <Editor v-model="form.brief" placeholder="请输入简介"></Editor>
                                     </div>
                                 </el-form-item>
                             </el-col>
@@ -167,6 +172,7 @@ import { ref, reactive, onMounted } from 'vue';
 import { debounce } from 'lodash';
 import { useRouter } from 'vue-router';
 import { expertPersonAdd, expertPersonUpdate, expertPersonDetail } from '@/api/authority';
+import { AreaCascader } from '@/views/components';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { sys_sex_type, dm_educational_type, lm_person_type, dm_position_status } = toRefs<any>(proxy?.useDict('sys_sex_type', 'dm_educational_type', 'lm_person_type', 'dm_position_status'));
 const router = useRouter();

+ 4 - 4
src/views/authority/choose-detail/index.vue

@@ -37,7 +37,7 @@
                         <el-descriptions-item label="领域人员是否可重复:">{{ selectDictLabel(yes_no, form?.repeatType) || '-' }}</el-descriptions-item>
                     </el-descriptions>
                     <div>
-                        <el-tag v-for="(item, index) in form?.personInfo" :key="index" class="mr-10">{{ selectDictLabel(dm_person_type, item?.personType) }}({{ item?.personCount }})</el-tag>
+                        <el-tag v-for="(item, index) in form?.personInfo" :key="index" class="mr-10">{{ selectDictLabel(lm_person_type, item?.personType) }}({{ item?.personCount }})</el-tag>
                     </div>
                     <el-divider />
                     <template v-if="form?.approvalLogVos.length">
@@ -64,7 +64,7 @@
                         <vxe-table :data="list" border keep-source :span-method="rowspanMethod" min-height="0" style="width: 100%">
                             <vxe-column title="专家组" field="personType">
                                 <template #default="{ row }">
-                                    {{ selectDictLabel(dm_person_type, row.personType) || '-' }}
+                                    {{ selectDictLabel(lm_person_type, row.personType) || '-' }}
                                 </template>
                             </vxe-column>
                             <vxe-column title="人数" field="personType">
@@ -110,8 +110,8 @@ import { colNoData } from '@/utils/noData';
 import { VxeTablePropTypes } from 'vxe-table';
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const dict = proxy?.useDict('dm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type', 'dm_position_status');
-const { dm_person_type, dm_join_type, yes_no, sys_sex_type } = toRefs<any>(dict);
+const dict = proxy?.useDict('lm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type', 'dm_position_status');
+const { lm_person_type, dm_join_type, yes_no, sys_sex_type } = toRefs<any>(dict);
 const router = useRouter();
 const route = useRoute();
 const form = ref<any>(null);

+ 3 - 3
src/views/authority/choose-list/index.vue

@@ -24,7 +24,7 @@
                             </el-form-item>
                             <el-form-item label="搜专家组" prop="queryPersonType">
                                 <el-select style="width: 140px" v-model="queryParams.queryPersonType" clearable placeholder="请选择搜专家组">
-                                    <el-option v-for="item in dm_person_type" :key="item.value" :label="item.label" :value="item.value" @change="handleQuery" />
+                                    <el-option v-for="item in lm_person_type" :key="item.value" :label="item.label" :value="item.value" @change="handleQuery" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item>
@@ -63,7 +63,7 @@
                             <template #default="{ row }">
                                 <div class="d-flex flex-wrap">
                                     <div v-for="(item, index) in row?.personInfo" :key="index" class="pd-4">
-                                        <el-tag>{{ selectDictLabel(dm_person_type, item?.personType) }}({{ item?.personCount }})</el-tag>
+                                        <el-tag>{{ selectDictLabel(lm_person_type, item?.personType) }}({{ item?.personCount }})</el-tag>
                                     </div>
                                 </div>
                             </template>
@@ -94,7 +94,7 @@ import { searchTabs } from '@/views/models';
 import { expertItemList, expertList, expertPersonCount, expertPersonDelete, expertPersonOff, expertPersonOn, queryChooseCount } from '@/api/authority';
 const router = useRouter();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { dm_join_type, dm_person_type, dm_expert_item_list } = toRefs<any>(proxy?.useDict('dm_join_type', 'dm_person_type', 'dm_expert_item_list'));
+const { dm_join_type, lm_person_type, dm_expert_item_list } = toRefs<any>(proxy?.useDict('dm_join_type', 'lm_person_type', 'dm_expert_item_list'));
 const loading = ref(true);
 const showSearch = ref(true);
 const total = ref(0);

+ 2 - 2
src/views/authority/models/ChooseExpert.vue

@@ -22,7 +22,7 @@
                 <div class="flex1 ov-hd d-flex">
                     <div v-if="currentNodeKey" class="tree-wrap over-auto">
                         <template v-for="(item, index) in itemsData" :key="index">
-                            <div class="pd2-10-30 border-bottom c-s-p" @click="itemsClick(item)" :class="{ 'check-node-key': currentNodeKey === item.type }">{{ selectDictLabel(dm_person_type, item.type) }}({{ item.num }})</div>
+                            <div class="pd2-10-30 border-bottom c-s-p" @click="itemsClick(item)" :class="{ 'check-node-key': currentNodeKey === item.type }">{{ selectDictLabel(lm_person_type, item.type) }}({{ item.num }})</div>
                         </template>
                     </div>
                     <div class="flex1 ov-hd">
@@ -69,7 +69,7 @@ const props = defineProps({
     info: propTypes.any.def(null),
     dict: propTypes.any.def(null)
 });
-const { dm_person_type, dm_position_status, sys_sex_type } = toRefs<any>(props.dict);
+const { lm_person_type, dm_position_status, sys_sex_type } = toRefs<any>(props.dict);
 const dialogVisible = ref(false);
 const { query }: any = useRoute();
 const router = useRouter();

+ 2 - 2
src/views/authority/models/ChooseExpertCheck.vue

@@ -6,7 +6,7 @@
             <vxe-table border :data="list" min-height="0" max-height="100%">
                 <vxe-column title="专家组" width="200">
                     <template #default="{ row }">
-                        {{ selectDictLabel(dict.dm_person_type, row.personType) || '-' }}
+                        {{ selectDictLabel(dict.lm_person_type, row.personType) || '-' }}
                     </template>
                 </vxe-column>
                 <vxe-column title="专家人数" width="80" field="personCount" :formatter="colNoData" />
@@ -47,7 +47,7 @@ import { colNoData } from '@/utils/noData';
 import { propTypes } from '@/utils/propTypes';
 import { ChooseExpert } from '.';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-// const { dm_person_type, dm_join_type, yes_no } = toRefs<any>(proxy?.useDict('dm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type'));
+// const { lm_person_type, dm_join_type, yes_no } = toRefs<any>(proxy?.useDict('lm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type'));
 const emit = defineEmits(['update:show', 'close', 'success']);
 const props = defineProps({
     show: propTypes.bool.def(false),

+ 3 - 3
src/views/authority/models/ExpertInfo.vue

@@ -5,7 +5,7 @@
             <div class="info">
                 <div>{{ props.info?.name }}</div>
                 <div>
-                    <span v-for="(item, index) in props.info?.personType.length" :key="index">{{ selectDictLabel(dm_person_type, item) }}</span>
+                    <span v-for="(item, index) in props.info?.personType.length" :key="index">{{ selectDictLabel(lm_person_type, item) }}</span>
                 </div>
                 <div>专业品种:{{ props.info?.variety }}</div>
                 <div>工作单位:{{ props.info?.workUnit }}</div>
@@ -48,8 +48,8 @@
 import {ref} from 'vue'
 import { FileLook } from '@/views/models';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const dict = proxy?.useDict('dm_person_type',  'sys_sex_type', 'dm_position_status','dm_educational_type');
-const { dm_person_type,  sys_sex_type,dm_position_status,dm_educational_type } = toRefs<any>(dict);
+const dict = proxy?.useDict('lm_person_type',  'sys_sex_type', 'dm_position_status','dm_educational_type');
+const { lm_person_type,  sys_sex_type,dm_position_status,dm_educational_type } = toRefs<any>(dict);
 const props = defineProps({
   info: {
     type: Object, // 指定类型

+ 13 - 6
src/views/components/AreaCascader.vue

@@ -32,8 +32,15 @@ const propsJson: CascaderProps = {
         const { level, value } = node;
         let nodes = [];
         if (!level) {
-            nodes = citys.map(({ label, value }) => ({ label, value }));
-            resolve(nodes);
+            listChildrenByCode({ adcdCode: '000000', leval: 1, pageSize: 1000 }).then((res) => {
+                const rows = res.rows;
+                nodes = rows.map(({ adcdName, adcdCode }: any) => ({ label: adcdName, value: adcdCode, leaf: level >= props.zlevel }));
+                if (nodes.length) {
+                    resolve(nodes);
+                } else {
+                    resolve(citys.map(({ label, value }: any) => ({ label, value, leaf: level >= props.zlevel })));
+                }
+            });
         } else {
             listChildrenByCode({ adcdCode: value, leval: (level as number) + 1, pageSize: 1000 }).then((res) => {
                 const rows = res.rows;
@@ -72,7 +79,7 @@ watch(
                 }
             }
         } else {
-            value.value = []
+            value.value = [];
         }
     },
     { immediate: true }
@@ -87,7 +94,7 @@ const change = (event: any) => {
                 vl.push(e[e.length - 1]);
             });
             checkedNodes.forEach((e: any) => {
-                address.push(e.pathLabels.join(''))
+                address.push(e.pathLabels.join(''));
             });
             emit('update:modelValue', vl);
             console.log(address.toString());
@@ -97,9 +104,9 @@ const change = (event: any) => {
         }
     } else {
         if (event && event.length) {
-            const labels = checkedNodes[0].pathLabels
+            const labels = checkedNodes[0].pathLabels;
             emit('update:modelValue', event[event.length - 1]);
-            emit('change', { value: event[event.length - 1], name: labels.join(''),  labels});
+            emit('change', { value: event[event.length - 1], name: labels.join(''), labels });
         } else {
             emit('update:modelValue', null);
         }

+ 2 - 2
src/views/leader/declaration-detail/index.vue

@@ -84,8 +84,8 @@ import { FileLook } from '@/views/models';
 import { colNoData } from '@/utils/noData';
 import { VxeTablePropTypes } from 'vxe-table';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const dict = proxy?.useDict('dm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type', 'dm_position_status');
-const { dm_person_type, dm_join_type, yes_no, sys_sex_type } = toRefs<any>(dict);
+const dict = proxy?.useDict('lm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type', 'dm_position_status');
+const { lm_person_type, dm_join_type, yes_no, sys_sex_type } = toRefs<any>(dict);
 const router = useRouter();
 const route = useRoute();
 const form = ref<any>(null);

+ 1 - 1
src/views/leader/declaration-record/index.vue

@@ -69,7 +69,7 @@ import { searchTabs } from '@/views/models';
 import {DeclarationRecordList,queryDeclarationRecordCount} from '@/api/leader'
 const router = useRouter();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { dm_join_type, dm_person_type, dm_expert_item_list } = toRefs<any>(proxy?.useDict('dm_join_type', 'dm_person_type', 'dm_expert_item_list'));
+const { dm_join_type, lm_person_type, dm_expert_item_list } = toRefs<any>(proxy?.useDict('dm_join_type', 'lm_person_type', 'dm_expert_item_list'));
 const loading = ref(true);
 const showSearch = ref(true);
 const total = ref(0);

+ 1 - 1
src/views/leader/models/ChooseDeclarationDecord.vue

@@ -32,7 +32,7 @@ import { propTypes } from '@/utils/propTypes';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_expert_item_list } = toRefs<any>(proxy?.useDict( 'dm_expert_item_list'));
 
-// const { dm_person_type, dm_join_type, yes_no } = toRefs<any>(proxy?.useDict('dm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type'));
+// const { lm_person_type, dm_join_type, yes_no } = toRefs<any>(proxy?.useDict('lm_person_type', 'dm_join_type', 'yes_no', 'sys_sex_type'));
 const emit = defineEmits(['update:show', 'close', 'success']);
 const props = defineProps({
     show: propTypes.bool.def(false),