Commit dde64191 authored by jiaxu.yan's avatar jiaxu.yan

feat: 修改项目

parent c9e36a8e
......@@ -7,7 +7,7 @@ import { useMessage } from '@/hooks/web/useMessage';
export const columns: BasicColumn[] = [
{
title: '序号',
dataIndex: 'projectName',
dataIndex: 'serialNumber',
width: 100,
},
{
......
......@@ -4,7 +4,10 @@
<template #toolbar>
<a-button type="primary" preIcon="mdi:plus" @click="handleCreate"> 新增招标管理 </a-button>
</template>
<template #bodyCell="{ column, record }">
<template #bodyCell="{ column, record, index }">
<template v-if="column.key === 'serialNumber'">
{{ index + 1 }}
</template>
<template v-if="column.key === 'tenderYear'">
{{ record.tenderYear + '年' + record.biddingQuarter + '季度' }}
</template>
......
......@@ -7,7 +7,7 @@ import { useMessage } from '@/hooks/web/useMessage';
export const columns: BasicColumn[] = [
{
title: '序号',
dataIndex: 'projectName',
dataIndex: 'serialNumber',
width: 100,
},
{
......
......@@ -4,7 +4,10 @@
<template #toolbar>
<a-button type="primary" preIcon="mdi:plus" @click="handleCreate"> 新增招标计划 </a-button>
</template>
<template #bodyCell="{ column, record }">
<template #bodyCell="{ column, record, index }">
<template v-if="column.key === 'serialNumber'">
{{ index + 1 }}
</template>
<template v-if="column.key === 'tenderYear'">
{{ record.tenderYear + '年' + record.biddingQuarter + '季度' }}
</template>
......
......@@ -3,27 +3,28 @@
<PageCard>
<div class="header">
<div class="header-tab">
<img class="header-tab-logo" src="../../assets/images/logo.png" alt="" />
<!-- <img class="header-tab-logo" src="../../assets/images/logo.png" alt="" /> -->
<img class="header-tab-logo" :src="detail.logo" />
<div class="header-tab-right">
<div class="header-tab-right-title">{{ detail.projectName }}</div>
<div class="header-tab-right-desc">{{ detail.projectName }}</div>
</div>
</div>
<div class="header-tool">
<a-button type="default" class="btn" preIcon="ri:edit-line" @click="handleCreate">
<a-button type="default" class="btn" preIcon="ri:edit-line" @click="handleEdit">
编辑项目
</a-button>
<a-button type="default" class="btn" preIcon="mdi:book-add" @click="handleCreate">
<a-button type="default" class="btn" preIcon="mdi:book-add" @click="handleEdit">
添加合同
</a-button>
<a-button type="default" class="btn" preIcon="humbleicons:upload" @click="handleCreate">
<a-button type="default" class="btn" preIcon="humbleicons:upload" @click="handleEdit">
上传附件
</a-button>
<a-button
type="default"
class="btn"
preIcon="ant-design:delete-outlined"
@click="handleCreate"
@click="handleDelete"
>
删除项目
</a-button>
......@@ -111,15 +112,23 @@
</template>
</BasicTable>
</PageWrapper>
<projectDrawer @register="registerDrawer" @success="handleSuccess" />
</template>
<script lang="ts" setup>
import projectDrawer from './projectDrawer.vue';
import { Tabs } from 'ant-design-vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getListByPage, getItem } from '@/api/project/project';
import { getListByPage, getItem, deleteItem } from '@/api/project/project';
import { columns, searchFormSchema, tabList } from './project.data';
import { ref, onMounted } from 'vue';
import { useRoute } from 'vue-router';
import { useDrawer } from '@/components/Drawer';
import { useMessage } from '@/hooks/web/useMessage';
import { router } from '@/router';
const { createMessage } = useMessage();
const [registerDrawer, { openDrawer }] = useDrawer();
let detail = ref<any>({});
let detailId = ref<any>(0);
const activeKey = ref('1');
const [registerTable, { reload }] = useTable({
api: getListByPage,
......@@ -143,13 +152,30 @@
});
onMounted(async () => {
const route = useRoute();
const id = route.query.id; // 获取名为id的参数
let res = await getItem({ id });
console.log(res);
detailId.value = route.query.id; // 获取名为id的参数
await handleDetail();
});
function handleEdit() {
openDrawer(true, {
record: detail,
isUpdate: true,
});
}
async function handleSuccess(record: any) {
// detail.value = record;
await handleDetail()
}
async function handleDetail() {
let res = await getItem({ id: detailId.value });
detail.value = res;
console.log(detail.value);
}
function handleDelete() {
deleteItem({ id: detailId.value }).then((res) => {
createMessage.success('删除成功!');
router.back();
});
}
</script>
<style lang="less" scoped>
.header {
......
......@@ -25,12 +25,15 @@ export const formSchema: FormSchema[] = [
},
{
field: 'isReserveProject',
component: 'Switch',
label: '储备项目',
component: 'RadioButtonGroup',
defaultValue: 'false',
componentProps: {
checkedValue: 'true',
unCheckedValue: 'false',
options: [
{ label: '是', value: 'true' },
{ label: '否', value: 'false' },
],
},
label: '储备项目',
labelWidth: '140px',
},
{
......
......@@ -7,9 +7,7 @@
width="700px"
@ok="handleSubmit"
>
<BasicForm ref="formElRef" @register="registerForm">
<!-- <template #menu="{ model, field }"> </template> -->
</BasicForm>
<BasicForm ref="formElRef" @register="registerForm"> </BasicForm>
</BasicDrawer>
</template>
<script lang="ts" setup>
......@@ -18,6 +16,7 @@
import { formSchema } from './project.data';
import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
import { addItem, updateItem } from '@/api/project/project';
import { isArray } from '@/utils/is';
const emit = defineEmits(['success', 'register']);
const isUpdate = ref(true);
const detailId = ref(0);
......@@ -49,6 +48,7 @@
}
if (unref(isUpdate)) {
data.record.logo = [data.record.logo];
setFieldsValue({
...data.record,
});
......@@ -63,8 +63,11 @@
if (isUpdate.value) {
values.id = detailId.value;
}
// TODO custom api
console.log(values);
let logo = unref(values.logo);
if (isArray(logo)) {
let img: string = logo[0];
values.logo = img;
}
let res = isUpdate.value ? await updateItem(values) : await addItem(values);
console.log(res);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment