4 changed files with 0 additions and 341 deletions
@ -1,169 +0,0 @@ |
|||||
<template> |
|
||||
<a-modal v-model:open="visible" :title="title" @ok="handleOk" width="50%"> |
|
||||
<a-form :model="form" layout="vertical" ref="formRef" :rules="rules"> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="名称" name="name"> |
|
||||
<a-input v-model:value="form.name" placeholder="请输入" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="状态" name="status"> |
|
||||
<a-select v-model:value="form.status" :options="statusOptions" placeholder="请选择" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="规格" name="standards"> |
|
||||
<a-input v-model:value="form.standards" placeholder="请输入" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="单价(元)" name="price"> |
|
||||
<a-input v-model:value="form.price" placeholder="请输入" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="数量" name="amount"> |
|
||||
<a-input v-model:value="form.amount" placeholder="请输入" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="单位" name="unit"> |
|
||||
<a-input v-model:value="form.unit" placeholder="请输入" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
<a-row :gutter="[16, 16]"> |
|
||||
<a-col :span="24"> |
|
||||
<a-form-item label="备注" name="remark"> |
|
||||
<a-textarea v-model:value="form.remark" :rows="4" placeholder="请输入" /> |
|
||||
</a-form-item> |
|
||||
</a-col> |
|
||||
</a-row> |
|
||||
</a-form> |
|
||||
</a-modal> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { reactive, ref } from 'vue'; |
|
||||
import { message } from 'ant-design-vue'; |
|
||||
import { |
|
||||
getInfo, |
|
||||
add, |
|
||||
update, |
|
||||
} from './api'; |
|
||||
export default { |
|
||||
setup(props,{emit}) { |
|
||||
const title = ref('新增'); |
|
||||
const visible = ref(false); |
|
||||
const form = reactive({ |
|
||||
name: '', |
|
||||
status: null, |
|
||||
remark: '', |
|
||||
unit: '', |
|
||||
price: '', |
|
||||
amount: '', |
|
||||
standards: '', |
|
||||
projectId:null, |
|
||||
id:null |
|
||||
}); |
|
||||
//下拉框 |
|
||||
const statusOptions = [ |
|
||||
{ |
|
||||
value: 0, |
|
||||
label: '启用', |
|
||||
}, |
|
||||
{ |
|
||||
value: 1, |
|
||||
label: '禁用', |
|
||||
}, |
|
||||
]; |
|
||||
const showModal = async(type, id,projectId) => { |
|
||||
console.log(projectId) |
|
||||
visible.value = true; |
|
||||
if (type == 1) { |
|
||||
title.value = '新增'; |
|
||||
} else if (type == 2) { |
|
||||
title.value = '编辑'; |
|
||||
const data = await getInfo(id); |
|
||||
for (let i in form) { |
|
||||
form[i] = data[i]; |
|
||||
} |
|
||||
} |
|
||||
form.projectId = projectId |
|
||||
}; |
|
||||
|
|
||||
const handleOk = () => { |
|
||||
formRef.value.validate().then((valid) => { |
|
||||
if (valid) { |
|
||||
if (title.value == '新增') { |
|
||||
let params = {}; |
|
||||
for (let i in form) { |
|
||||
params[i] = form[i]; |
|
||||
} |
|
||||
delete params.id |
|
||||
add(params).then((_) => { |
|
||||
message.success('新增成功'); |
|
||||
emit('success') |
|
||||
closeModal() |
|
||||
}); |
|
||||
} else { |
|
||||
let params = {}; |
|
||||
for (let i in form) { |
|
||||
params[i] = form[i]; |
|
||||
} |
|
||||
update(params).then((_) => { |
|
||||
message.success('编辑成功'); |
|
||||
emit('success') |
|
||||
closeModal() |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
}; |
|
||||
const closeModal = () => { |
|
||||
formRef.value.resetFields(); |
|
||||
visible.value = false; |
|
||||
}; |
|
||||
const formRef = ref() |
|
||||
const rules = { |
|
||||
name: [{ required: true, message: '请输入' }], |
|
||||
status: [{ required: true, message: '请选择' }], |
|
||||
remark: [{ required: true, message: '请输入' }], |
|
||||
unit: [{ required: true, message: '请输入' }], |
|
||||
price: [{ required: true, message: '请输入' }], |
|
||||
amount: [{ required: true, message: '请输入' }], |
|
||||
standards: [{ required: true, message: '请输入' }], |
|
||||
}; |
|
||||
return { |
|
||||
visible, |
|
||||
title, |
|
||||
form, |
|
||||
showModal, |
|
||||
handleOk, |
|
||||
statusOptions, |
|
||||
closeModal, |
|
||||
formRef, |
|
||||
rules |
|
||||
}; |
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style scoped> |
|
||||
/* 可选样式调整 */ |
|
||||
.ant-modal-body { |
|
||||
max-width: 600px; |
|
||||
margin: 0 auto; |
|
||||
} |
|
||||
</style> |
|
@ -1,36 +0,0 @@ |
|||||
import { ID, IDS, commonExport } from '@/api/base'; |
|
||||
import { defHttp } from '@/utils/http/axios'; |
|
||||
|
|
||||
enum Api { |
|
||||
root = '/platform/matrialInfo', |
|
||||
list = '/platform/matrialInfo/list', |
|
||||
tree = '/platform/projectCategoryPoint/queryAll', |
|
||||
export = '/workflow/leave/export', |
|
||||
} |
|
||||
|
|
||||
export function list(params: any) { |
|
||||
return defHttp.get({ url: Api.list, params }); |
|
||||
} |
|
||||
export function tree() { |
|
||||
return defHttp.get({ url: Api.tree }); |
|
||||
} |
|
||||
export function exportExcel(data: any) { |
|
||||
return commonExport(Api.export, data); |
|
||||
} |
|
||||
|
|
||||
export function getInfo(id: ID) { |
|
||||
return defHttp.get({ url: `${Api.root}/${id}` }); |
|
||||
} |
|
||||
|
|
||||
export function add(data: any) { |
|
||||
return defHttp.post({ url: Api.root, data }); |
|
||||
} |
|
||||
|
|
||||
export function update(data: any) { |
|
||||
return defHttp.put({ url: Api.root, data }); |
|
||||
} |
|
||||
|
|
||||
export function removeByIds(ids: IDS) { |
|
||||
return defHttp.deleteWithMsg({ url: `${Api.root}/${ids.join(',')}` }); |
|
||||
} |
|
||||
|
|
@ -1,48 +0,0 @@ |
|||||
import { BasicColumn } from '@/components/Table'; |
|
||||
import { FormSchema } from '@/components/Form'; |
|
||||
|
|
||||
export const formSchemas: FormSchema[] = [ |
|
||||
{ |
|
||||
field: 'name', |
|
||||
label: '名称', |
|
||||
component: 'Input', |
|
||||
componentProps: { |
|
||||
placeholder: '请输入', |
|
||||
}, |
|
||||
}, |
|
||||
]; |
|
||||
|
|
||||
export const columns: BasicColumn[] = [ |
|
||||
{ |
|
||||
title: '名称', |
|
||||
dataIndex: 'name', |
|
||||
}, |
|
||||
{ |
|
||||
title: '规格', |
|
||||
dataIndex: 'standards', |
|
||||
}, |
|
||||
{ |
|
||||
title: '单价(元)', |
|
||||
dataIndex: 'price', |
|
||||
}, |
|
||||
{ |
|
||||
title: '数量', |
|
||||
dataIndex: 'amount', |
|
||||
}, |
|
||||
{ |
|
||||
title: '单位', |
|
||||
dataIndex: 'unit', |
|
||||
}, |
|
||||
{ |
|
||||
title: '状态', |
|
||||
dataIndex: 'status', |
|
||||
}, |
|
||||
{ |
|
||||
title: '创建日期', |
|
||||
dataIndex: 'createTime', |
|
||||
}, |
|
||||
{ |
|
||||
title: '备注', |
|
||||
dataIndex: 'remark', |
|
||||
}, |
|
||||
]; |
|
@ -1,88 +0,0 @@ |
|||||
<template> |
|
||||
<PageWrapper dense> |
|
||||
<BasicTable @register="registerTable"> |
|
||||
<template #toolbar> |
|
||||
<a-button type="primary" @click="showFaultModal">故障上报</a-button> |
|
||||
</template> |
|
||||
<template #bodyCell="{ column, record }"> |
|
||||
<template v-if="column && record && column.key === 'action'"> |
|
||||
<a-button type="link" @click="showSendModal(record.id)">派遣</a-button> |
|
||||
<a-button type="link" @click="showDrawer(record.id)">详情</a-button> |
|
||||
</template> |
|
||||
</template> |
|
||||
</BasicTable> |
|
||||
<faultModal ref="faultModalRef" @success="reload()"/> |
|
||||
<detailDrawer ref="detailDrawerRef" /> |
|
||||
<sendModal ref="sendModalRef" @success="reload()"/> |
|
||||
</PageWrapper> |
|
||||
</template> |
|
||||
|
|
||||
<script setup lang="ts"> |
|
||||
import { PageWrapper } from '@/components/Page'; |
|
||||
import { BasicTable, useTable } from '@/components/Table'; |
|
||||
import { list,getProjectInfo} from './api'; |
|
||||
import { formSchemas, columns } from './data'; |
|
||||
import faultModal from './faultModal.vue'; |
|
||||
import detailDrawer from './detailDrawer.vue'; |
|
||||
import sendModal from './sendModal.vue'; |
|
||||
import { ref,onActivated } from 'vue'; |
|
||||
|
|
||||
const [registerTable,{reload}] = useTable({ |
|
||||
title: '工单派遣', |
|
||||
api: list, |
|
||||
showIndexColumn: true, |
|
||||
rowKey: 'id', |
|
||||
useSearchForm: true, |
|
||||
formConfig: { |
|
||||
schemas: formSchemas, |
|
||||
name: 'orderSend', |
|
||||
baseColProps: { |
|
||||
xs: 24, |
|
||||
sm: 24, |
|
||||
md: 24, |
|
||||
lg: 6, |
|
||||
}, |
|
||||
}, |
|
||||
columns: columns, |
|
||||
actionColumn: { |
|
||||
width: 200, |
|
||||
title: '操作', |
|
||||
key: 'action', |
|
||||
fixed: 'right', |
|
||||
}, |
|
||||
}); |
|
||||
//弹窗内容 |
|
||||
const faultModalRef = ref(); |
|
||||
const showFaultModal = () => { |
|
||||
faultModalRef.value.showModal(); |
|
||||
}; |
|
||||
const sendModalRef = ref() |
|
||||
const showSendModal = (id:any) => { |
|
||||
sendModalRef.value.showModal(id); |
|
||||
}; |
|
||||
//详情抽屉 |
|
||||
const detailDrawerRef = ref(); |
|
||||
const showDrawer = (id: any) => { |
|
||||
detailDrawerRef.value.showDrawer(id); |
|
||||
}; |
|
||||
const projectOptions = ref([]); |
|
||||
const getProjectOptions = async () => { |
|
||||
const res = await getProjectInfo(); |
|
||||
res.forEach((i: any) => { |
|
||||
i.value = i.projectName; |
|
||||
i.label = i.projectName; |
|
||||
}); |
|
||||
projectOptions.value = res; |
|
||||
formSchemas[0].componentProps.options = projectOptions.value; |
|
||||
}; |
|
||||
const getOptions = () => { |
|
||||
getProjectOptions(); |
|
||||
}; |
|
||||
getOptions(); |
|
||||
onActivated(()=>{ |
|
||||
reload() |
|
||||
}) |
|
||||
// 前往审批记录页面 |
|
||||
</script> |
|
||||
|
|
||||
<style scoped></style> |
|
Loading…
Reference in new issue