|
@@ -9,7 +9,18 @@
|
|
<cButton @toAdd="toAdd()"> </cButton>
|
|
<cButton @toAdd="toAdd()"> </cButton>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24" class="thr">
|
|
<el-col :span="24" class="thr">
|
|
- <cTable :fields="fields" :opera="opera" :list="list" @query="search" :total="total" @edit="toEdit" @del="toDel"> </cTable>
|
|
+ <cTable :fields="fields" :opera="opera" :list="list" @query="search" :total="total" @edit="toEdit" @del="toDel">
|
|
|
|
+ <template #leader="{ item, row }">
|
|
|
|
+ <template v-if="item.model === 'leader'">
|
|
|
|
+ <span size="small" type="primary">{{ getProps(row, item.model) }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </template>
|
|
|
|
+ <template #accounting="{ item, row }">
|
|
|
|
+ <template v-if="item.model === 'accounting'">
|
|
|
|
+ <span size="small" type="primary">{{ getProps(row, item.model) }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </template>
|
|
|
|
+ </cTable>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -28,12 +39,12 @@
|
|
</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%">
|
|
- <el-option v-for="item in ldList" :key="item._id" :label="item.name" :value="item._id" />
|
|
+ <el-option v-for="item in ldList" :key="item" :label="item.name" :value="item._id" />
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
<template #accounting>
|
|
<template #accounting>
|
|
<el-select v-model="form.accounting" multiple placeholder="请选择审批会计" style="width: 100%">
|
|
<el-select v-model="form.accounting" multiple placeholder="请选择审批会计" style="width: 100%">
|
|
- <el-option v-for="item in kjList" :key="item._id" :label="item.name" :value="item._id" />
|
|
+ <el-option v-for="item in kjList" :key="item" :label="item.name" :value="item._id" />
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
</cForm>
|
|
</cForm>
|
|
@@ -71,8 +82,8 @@ let limit: number = proxy.$limit;
|
|
let fields: Ref<any[]> = ref([
|
|
let fields: Ref<any[]> = ref([
|
|
{ label: '所属街道', model: 'street', 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: 'community', format: (i: any) => getDict(i, 'office') },
|
|
- { label: '领导', model: 'leader' },
|
|
+ { label: '领导', model: 'leader', custom: true },
|
|
- { label: '会计', model: 'accounting' },
|
|
+ { label: '会计', model: 'accounting', custom: true },
|
|
{ label: '是否使用', model: 'is_use', format: (i: any) => getDict(i, 'is_use') }
|
|
{ label: '是否使用', model: 'is_use', format: (i: any) => getDict(i, 'is_use') }
|
|
]);
|
|
]);
|
|
// 操作
|
|
// 操作
|
|
@@ -157,6 +168,22 @@ const getDict = (value: any, model: any) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
+const getProps = (data: any, prop: any) => {
|
|
|
|
+ let list = [];
|
|
|
|
+ let res;
|
|
|
|
+ if (prop == 'leader') {
|
|
|
|
+ for (const val of data[prop]) {
|
|
|
|
+ res = ldList.value.find((i) => i._id == val);
|
|
|
|
+ if (res) list.push(res.name);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ for (const val of data[prop]) {
|
|
|
|
+ res = kjList.value.find((i) => i._id == val);
|
|
|
|
+ if (res) list.push(res.name);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return list.toString();
|
|
|
|
+};
|
|
// 新增
|
|
// 新增
|
|
const toAdd = () => {
|
|
const toAdd = () => {
|
|
dialog.value = { title: '信息管理', show: true, type: '1' };
|
|
dialog.value = { title: '信息管理', show: true, type: '1' };
|
|
@@ -168,6 +195,7 @@ const toEdit = async (data: any) => {
|
|
// 所属社区
|
|
// 所属社区
|
|
res = await officeAxios.query({ belong: data.street, type: '1', is_use: '0' });
|
|
res = await officeAxios.query({ belong: data.street, type: '1', is_use: '0' });
|
|
if (res.errcode == '0') communityList.value = res.data;
|
|
if (res.errcode == '0') communityList.value = res.data;
|
|
|
|
+ toChange(data.street);
|
|
dialog.value = { title: '信息管理', show: true, type: '1' };
|
|
dialog.value = { title: '信息管理', show: true, type: '1' };
|
|
};
|
|
};
|
|
// 提交保存
|
|
// 提交保存
|
|
@@ -206,6 +234,12 @@ const searchOther = async () => {
|
|
// 所属街道
|
|
// 所属街道
|
|
res = await officeAxios.query({ type: '0', is_use: '0' });
|
|
res = await officeAxios.query({ type: '0', is_use: '0' });
|
|
if (res.errcode == '0') streetList.value = res.data;
|
|
if (res.errcode == '0') streetList.value = res.data;
|
|
|
|
+ // 领导
|
|
|
|
+ res = await userAxios.query({ role: 'ld', status: '1' });
|
|
|
|
+ if (res.errcode == '0') ldList.value = res.data;
|
|
|
|
+ // 会计
|
|
|
|
+ res = await userAxios.query({ role: 'kj', status: '1' });
|
|
|
|
+ if (res.errcode == '0') kjList.value = res.data;
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|