Commit b6a8db75 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫
parents 108a1b0e 536394bf
......@@ -106,6 +106,7 @@ async function batchAxiosHttps() {
asyncHttpQueue[item][subItem] = null
}
} catch (err) {
console.log(err)
httpErrorQueue.push({ ...serviceConfig[item][subItem], ...err.response.data })
}
}
......
......@@ -26,7 +26,9 @@ const ModalTable:React.FC<ModalTableProps> = (props) => {
useEffect(() => {
if (visible) {
// 重新开启时需reload接口
selfRef.current.reload && selfRef.current.reload()
// fix: 去掉自动reload接口, 防止重复请求
// console.log(selfRef)
// selfRef.current.reload && selfRef.current.reload()
} else {
selfRef.current.resetField && selfRef.current.resetField({
validate: false
......
......@@ -44,10 +44,10 @@ export enum LAYOUT_TYPE {
}
// 本地环境跳过权限校验
// export const isDev = process.env.NODE_ENV === "development"
export const isDev = process.env.NODE_ENV === "development"
// 暂时将权限访问关闭
export const isDev = true
// export const isDev = false
export const Environment_Status = {
0: "所有",
......
......@@ -9,6 +9,7 @@ export enum PageStatus {
export const usePageStatus = () => {
const { preview, id = '', ...rest } = history.location.query
const lastTypeParams = history.location.pathname.substr(history.location.pathname.lastIndexOf('/'))
// 默认预览状态
let pageStatus = PageStatus.PREVIEW
if (preview === '1') {
......@@ -25,6 +26,7 @@ export const usePageStatus = () => {
pageStatus,
id,
preview,
lastTypeParams,
...rest,
}
}
\ No newline at end of file
......@@ -51,7 +51,8 @@ const AddProducts: React.FC<{}> = (props) => {
productInfoByEdit,
selectCategoryId,
clearPartData,
setTabClickItem
setTabClickItem,
setSelectedGoods
} = ProductStore
useEffect(() => {
......@@ -89,6 +90,13 @@ const AddProducts: React.FC<{}> = (props) => {
setProductName(data?.name)
const attributeRes = await PublicApi.getProductCustomerGetCustomerCategoryById({ id: data?.customerCategory?.id + '' })
setAttributeLists(attributeRes.data?.customerAttributeList)
// 预先设置选择货品
let unitPicList = data.unitPriceAndPicList.map(item => item.goods)
let selectGoods = Object.values(unitPicList.reduce((item, next)=>{
item[next.id] = next;
return item
},{}))
setSelectedGoods(selectGoods)
}
makeRequest()
}
......
......@@ -33,11 +33,13 @@ const { Option } = Select
const { Item } = Form
let _tableDataSource: any = []
// let fff = 0
const PriceAttributeForm: React.FC<Iprops> = (props) => {
const { onRef } = props
const priceFormRef = useRef()
const updateFlag = useRef(true) // 是否第一次构建
const fff = useRef<number>(0)
const [priceForm] = Form.useForm()
const [setPriceForm] = Form.useForm()
const [planPrice, setPlanPrice] = useState(1)
......@@ -101,7 +103,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
useEffect(()=>{
constructedCallback()
// console.log(productSelectAttribute, 'productSelectAttribute')
fff.current++
},[productName, selectedGoods, productSelectAttribute, planPrice, tabClickItem])
/* 生成建表所需要的属性 属性值等数组数据 */
......@@ -213,35 +215,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
</>
})
}
/** fixbug: 编辑情况下 可能不选货品 (借助store中的点击项数据来处理) */
else if(history.location.query?.id){ // 此时没有货品并且处于编辑状态 取接口返回的数据
if(tabClickItem.filter(item => item === '4').length === 1){ // 编辑情况下 第一次点击tab 否则采用页面缓存数据
let _goods: any[] = Object.values(productInfoByEdit.unitPriceAndPicList.map(_ => _.goods))
if(_goods.indexOf(null)===-1){
let goodsInApi : any = Object.values(_goods.reduce((item, next)=>{
item[next.id] = next
return item
},{}))
if(goodsInApi.length > 0){
_col.push({
title: '对应货品',
dataIndex: '对应货品',
key: '对应货品',
width: 360,
render: (text: any, record: any) => <>
<Select style={{width:'100%'}} defaultValue={text} onChange={(v)=> {tableSelelctChange(v, record) }}>
{
goodsInApi.map(_item => (
<Option key={_item.id} value={_item.id}>{_item.code}/{_item.name}/{_item.type}/¥{_item.costPrice}</Option>
))
}
</Select>
</>
})
}
}
}
}
if(_attributeNameArr?.length>0){
_attributeNameArr.map( _attr => {
......@@ -296,37 +269,37 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}) : _tempObj[_attributeNameArr[i]||_attributeNameArr[0]] = _rowArr // 当一项变动的时候 找_attributeNameArr可能会找不到 找不到的情况下置为索引0的那项
if(history.location.query?.id){
// 编辑的时候,先指定数据中的货品id,如果是重新组合的不存在id就使用选择的货品中的第一个,如果没有置为0;同理,不存在单价就置为{}
if(tabClickItem.filter(item => item === '4').length > 1){ // 不是初次点击价格属性
_tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[0].id : 0
// _tempObj['单价'] = _tableDataSource[i]['单价'] || {}
} else {
_tempObj['对应货品'] = productInfoByEdit.unitPriceAndPicList[i]?.goods?.id || 0
// _tempObj['单价'] = productInfoByEdit?.unitPriceAndPicList[i]?.unitPrice || {}
}
// _tempObj['对应货品'] = productInfoByEdit.unitPriceAndPicList[i]?.goods?.id || selectedGoods[0]?.id || 0
console.log(selectedGoods[i] && selectedGoods[i]?.id || selectedGoods[0]?.id || 0, '0000')
_tempObj['对应货品'] = selectedGoods[i] && selectedGoods[i]?.id || selectedGoods[0]?.id || 0
if(!fff.current){ // 初次渲染tab 再次进入tab采用缓存数据
_tempObj['单价'] = productInfoByEdit.unitPriceAndPicList[i]?.unitPrice || {}
// console.log(_tableDataSource, '编辑构建table数据的时候')
// console.log(tabClickItem, 'store中的点项')
// 通过store中的点击项可以判断当前表格的数据是采用接口返回的全局编辑数据还是子模块的局部缓存数据
}else{
_tempObj['单价'] = _tableDataSource[i] && tableDataSource[i]['单价'] || {} // *bug* 替换属性价格会上位 货品替换数量不变表格选项未更新 传图片后再构建会被清空
}
}else{
_tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[0].id : 0
_tempObj['单价'] = {}
// _tempObj['单价'] = {}
_tempObj['单价'] = _tableDataSource[i] && tableDataSource[i]['单价'] || {}
}
console.log(_tableDataSource,tabClickItem,fff.current,selectedGoods,'构建表格单价数据')
_tableData.push(_tempObj)
})
}else{ // length不存在,默认只有商品名称一行(无价格属性组合)只有一行的情况下单价可能有,可能阶梯价,也可能没有
let _tempObj: any = { 索引: 0 ,商品名称: productName }
_tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[0].id : 0 // 编辑情况下 对应货品id和单价 特殊处理
// _tempObj['单价'] = productInfoByEdit?.unitPriceAndPicList[0]?.unitPrice || {}
if(!fff.current){
_tempObj['单价'] = productInfoByEdit?.unitPriceAndPicList[0]?.unitPrice || {}
}else{
_tempObj['单价'] = _tableDataSource[0] && tableDataSource[0]['单价'] || {} // *bug* 替换属性价格会上位 货品替换数量不变表格选项未更新 传图片后再构建会被清空
}
_tableData.push(_tempObj)
}
// console.log(_tableData, '_tableData') // 只有一项 变动情况下表格数据的key获取不到
_tableDataSource = _tableData
// 有前面tab变动引起的二次构建 需要清空价格数据
// 有前面tab变动引起的二次构建 需要清空价格数据 (商品属性二次变动可考虑清空价格)
if(updateFlag.current){
updateFlag.current = false
} else {
// if(!(history.location.query?.id && planPrice === 3)){
// _tableDataSource.map(item => item['单价'] = {})
......
......@@ -42,12 +42,12 @@ const SelectGoodsForm: React.FC<{}> = (props) => {
const { id } = history.location.query
if(id){
let _goodsArr: any = productInfoByEdit?.unitPriceAndPicList.map(_ => _.goods)
let goodsArr: any = _goodsArr.indexOf(null)===-1 && _goodsArr.length>0 && Object.values(_goodsArr.reduce((item, next)=>{
let goodsArr: any = _goodsArr && _goodsArr.indexOf(null)===-1 && _goodsArr.length>0 && Object.values(_goodsArr.reduce((item, next)=>{
item[next.id] = next;
return item
},{}))
// console.log(goodsArr, 'goods')
if(goodsArr.length>0){
if(goodsArr?.length>0){
setIsChecked(true)
setIsSelectGoods(true)
//@ts-ignore
......
import React, { useState, useEffect, useRef, ReactNode } from 'react'
import { history } from 'umi'
import { Card, Space, Row, Col, Button, Table, Modal } from 'antd'
import { Card, Space, Row, Col, Button, Table, Modal, message } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import ReutrnEle from '@/components/ReturnEle'
import styles from './index.less'
......@@ -14,22 +14,33 @@ import { rechargeSchema } from './schema'
import { memberStatusMap, moveStatusMap, operationMap, statusMap } from '../../constant'
import { PublicApi } from '@/services/api'
import { StandardTable } from 'god'
import QRCode from 'qrcode';
import { ScanOutlined } from '@ant-design/icons'
const schemaActions = createFormActions()
const AccountDetail: React.FC<{}> = () => {
const modalRef = useRef<any>()
const refTrade = useRef<any>({})
// const refMove = useRef<any>({})
const [moveData, setMoveData] = useState<any>()
const [ details, setDetails ] = useState<any>({ accountBalance: 0, lockBalance: 0})
const [pageId, setPageId] = useState<any>()
const [isBtnLoading, setIsBtnLoading] = useState<boolean>(false)
const [scanVisible, setScanVisible] = useState<boolean>(false)
const [qrCode, setQrCode] = useState('')
const [renderCodeCharacter, setRenderCodeCharacter] = useState('')
const [rechargeType, setRechargeType] = useState<number>()
useEffect(() => {
getAccountInfo()
} ,[])
useEffect(() => {
if(renderCodeCharacter){
generateQrCode()
}
}, [renderCodeCharacter])
const getAccountInfo = async () => {
const { id } = history.location.query
setPageId(id)
......@@ -52,15 +63,16 @@ const AccountDetail: React.FC<{}> = () => {
})
}
// // 获取流转记录
// const fetchMoveData = (params) => {
// return new Promise((resolve, reject) => {
// PublicApi.getPayAssetAccountGetAccountStatusRecord({memberAssetAccountId: history.location.query.id + ''}).then(res => {
// const { data } = res
// resolve(data)
// })
// })
// }
const generateQrCode = () => {
// 生成二维码
QRCode.toDataURL(renderCodeCharacter).then((url:any) => {
setQrCode(url)
console.log(url)
})
.catch((err:any) => {
console.error(err)
})
}
const columns: ColumnType<any>[] = [
{
......@@ -149,18 +161,22 @@ const AccountDetail: React.FC<{}> = () => {
const handleSubmit = (value) => {
// 提交重置
setIsBtnLoading(true)
setRechargeType(value['type'][0])
let parasm = {
memberAssetAccountId: pageId,
money: Number(value.money),
type: value['type'][0]
}
PublicApi.postPayAssetAccountRecharge(parasm).then(res => {
if(res.code === 1000){
getAccountInfo()
refTrade.current.reload()
// refMove.current.reload()
}
PublicApi.postPayAssetAccountRecharge(parasm, { ctlType: "none" }).then(res => {
const { code, data } = res
if(code === 1000){
modalRef.current.setVisible(false)
setScanVisible(true)
setRenderCodeCharacter(data)
console.log(data)
}else{
message.error(res.message)
}
setIsBtnLoading(false)
})
}
......@@ -169,6 +185,12 @@ const AccountDetail: React.FC<{}> = () => {
modalRef.current.setVisible(true)
}
const handleScan = () => {
setScanVisible(false)
getAccountInfo()
refTrade.current.reload()
}
return (
<PageHeaderWrapper
title="账户详情"
......@@ -309,14 +331,6 @@ const AccountDetail: React.FC<{}> = () => {
<Space direction="vertical" style={{width:'100%'}}>
<Card headStyle={{borderBottom:'none'}} title="流转记录">
<Table columns={moveColumns} dataSource={moveData} pagination={false} />
{/* <StandardTable
columns={moveColumns}
currentRef={refMove}
fetchTableData={(params: any) => fetchMoveData(params)}
tableProps={{
pagination: false
}}
/> */}
</Card>
</Space>
<ModalForm
......@@ -342,6 +356,22 @@ const AccountDetail: React.FC<{}> = () => {
// useAsyncSelect('addresId', async () => (await PublicApi.getLogisticsSelectListShipperAddress()).data, ['fullAddress', 'id'])
// }}
/>
{/* 扫码充值 */}
<Modal
// title={rechargeType === 1 ? '微信扫码充值' : '支付宝扫码充值'}
title='账户充值'
visible={scanVisible}
onOk={handleScan}
onCancel={handleScan}
>
<div className={styles.qrCodeImage}>
<img src={qrCode} alt=""/>
<div className={styles.scanTips}>
<ScanOutlined className={styles.scanIcon} />
<span>打开 {rechargeType === 1 ? '微信' : '支付宝'}App<br />扫码完成充值</span>
</div>
</div>
</Modal>
</PageHeaderWrapper>
)
}
......
......@@ -94,3 +94,29 @@
}
}
}
// 扫码充值
.qrCodeImage {
text-align: center;
width: 224px;
height: 224px;
margin: 20px auto 42px;
&>img {
display: block;
width: 100%;
height: 100%;
}
}
.scanTips {
display: flex;
justify-content: center;
align-items: center;
color: #6b778c;
margin-bottom: 18px;
.scanIcon {
font-size: 30px;
margin-right: @margin-sm;
}
}
\ No newline at end of file
......@@ -139,8 +139,8 @@ export const rechargeSchema: ISchema = {
"x-component": 'CardCheckBox',
"x-component-props": {
dataSource: [
{id: 1, name: '支付宝', logoUrl: alipay},
{id: 2, name: '微信', logoUrl: wxpay}
// {id: 1, name: '支付宝', logoUrl: alipay},
{id: 1, name: '微信', logoUrl: wxpay}
],
type: 'radio' // CardCheckBox 单选模式
},
......
......@@ -100,7 +100,8 @@ export const CREDIT_INNER_STATUS_BADGE_MAP = {
'3': { title: '审核不通过', type: 'default' },
'4': { title: '提现成功', type: 'success' },
'5': { title: '提现失败', type: 'danger' },
'6': { title: '确认到账', type: 'success' },
'6': { title: '支付中', type: 'processing' },
'7': { title: '确认到账', type: 'success' },
}
// 流转状态
......
......@@ -14,6 +14,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PurchaseOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 一级待审核订单
......@@ -33,6 +34,8 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
rowSelectionCtl
} = useSelfTable()
const { run, loading } = useHttpRequest(PublicApi.postOrderProcurementOrderReviewedAll)
const handleSubmitBatch = async () => {
if (rowSelectionCtl.selectRow.length === 0) {
message.error('请先勾选订单')
......@@ -40,8 +43,12 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}
const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER)
if (canBitch) {
await PublicApi.postOrderProcurementOrderReviewedAll({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await run({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能批量提交内部状态为审核中的订单')
}
......@@ -81,7 +88,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}}
formilyChilds={{
children: <Space>
<Button onClick={handleSubmitBatch}>批量提交审核</Button>
<Button onClick={handleSubmitBatch} loading={loading}>批量提交审核</Button>
</Space>,
layouts: {
span: 8
......
......@@ -4,6 +4,7 @@ import { fetchOrderApi } from '../../apis'
import { useModalTable } from '../../model/useModalTable'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import { inquiryColumns } from '../../../readyAddOrder/constant'
import { PublicApi } from '@/services/api'
export interface DemandModalTableProps extends ModalTableProps {
type?: 'radio' | 'checkbox',
......@@ -48,7 +49,7 @@ const DemandModalTable:React.FC<DemandModalTableProps> = (props) => {
visible={visible}
confirm={handleConfirm}
cancel={() => setVisible(false)}
fetchTableData={(params) => fetchOrderApi.getOrderQuotationDemandList(params)}
fetchTableData={async (params) => (await PublicApi.getOrderQuotationRequisitionFormList({...params, externalState: 5})).data}
rowSelection={rowSelection}
modalType='demandByDefault'
tableProps={{
......
......@@ -4,6 +4,7 @@ import { fetchOrderApi } from '../../apis'
import { useModalTable } from '../../model/useModalTable'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import { inquiryColumns } from '../../constant'
import { PublicApi } from '@/services/api'
export interface InquiryModalTableProps extends ModalTableProps {
type?: 'radio' | 'checkbox',
......@@ -47,7 +48,7 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
visible={visible}
confirm={handleConfirm}
cancel={() => setVisible(false)}
fetchTableData={(params) => fetchOrderApi.getQuotationList(params)}
fetchTableData={async (params) => (await PublicApi.getOrderNotarizeEnquiryProductQuotationList({...params, externalState: 4}, {useCache: true, ttl: 10 * 1000})).data}
rowSelection={rowSelection}
modalType='inquiryByDefault'
tableProps={{
......
......@@ -87,6 +87,7 @@ export const useEditHideField = () => {
export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, update) => {
FormEffectHooks.onFieldValueChange$('orderProductRequests').subscribe(state => {
const { value } = state
console.log(value)
const payInfoData = ctx.getFieldValue('paymentInformationResponses')
// 强制渲染一次, 用于触发金额总数
update()
......@@ -136,6 +137,8 @@ export const useOrderFormInitEffect = (ctx: ISchemaFormActions | ISchemaFormAsyn
ctx.setFieldValue('supplyMembersId', initValue.supplyMembersId)
ctx.setFieldValue('supplyMembersRoleId', initValue.supplyMembersRoleId)
ctx.setFieldValue('supplyMembersName', initValue.supplyMembersName)
initValue.idList && ctx.setFieldValue('idList', initValue.idList)
initValue.productType && ctx.setFieldValue('productType', initValue.productType)
ctx.setFieldValue('orderProductRequests', await filterProductDataById([], productInfo.map(v => {
return {
......
......@@ -108,7 +108,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
const [btnLoading, setBtnLoading] = useState(false)
const update = useUpdate()
const [productSumPrice, setProductSumPrice] = useState<number>(0)
const { pageStatus, id, page_type = '0', modelType, spam_id } = usePageStatus()
const { pageStatus, id, page_type = '0', modelType, spam_id, lastTypeParams } = usePageStatus()
const [initFormValue, setInitFormValue] = useState<any>(() => {
let resultState = {}
......@@ -162,6 +162,12 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
const handleSubmit = async (value) => {
try {
let fnResult = null
// 可做新增/修改的判断
// if (lastTypeParams === 'add') {
// } else if (lastTypeParams === 'edit') {
// }
switch (page_type) {
case '0': {
// 新增订单/编辑订单
......@@ -173,6 +179,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
v.price = 1
v.isMemberPrice = Number(v.isMemberPrice)
v.memberPrice = parseInt(v.memberPrice)
v.imgUrl = v.mainPic
// v.productId = v.id
// v.productName = v.name
// v.category = v.customerCategoryName
......@@ -186,7 +193,10 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
...omit(value.deliveryAddresId, ['id']),
// 冗余发票信息
theInvoiceId: value.theInvoiceId ? value.theInvoiceId.id : undefined,
theInvoiceInfo: value.theInvoiceId || null
// 去掉该冗余字段的传递, 只做详情展示
// theInvoiceInfo: (value.typeof value.theInvoiceId === 'object' ? value.theInvoiceId : null
// theInvoiceInfo: value.theInvoiceInfo
}
setBtnLoading(true)
fnResult = id ? await PublicApi.postOrderProcurementOrderUpdate({...params, id}) : await PublicApi.postOrderProcurementOrderAddReinsurancePolicy(params)
......@@ -300,8 +310,26 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
TheInvoiceList
}}
effects={($, ctx) => {
$('onFormMount').subscribe(() => {
if (id || modelType) {
ctx.setFieldState('orderModel', state => {
state.editable = false
// state.props["x-component-props"] = {
// disabled: true
// }
})
}
})
// 监听商品总价的变更, 此处逻辑需优化
$('sumPrice').subscribe(payload => {
const oldData = [...addSchemaAction.getFieldValue('paymentInformationResponses')];
if (oldData && oldData.length > 0) {
const newData = oldData.map(v => {
v.payPrice = (v.payRatio / 100 * payload).toFixed(2)
return v
})
addSchemaAction.setFieldValue('paymentInformationResponses', newData)
}
setProductSumPrice(payload)
})
$('onFieldInputChange', 'orderModel').subscribe(state => {
......
......@@ -176,6 +176,15 @@ const basicInfo: ISchema = {
type: 'string',
display: false
},
idList: {
type: 'array',
display: false
},
productType: {
type: 'number',
display: false
},
orderNo: {
type: 'string',
title: '订单编号',
......
......@@ -14,6 +14,7 @@ import { DatePicker } from '@formily/antd-components'
import { useSelfTable } from './model/useReadyAddOrder'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PurchaseOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 待新增订单
......@@ -26,6 +27,8 @@ const fetchTableData = async (params) => {
// TODO
const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
const { run: deleteRun } = useHttpRequest(PublicApi.postOrderProcurementOrderDeleteAll)
const { loading: submitLoading, run: submitRun } = useHttpRequest(PublicApi.postOrderProcurementOrderSubmitExamineAll)
const { columns, ref, rowSelection, rowSelectionCtl } = useSelfTable()
const handleMenuClick = async (e) => {
......@@ -34,8 +37,12 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
// 批量删除
const canDelete = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (canDelete) {
await PublicApi.postOrderProcurementOrderDeleteAll({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await deleteRun({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能删除内部状态为未审核过的订单')
}
......@@ -47,14 +54,17 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
const handleBitchPush = async () => {
const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (canBitch) {
await PublicApi.postOrderProcurementOrderSubmitExamineAll({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await submitRun({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能提交审核待新增的订单')
}
}
console.log(rowSelection)
return <PageHeaderWrapper>
<Card>
<StandardTable
......@@ -97,7 +107,7 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
>
新建
</Button>
<Button onClick={handleBitchPush}>批量提交审核</Button>
<Button onClick={handleBitchPush} loading={submitLoading}>批量提交审核</Button>
<DropDeleteDown>
<Menu onClick={(e) => handleMenuClick(e)}>
<Menu.Item key="1" icon={<DeleteOutlined />}>
......
......@@ -28,14 +28,6 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
columns
} = useSelfTable()
const handleMenuClick = (e) => {
switch(e.key) {
case '1': {
// 批量删除
break;
}
}
}
return <PageHeaderWrapper>
<Card>
<StandardTable
......@@ -61,25 +53,6 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
DateRangePicker: DatePicker.RangePicker,
Submit
}
},
layouts: {
order: 2,
span: 16
}
}}
formilyChilds={{
children: <Space>
<Button>批量提交审核</Button>
<DropDeleteDown>
<Menu onClick={(e) => handleMenuClick(e)}>
<Menu.Item key="1" icon={<DeleteOutlined />}>
批量删除
</Menu.Item>
</Menu>
</DropDeleteDown>
</Space>,
layouts: {
span: 8
}
}}
/>
......
......@@ -12,7 +12,7 @@ export const tableListSchema: ISchema = {
"x-component": 'SearchFilter',
'x-component-props': {
placeholder: '请输入订单编号',
align: 'flex-end',
align: 'flex-start',
},
},
[FORM_FILTER_PATH]: {
......@@ -21,7 +21,7 @@ export const tableListSchema: ISchema = {
'x-component-props': {
inline: true,
colStyle: {
marginLeft: 20
marginRight: 20
}
},
properties: {
......
......@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components'
import { PurchaseOrderOutWorkState, PurchaseOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 待提交订单
......@@ -31,12 +32,17 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
rowSelection,
rowSelectionCtl
} = useSelfTable()
const { run, loading } = useHttpRequest(PublicApi.postOrderProcurementOrderSubmitAll)
const handleBitchPush = async () => {
const canBitch = !rowSelectionCtl.selectRow.some(v => v.externalState !== PurchaseOrderOutWorkState.SUBMIT_ORDER || v.interiorState !== PurchaseOrderInsideWorkState.SUBMIT_ORDER)
if (canBitch) {
await PublicApi.postOrderProcurementOrderSubmitAll({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await run({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能提交内部状态为审核通过并且外部状态为待提交的订单')
}
......@@ -77,7 +83,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}}
formilyChilds={{
children: <Space>
<Button onClick={handleBitchPush}>批量提交</Button>
<Button onClick={handleBitchPush} loading={loading}>批量提交</Button>
</Space>,
layouts: {
span: 8
......
......@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 二级待审核订单
......@@ -30,9 +31,10 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
ref
} = useSelfTable()
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const { run, loading } = useHttpRequest(PublicApi.postOrderProcurementOrderReviewedAllTwo)
const handleSubmitBatch = async () => {
const { code } = await PublicApi.postOrderProcurementOrderReviewedAllTwo({
const { code } = await run({
ids: rowSelectionCtl.selectedRowKeys
})
......@@ -78,7 +80,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}}
formilyChilds={{
children: <Space>
<Button onClick={handleSubmitBatch}>批量提交审核</Button>
<Button onClick={handleSubmitBatch} loading={loading}>批量提交审核</Button>
</Space>,
layouts: {
span: 8
......
......@@ -10,6 +10,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components'
import { useSelfTable } from './model/useSelfTable'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 待提交审核订单
......@@ -25,11 +26,16 @@ const ReadyApprovedOrder:React.FC<ReadyApprovedOrderProps> = (props) => {
const { columns, ref } = useSelfTable()
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const { run, loading } = useHttpRequest(PublicApi.postOrderSubmittedReviewOrderOneAll)
const handleBitchPush = async () => {
if (rowSelectionCtl.selectedRowKeys.length > 0) {
await PublicApi.postOrderSubmittedReviewOrderOneAll({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await run({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
ref.current.reload()
}
} else {
message.error('请勾选要审核的订单')
}
......@@ -77,7 +83,7 @@ const ReadyApprovedOrder:React.FC<ReadyApprovedOrderProps> = (props) => {
}}
formilyChilds={{
children: <Space>
<Button onClick={handleBitchPush}>批量提交审核</Button>
<Button onClick={handleBitchPush} loading={loading}>批量提交审核</Button>
</Space>,
layouts: {
span: 8
......
......@@ -14,6 +14,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PurchaseOrderInsideWorkState, SaleOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 待归档订单
......@@ -32,6 +33,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
rowSelection,
rowSelectionCtl
} = useSelfTable()
const { run, loading } = useHttpRequest(PublicApi.postOrderSubmittedReviewOrderOneAll)
const handleSubmitBatch = async () => {
if (rowSelectionCtl.selectRow.length === 0) {
......@@ -40,8 +42,12 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}
const canBitch = !rowSelectionCtl.selectRow.some(v => v.purchaseOrderInteriorState !== SaleOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER)
if (canBitch) {
await PublicApi.postOrderSubmittedReviewOrderOneAll({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await run({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
ref.current.reload()
}
} else {
message.error('只能批量提交内部状态为审核中的订单')
}
......@@ -81,7 +87,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}}
formilyChilds={{
children: <Space>
<Button onClick={handleSubmitBatch}>批量提交审核</Button>
<Button onClick={handleSubmitBatch} loading={loading}>批量提交审核</Button>
</Space>,
layouts: {
span: 8
......
......@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 二级待审核订单
......@@ -30,11 +31,18 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
ref
} = useSelfTable()
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const { run, loading } = useHttpRequest(PublicApi.postOrderSubmittedReviewOrderTwoAll)
const handleSubmitBatch = async () => {
await PublicApi.postOrderSubmittedReviewOrderTwoAll({
const { code } = run({
ids: rowSelectionCtl.selectedRowKeys
})
if (code === 1000) {
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
ref.current.reload()
}
}
return <PageHeaderWrapper>
<Card>
......@@ -71,7 +79,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}}
formilyChilds={{
children: <Space>
<Button onClick={handleSubmitBatch}>批量提交审核</Button>
<Button onClick={handleSubmitBatch} loading={loading}>批量提交审核</Button>
</Space>,
layouts: {
span: 8
......
......@@ -83,9 +83,9 @@ const EvaluateOrder: React.FC = () => {
} = item;
return {
memberId: orderInfo.createMemberId,
roleId: orderInfo.createRoleId,
memberName: orderInfo.createMemberName || '',
memberId: orderInfo.supplyMembersId,
roleId: orderInfo.supplyMembersRoleId,
memberName: orderInfo.supplyMembersName || '',
star,
comment,
product: JSON.stringify(good),
......@@ -101,7 +101,7 @@ const EvaluateOrder: React.FC = () => {
};
});
PublicApi.postMemberCommentSupplyOrderTradeSubmit({
PublicApi.postMemberCommentConsumerOrderTradeSubmit({
commentSubmitDetailList: payload,
}).then(res => {
if (res.code === 1000) {
......@@ -173,7 +173,7 @@ const EvaluateOrder: React.FC = () => {
padding: '0 32px',
}}
>
<Descriptions.Item label="采购会员">{orderInfo?.createMemberName}</Descriptions.Item>
<Descriptions.Item label="供应会员">{orderInfo?.supplyMembersName}</Descriptions.Item>
<Descriptions.Item label="下单时间" span={2}>{orderInfo?.createTime}</Descriptions.Item>
</Descriptions>
</PageHeader>
......
......@@ -72,7 +72,7 @@ export const evaluateSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: UPLOAD_TYPE,
prefix: '/supplierEvaluation/',
prefix: '/purchaserEvaluation/',
},
beforeUpload: '{{beforeUpload}}',
accept: '.png, .jpg, .jpeg',
......
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