Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl
commit
b9a3424d98
@ -0,0 +1,33 @@ |
||||
import request from '@/config/axios' |
||||
// 查询列表
|
||||
export const getSupplierPage = async (params) => { |
||||
return await request.get({ url: '/admin-api/crm/erp-supplier/page', params }) |
||||
} |
||||
|
||||
export const getSupplierSimpleList = async (params) => { |
||||
return await request.get({ url: '/admin-api/crm/erp-supplier/simple-list', params }) |
||||
} |
||||
|
||||
// 查询详情
|
||||
export const getSupplier = async (id) => { |
||||
return await request.get({ url: '/admin-api/crm/erp-supplier/get?id=' + id }) |
||||
} |
||||
|
||||
// 新增
|
||||
export const createSupplier = async (data) => { |
||||
return await request.post({ |
||||
url: '/admin-api/crm/erp-supplier/create', |
||||
data: data, |
||||
isSubmitForm: true |
||||
}) |
||||
} |
||||
|
||||
// 修改
|
||||
export const updateSupplier = async (params) => { |
||||
return await request.put({ url: '/admin-api/crm/erp-supplier/update', data: params }) |
||||
} |
||||
|
||||
// 删除
|
||||
export const deleteSupplier = async (id) => { |
||||
return await request.delete({ url: '/admin-api/crm/erp-supplier/delete?id=' + id }) |
||||
} |
@ -0,0 +1,130 @@ |
||||
<template> |
||||
<Dialog title="添加产品" v-model="show" width="800px"> |
||||
<el-form :model="form" ref="formRef" :rules="rules" label-width="80px"> |
||||
<el-row :gutter="20"> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="成交产品" prop="productId"> |
||||
<el-select |
||||
v-model="form.productId" |
||||
placeholder="选择成交产品" |
||||
filterable |
||||
@change="form.specsId = undefined" |
||||
> |
||||
<el-option |
||||
v-for="item in prodOptions" |
||||
:key="item.productId" |
||||
:label="item.productName" |
||||
:value="item.productId" |
||||
/> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="产品规格" prop="specsId"> |
||||
<el-select |
||||
v-model="form.specsId" |
||||
placeholder="选择规格" |
||||
filterable |
||||
:disabled="!form.productId" |
||||
> |
||||
<el-option |
||||
v-for="item in specsOptions(form.productId)" |
||||
:key="item.specsId" |
||||
:label="item.specsName" |
||||
:value="item.specsId" |
||||
/> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="成交数量" prop="signNum"> |
||||
<el-input-number v-model="form.signNum" :min="1" :controls="false" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="生产状态" prop="isProduced"> |
||||
<el-radio-group v-model="form.isProduced"> |
||||
<el-radio :label="0">待生产</el-radio> |
||||
<el-radio :label="1">已生产</el-radio> |
||||
</el-radio-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="备注" prop="remark"> |
||||
<el-input |
||||
type="textarea" |
||||
:autoSize="{ minRows: 3 }" |
||||
v-model="form.remark" |
||||
placeholder="请输入备注" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
</el-form> |
||||
<template #footer> |
||||
<span> |
||||
<el-button @click="show = false">取 消</el-button> |
||||
<el-button :disabled="formLoading" type="primary" @click="handleSave">保 存</el-button> |
||||
</span> |
||||
</template> |
||||
</Dialog> |
||||
</template> |
||||
|
||||
<script setup name="DialogProduct"> |
||||
import { addOrderProduct } from '@/api/clue/sign' |
||||
|
||||
const message = useMessage() // 消息弹窗 |
||||
|
||||
const specsOptions = computed({ |
||||
get() { |
||||
return (prodId) => { |
||||
if (prodId) { |
||||
return prodOptions.value.find((it) => it.productId == prodId).productSpecList |
||||
} |
||||
return [] |
||||
} |
||||
} |
||||
}) |
||||
|
||||
const show = ref(false) |
||||
const form = ref({}) |
||||
const rules = { |
||||
productId: { required: true, message: '成交产品不可为空', trigger: 'change' }, |
||||
specsId: { required: true, message: '产品规格不可为空', trigger: 'change' }, |
||||
signNum: { required: true, message: '成交数量不可为空', trigger: 'blur' } |
||||
} |
||||
|
||||
const prodOptions = ref([]) |
||||
|
||||
function open(signId, arr) { |
||||
prodOptions.value = arr |
||||
form.value.signId = signId |
||||
form.value.isProduced = 0 |
||||
show.value = true |
||||
} |
||||
defineExpose({ open }) |
||||
|
||||
const emit = defineEmits(['success']) |
||||
const formRef = ref() |
||||
const formLoading = ref(false) |
||||
async function handleSave() { |
||||
// 校验表单 |
||||
if (!formRef.value) return |
||||
const valid = await formRef.value.validate() |
||||
if (!valid) return |
||||
|
||||
// 提交请求 |
||||
formLoading.value = true |
||||
try { |
||||
await addOrderProduct(form.value) |
||||
message.success('新增成功!') |
||||
show.value = false |
||||
// 发送操作成功的事件 |
||||
emit('success') |
||||
} finally { |
||||
formLoading.value = false |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped></style> |
Loading…
Reference in new issue