|
@@ -17,11 +17,14 @@
|
|
<template v-slot:info>
|
|
<template v-slot:info>
|
|
<el-col :span="24" class="dialog_one" v-if="dialog.type == '1'">
|
|
<el-col :span="24" class="dialog_one" v-if="dialog.type == '1'">
|
|
<cForm :span="24" :fields="formFields" :form="form" :rules="rules" @save="toSave">
|
|
<cForm :span="24" :fields="formFields" :form="form" :rules="rules" @save="toSave">
|
|
- <template #office>
|
|
|
|
- <el-option @click="toChange(i)" v-for="i in officeList" :key="i._id" :label="i.name" :value="i._id"></el-option>
|
|
|
|
|
|
+ <template #street>
|
|
|
|
+ <el-option @click="toChange(i)" v-for="i in streetList" :key="i._id" :label="i.name" :value="i._id"></el-option>
|
|
|
|
+ </template>
|
|
|
|
+ <template #community>
|
|
|
|
+ <el-option @click="toChange(i)" v-for="i in communityList" :key="i._id" :label="i.name" :value="i._id"></el-option>
|
|
</template>
|
|
</template>
|
|
<template #is_use>
|
|
<template #is_use>
|
|
- <el-radio v-for="i in is_useList" :key="i.value" :label="i.label">{{ i.label }}</el-radio>
|
|
|
|
|
|
+ <el-radio v-for="(i, index) in is_useList" :key="index" :label="i.value">{{ i.label }}</el-radio>
|
|
</template>
|
|
</template>
|
|
<template #leader>
|
|
<template #leader>
|
|
<el-select v-model="form.leader" multiple placeholder="请选择审批领导" style="width: 100%">
|
|
<el-select v-model="form.leader" multiple placeholder="请选择审批领导" style="width: 100%">
|
|
@@ -66,7 +69,8 @@ let total: Ref<number> = ref(0);
|
|
let skip = 0;
|
|
let skip = 0;
|
|
let limit: number = proxy.$limit;
|
|
let limit: number = proxy.$limit;
|
|
let fields: Ref<any[]> = ref([
|
|
let fields: Ref<any[]> = ref([
|
|
- { label: '街道/社区', model: 'office', format: (i: any) => getDict(i, 'office') },
|
|
|
|
|
|
+ { label: '所属街道', model: 'street', format: (i: any) => getDict(i, 'office') },
|
|
|
|
+ { label: '所属社区', model: 'community', format: (i: any) => getDict(i, 'office') },
|
|
{ label: '领导', model: 'leader' },
|
|
{ label: '领导', model: 'leader' },
|
|
{ label: '会计', model: 'accounting' },
|
|
{ label: '会计', model: 'accounting' },
|
|
{ label: '是否使用', model: 'is_use', format: (i: any) => getDict(i, 'is_use') }
|
|
{ label: '是否使用', model: 'is_use', format: (i: any) => getDict(i, 'is_use') }
|
|
@@ -81,23 +85,24 @@ const dialog: Ref<{ type: string; show: boolean; title: string }> = ref({ type:
|
|
let form: Ref<{ leader: Array<any>; accounting: Array<any> }> = ref({ leader: [], accounting: [] });
|
|
let form: Ref<{ leader: Array<any>; accounting: Array<any> }> = ref({ leader: [], accounting: [] });
|
|
// 表单
|
|
// 表单
|
|
let formFields: Ref<any[]> = ref([
|
|
let formFields: Ref<any[]> = ref([
|
|
- { label: '街道/社区', model: 'office', type: 'select' },
|
|
|
|
|
|
+ { label: '所属街道', model: 'street', type: 'select' },
|
|
|
|
+ { label: '所属社区', model: 'community', type: 'select' },
|
|
{ label: '领导', model: 'leader', custom: true },
|
|
{ label: '领导', model: 'leader', custom: true },
|
|
{ label: '会计', model: 'accounting', custom: true },
|
|
{ label: '会计', model: 'accounting', custom: true },
|
|
{ label: '是否使用', model: 'is_use', type: 'radio' }
|
|
{ label: '是否使用', model: 'is_use', type: 'radio' }
|
|
]);
|
|
]);
|
|
const rules = reactive<FormRules>({
|
|
const rules = reactive<FormRules>({
|
|
- name: [{ required: true, message: '名称', trigger: 'blur' }],
|
|
|
|
- route: [{ required: true, message: '路由', trigger: 'blur' }],
|
|
|
|
- url: [{ required: true, message: '图片', trigger: 'blur' }],
|
|
|
|
- type: [{ required: true, message: '类型', trigger: 'blur' }],
|
|
|
|
- sort: [{ required: true, message: '排序', trigger: 'blur' }]
|
|
|
|
|
|
+ office: [{ required: true, message: '街道/社区', trigger: 'blur' }],
|
|
|
|
+ leader: [{ required: true, message: '领导', trigger: 'blur' }],
|
|
|
|
+ accounting: [{ required: true, message: '会计', trigger: 'blur' }]
|
|
});
|
|
});
|
|
// 查询数据
|
|
// 查询数据
|
|
let searchForm: Ref<any> = ref({});
|
|
let searchForm: Ref<any> = ref({});
|
|
// 字典表
|
|
// 字典表
|
|
let is_useList: Ref<any> = ref([]);
|
|
let is_useList: Ref<any> = ref([]);
|
|
let officeList: Ref<any> = ref([]);
|
|
let officeList: Ref<any> = ref([]);
|
|
|
|
+let streetList: Ref<any> = ref([]);
|
|
|
|
+let communityList: Ref<any> = ref([]);
|
|
let ldList: Ref<any> = ref([]);
|
|
let ldList: Ref<any> = ref([]);
|
|
let kjList: Ref<any> = ref([]);
|
|
let kjList: Ref<any> = ref([]);
|
|
|
|
|
|
@@ -133,6 +138,9 @@ const toChange = async (val: any) => {
|
|
// 会计
|
|
// 会计
|
|
res = await userAxios.query({ role: 'kj', ...info });
|
|
res = await userAxios.query({ role: 'kj', ...info });
|
|
if (res.errcode == '0') kjList.value = res.data;
|
|
if (res.errcode == '0') kjList.value = res.data;
|
|
|
|
+ // 所属社区
|
|
|
|
+ res = await officeAxios.query({ belong: val._id, type: '1', is_use: '0' });
|
|
|
|
+ if (res.errcode == '0') communityList.value = res.data;
|
|
};
|
|
};
|
|
const getDict = (value: any, model: any) => {
|
|
const getDict = (value: any, model: any) => {
|
|
if (model == 'is_use') {
|
|
if (model == 'is_use') {
|
|
@@ -141,6 +149,12 @@ const getDict = (value: any, model: any) => {
|
|
if (data) return data.label;
|
|
if (data) return data.label;
|
|
else return '暂无';
|
|
else return '暂无';
|
|
}
|
|
}
|
|
|
|
+ } else if (model == 'office') {
|
|
|
|
+ if (value) {
|
|
|
|
+ let data = officeList.value.find((i: any) => i._id == value);
|
|
|
|
+ if (data) return data.name;
|
|
|
|
+ else return '暂无';
|
|
|
|
+ }
|
|
}
|
|
}
|
|
};
|
|
};
|
|
// 新增
|
|
// 新增
|
|
@@ -149,7 +163,11 @@ const toAdd = () => {
|
|
};
|
|
};
|
|
// 修改
|
|
// 修改
|
|
const toEdit = async (data: any) => {
|
|
const toEdit = async (data: any) => {
|
|
|
|
+ let res;
|
|
form.value = data;
|
|
form.value = data;
|
|
|
|
+ // 所属社区
|
|
|
|
+ res = await officeAxios.query({ belong: data.street, type: '1', is_use: '0' });
|
|
|
|
+ if (res.errcode == '0') communityList.value = res.data;
|
|
dialog.value = { title: '信息管理', show: true, type: '1' };
|
|
dialog.value = { title: '信息管理', show: true, type: '1' };
|
|
};
|
|
};
|
|
// 提交保存
|
|
// 提交保存
|
|
@@ -185,6 +203,9 @@ const searchOther = async () => {
|
|
// 街道
|
|
// 街道
|
|
res = await officeAxios.query({ is_use: '0' });
|
|
res = await officeAxios.query({ is_use: '0' });
|
|
if (res.errcode == '0') officeList.value = res.data;
|
|
if (res.errcode == '0') officeList.value = res.data;
|
|
|
|
+ // 所属街道
|
|
|
|
+ res = await officeAxios.query({ type: '0', is_use: '0' });
|
|
|
|
+ if (res.errcode == '0') streetList.value = res.data;
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|