tplus-components-touch 3.22.16 → 3.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/dist/components/acCitySelect/CitySelect.js +541 -0
- package/dist/components/acCitySelect/CitySelect.js.map +1 -0
- package/dist/components/acCitySelect/CitySelect.less +10 -0
- package/dist/components/acCitySelect/citys.js +1270 -0
- package/dist/components/acCitySelect/citys.js.map +1 -0
- package/dist/components/acCitySelect/index.js +18 -0
- package/dist/components/acCitySelect/index.js.map +1 -0
- package/dist/components/acCitySelect/provinceData.js +40 -0
- package/dist/components/acCitySelect/provinceData.js.map +1 -0
- package/dist/components/addLog/AddLogProcessor.js +49 -0
- package/dist/components/addLog/AddLogProcessor.js.map +1 -0
- package/dist/components/addLog/OperationLogApi.js +125 -0
- package/dist/components/addLog/OperationLogApi.js.map +1 -0
- package/dist/components/autoComplete/index.js +245 -0
- package/dist/components/autoComplete/index.js.map +1 -0
- package/dist/components/autoComplete/index.less +89 -0
- package/dist/components/autoComplete/option.js +75 -0
- package/dist/components/autoComplete/option.js.map +1 -0
- package/dist/components/autoCompleteWithKeyboard/index.js +231 -0
- package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -0
- package/dist/components/autoCompleteWithKeyboard/index.less +8 -0
- package/dist/components/billSearch/api.js +465 -0
- package/dist/components/billSearch/api.js.map +1 -0
- package/dist/components/billSearch/index.js +2063 -0
- package/dist/components/billSearch/index.js.map +1 -0
- package/dist/components/billSearch/index.less +373 -0
- package/dist/components/cloudPrint/BTPrintFormatUtil.js +568 -0
- package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -0
- package/dist/components/cloudPrint/api.js +349 -0
- package/dist/components/cloudPrint/api.js.map +1 -0
- package/dist/components/cloudPrint/index.js +674 -0
- package/dist/components/cloudPrint/index.js.map +1 -0
- package/dist/components/cloudPrint/printDispatch.js +223 -0
- package/dist/components/cloudPrint/printDispatch.js.map +1 -0
- package/dist/components/commonForm/addressPicker/index.js +232 -0
- package/dist/components/commonForm/addressPicker/index.js.map +1 -0
- package/dist/components/commonForm/addressPicker/style.less +11 -0
- package/dist/components/commonForm/autoComplete/index.js +241 -0
- package/dist/components/commonForm/autoComplete/index.js.map +1 -0
- package/dist/components/commonForm/autoComplete/style.less +3 -0
- package/dist/components/commonForm/datePicker/index.js +89 -0
- package/dist/components/commonForm/datePicker/index.js.map +1 -0
- package/dist/components/commonForm/datePicker/style.less +5 -0
- package/dist/components/commonForm/formControl/index.js +143 -0
- package/dist/components/commonForm/formControl/index.js.map +1 -0
- package/dist/components/commonForm/formControl/style.less +0 -0
- package/dist/components/commonForm/index.js +225 -0
- package/dist/components/commonForm/index.js.map +1 -0
- package/dist/components/commonForm/inputNumber/index.js +272 -0
- package/dist/components/commonForm/inputNumber/index.js.map +1 -0
- package/dist/components/commonForm/inputNumber/style.less +11 -0
- package/dist/components/commonForm/radio/index.js +132 -0
- package/dist/components/commonForm/radio/index.js.map +1 -0
- package/dist/components/commonForm/radio/style.less +0 -0
- package/dist/components/commonForm/style.less +2 -0
- package/dist/components/deliverySearch/api.js +355 -0
- package/dist/components/deliverySearch/api.js.map +1 -0
- package/dist/components/deliverySearch/index.js +1214 -0
- package/dist/components/deliverySearch/index.js.map +1 -0
- package/dist/components/deliverySearch/index.less +554 -0
- package/dist/components/form/index.js +310 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/hardwareAPI/index.js +181 -0
- package/dist/components/hardwareAPI/index.js.map +1 -0
- package/dist/components/hotKey/config.js +306 -0
- package/dist/components/hotKey/config.js.map +1 -0
- package/dist/components/hotKey/hotKeyModal.js +479 -0
- package/dist/components/hotKey/hotKeyModal.js.map +1 -0
- package/dist/components/hotKey/index.js +785 -0
- package/dist/components/hotKey/index.js.map +1 -0
- package/dist/components/hotKey/localConfig.js +1021 -0
- package/dist/components/hotKey/localConfig.js.map +1 -0
- package/dist/components/hotKey/style.less +96 -0
- package/dist/components/hotKey/utils.js +135 -0
- package/dist/components/hotKey/utils.js.map +1 -0
- package/dist/components/input/index.js +251 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/style.less +99 -0
- package/dist/components/input/tplusInput/index.js +81 -0
- package/dist/components/input/tplusInput/index.js.map +1 -0
- package/dist/components/input/tplusInput/inputContent.js +128 -0
- package/dist/components/input/tplusInput/inputContent.js.map +1 -0
- package/dist/components/input/tplusInput/inputs.js +151 -0
- package/dist/components/input/tplusInput/inputs.js.map +1 -0
- package/dist/components/input/tplusInput/style.less +132 -0
- package/dist/components/input/utils/index.js +26 -0
- package/dist/components/input/utils/index.js.map +1 -0
- package/dist/components/inventorySearch/api.js +214 -0
- package/dist/components/inventorySearch/api.js.map +1 -0
- package/dist/components/inventorySearch/index.js +303 -0
- package/dist/components/inventorySearch/index.js.map +1 -0
- package/dist/components/inventorySearch/index.less +120 -0
- package/dist/components/inventorySearch/store.js +344 -0
- package/dist/components/inventorySearch/store.js.map +1 -0
- package/dist/components/inventorySearch/tab.js +258 -0
- package/dist/components/inventorySearch/tab.js.map +1 -0
- package/dist/components/keyboard/index.js +255 -0
- package/dist/components/keyboard/index.js.map +1 -0
- package/dist/components/keyboard/index.less +470 -0
- package/dist/components/keyboard/letterKeyboard.js +210 -0
- package/dist/components/keyboard/letterKeyboard.js.map +1 -0
- package/dist/components/keyboard/numKeyboard.js +459 -0
- package/dist/components/keyboard/numKeyboard.js.map +1 -0
- package/dist/components/keyboard/numKeyboardScan.js +195 -0
- package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
- package/dist/components/keyboard/numberButton_input.js +303 -0
- package/dist/components/keyboard/numberButton_input.js.map +1 -0
- package/dist/components/keyboard/numkeyboardPassword.js +460 -0
- package/dist/components/keyboard/numkeyboardPassword.js.map +1 -0
- package/dist/components/keyboard/onlyKeyboard.js +90 -0
- package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton.js +187 -0
- package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton2.js +235 -0
- package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton2.less +162 -0
- package/dist/components/keyboard/onlyNumberButton.js +128 -0
- package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
- package/dist/components/keyboard/onlyNumberButton2.js +115 -0
- package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
- package/dist/components/keyboard/textKeyboard.js +50 -0
- package/dist/components/keyboard/textKeyboard.js.map +1 -0
- package/dist/components/layout/hamburger.js +29 -0
- package/dist/components/layout/hamburger.js.map +1 -0
- package/dist/components/layout/index.js +31 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/layout/layout.js +182 -0
- package/dist/components/layout/layout.js.map +1 -0
- package/dist/components/layout/sider.js +165 -0
- package/dist/components/layout/sider.js.map +1 -0
- package/dist/components/layout/style.less +82 -0
- package/dist/components/loading/index.js +198 -0
- package/dist/components/loading/index.js.map +1 -0
- package/dist/components/loading/loadingContent.js +176 -0
- package/dist/components/loading/loadingContent.js.map +1 -0
- package/dist/components/loading/style.less +61 -0
- package/dist/components/loading/utils.js +29 -0
- package/dist/components/loading/utils.js.map +1 -0
- package/dist/components/message/index.js +308 -0
- package/dist/components/message/index.js.map +1 -0
- package/dist/components/message/index.less +101 -0
- package/dist/components/modal/index.js +93 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/index.less +19 -0
- package/dist/components/modalVertical/index.js +325 -0
- package/dist/components/modalVertical/index.js.map +1 -0
- package/dist/components/modalVertical/style.less +60 -0
- package/dist/components/modalWraper/index.js +470 -0
- package/dist/components/modalWraper/index.js.map +1 -0
- package/dist/components/modalWraper/style.less +257 -0
- package/dist/components/modalWraper/utils.js +48 -0
- package/dist/components/modalWraper/utils.js.map +1 -0
- package/dist/components/notification/index.js +119 -0
- package/dist/components/notification/index.js.map +1 -0
- package/dist/components/notification/index.less +52 -0
- package/dist/components/overflowTip/index.js +269 -0
- package/dist/components/overflowTip/index.js.map +1 -0
- package/dist/components/overflowTip/style.less +66 -0
- package/dist/components/page/index.js +49 -0
- package/dist/components/page/index.js.map +1 -0
- package/dist/components/page/index.less +22 -0
- package/dist/components/product/detail.js +148 -0
- package/dist/components/product/detail.js.map +1 -0
- package/dist/components/product/getCard.js +145 -0
- package/dist/components/product/getCard.js.map +1 -0
- package/dist/components/product/index.less +128 -0
- package/dist/components/progressState/EmptyAndErrorView.js +143 -0
- package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
- package/dist/components/progressState/ProgressState.js +157 -0
- package/dist/components/progressState/ProgressState.js.map +1 -0
- package/dist/components/progressState/index.js +14 -0
- package/dist/components/progressState/index.js.map +1 -0
- package/dist/components/progressState/style.less +65 -0
- package/dist/components/scan/index.js +219 -0
- package/dist/components/scan/index.js.map +1 -0
- package/dist/components/scan/index.less +34 -0
- package/dist/components/select/index.js +28 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/index.less +12 -0
- package/dist/components/settlement/asyncModal.js +204 -0
- package/dist/components/settlement/asyncModal.js.map +1 -0
- package/dist/components/settlement/index.js +16 -0
- package/dist/components/settlement/index.js.map +1 -0
- package/dist/components/settlement/prototypeTable/index.js +349 -0
- package/dist/components/settlement/prototypeTable/index.js.map +1 -0
- package/dist/components/settlement/prototypeTable/style.less +59 -0
- package/dist/components/settlement/prototypeTable/utils.js +14 -0
- package/dist/components/settlement/prototypeTable/utils.js.map +1 -0
- package/dist/components/settlement/settlement.js +5471 -0
- package/dist/components/settlement/settlement.js.map +1 -0
- package/dist/components/settlement/settlement.less +1594 -0
- package/dist/components/settlement/settlementStore.js +2101 -0
- package/dist/components/settlement/settlementStore.js.map +1 -0
- package/dist/components/settlement/utils.js +249 -0
- package/dist/components/settlement/utils.js.map +1 -0
- package/dist/components/socket/index.js +220 -0
- package/dist/components/socket/index.js.map +1 -0
- package/dist/components/spin/index.js +95 -0
- package/dist/components/spin/index.js.map +1 -0
- package/dist/components/spin/spin-style.less +436 -0
- package/dist/components/test/index.js +330 -0
- package/dist/components/test/index.js.map +1 -0
- package/dist/components/ticon/iconfont/demo.css +539 -0
- package/dist/components/ticon/iconfont/demo_index.html +5202 -0
- package/dist/components/ticon/iconfont/iconfont.css +887 -0
- package/dist/components/ticon/iconfont/iconfont.eot +0 -0
- package/dist/components/ticon/iconfont/iconfont.js +35 -0
- package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
- package/dist/components/ticon/iconfont/iconfont.json +1535 -0
- package/dist/components/ticon/iconfont/iconfont.svg +593 -0
- package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
- package/dist/components/ticon/iconfont/iconfont.woff +0 -0
- package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
- package/dist/components/ticon/index.js +60 -0
- package/dist/components/ticon/index.js.map +1 -0
- package/dist/components/touchScroll/index.js +182 -0
- package/dist/components/touchScroll/index.js.map +1 -0
- package/dist/components/touchTable/AuthProcess.js +42 -0
- package/dist/components/touchTable/AuthProcess.js.map +1 -0
- package/dist/components/touchTable/generateWater.js +59 -0
- package/dist/components/touchTable/generateWater.js.map +1 -0
- package/dist/components/touchTable/index.js +1109 -0
- package/dist/components/touchTable/index.js.map +1 -0
- package/dist/components/touchTable/index.less +370 -0
- package/dist/components/touchTable/utils.js +14 -0
- package/dist/components/touchTable/utils.js.map +1 -0
- package/dist/demo/PopOverDemo.js +126 -0
- package/dist/demo/PopOverDemo.js.map +1 -0
- package/dist/index.js +249 -0
- package/dist/index.js.map +1 -0
- package/dist/util/tools.js +202 -0
- package/dist/util/tools.js.map +1 -0
- package/locales/zh/tplus-components-touch.json +1 -1
- package/locales/zh-CN/tplus-components-touch.json +1 -1
- package/mocks/memberInfo.json +79 -79
- package/package.json +3 -3
- package/tsconfig.json +26 -26
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/billSearch/index.js"],"names":["SELECT_LIST","VoucherState","Navigator","DeliveryStatus","DistributionMode","DataSource","RetailType","VoucherType","Cashier","RangePicker","Option","BillSearch","props","initDetailColumn","detailColumn","isCheckbox","checkIndexs","state","selectedIndexList","isPickupCard","columns","fixedIndex","obj","title","width","fixed","render","text","record","index","checked","indexOf","handleCheckBox","push","map","v","OriginalTitle","dataIndex","FieldName","key","Width","className","Precision","IsFormat","ellipsis","textAlign","val","renderText","billSearchApi","formatNumber","tools","dateFormat","handleSettleColumn","modalData","column","forEach","SettleName","handleSettleResult","settleResult","result","Amount","getBillList","status","type","setState","loading","term","getSearchOption","searchRetailList","TotalTaxAmount","TotalCount","TotalPage","PageSize","CurrentPage","Data","console","log","Message","error","tableDataList","currentIndex","value1","value2","value3","value4","value5","value6","option","StartVoucherDate","EndVoucherDate","Key","KeyType","Inventory","Member","SerialNumber","StartAdmount","EndAdmount","previous","next","arr1","arr2","selectedList","detailColumnMeta","showModalData","item","ix","length","arr11","arr12","arr21","arr22","i","onDateChange","dateArray","date1","date2","Date","handleChange","value","Array","isArray","join","search","Keyboard","close","onKeyup","e","keyCode","onChange","target","onFocus","ty","input","select","open","getNewValue","onBlur","parseFloat","isNaN","substring","amountMaxLength","modalCancel","isLook","show","modalOk","rowPrintClick","storeData","getRefundConsumer","ID","successful","success","warn","errorMsg","handleRefundClick","handleRefundEvent","closeParentPage","refundInventoryDto","noSerialNumberList","filter","RetailDetailDTO","IsSerialNumber","infoList","PromotionTypeStr","PromotionIdStr","PromotionCode","that","ModalWraper","confirm","content","cancelable","onOk","onCancel","arr","RetailDetails","rowShowClick","rowRefundDetail","rowSearchDetail","rowRefundClick","getRetailDetail","Code","getRetailDetailInfo","result1","PaymentData","themode","JSON","parse","detailSettleColumn","showSettleModalData","HeadFieldDesign","getOrigRetailData","list","RetailDTO","DetailData","initDetailData","clearValue","emptyFunc","height","info","buttonVisible","changeSearchFilterItemShow","searchFilterItemShow","onClickAll","date","_date","_isValid","selectList","listColumn","VoucherCode","IdStore","idStore","platform","isNewRetailBCPos","getData","getPOSSearchRetailListDesigns","getRetailSearchItemList","selectListData","ItemType","Items","getPOSSearchDesigns","IdmarketingOrgan","POSCode","VoucherDate","getPOSOrigReturnListInitData","DetailColumn","ListColumn","num","parseInt","cursor","other","bind","endTime","format","startTime","subtract","forceUpdate","retailDTO","detailData","detail","detailId","find","loadingIcon","isUUser","rownumber","check","isShowCheck","isChecked","checkedCount","pickupChecked","checkBoxEvent","isAll","isRefund","isEnableMinMall","isCommerce","isSpecialQuery","line","billTitleHeight","otherHeight","billContentHeight","isEnableMember","isEnableSerialNumber","preventDefault","input3","input4","input6","input5","Id","Name","input1","input2","marginRight","split","spinning","indicator","x","y","IsShow","col","it","React","Component"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * 单据查询\r\n */\r\n\r\nimport React from 'react';\r\nimport { Page, Ticon, Keyboard, ModalWraper, ProgressState, Message } from '../../index';\r\nimport { Table, Radio, Checkbox, Select, DatePicker, Button, Input } from 'antd';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { Action } from 'mutants-appfx'\r\nimport moment from \"moment\";\r\nimport tools from '../../util/tools';\r\nimport billSearchApi from './api';\r\nimport './index.less';\r\nimport { platform } from 'mutants-util';\r\nimport _find from 'lodash/find';\r\n\r\n\r\nconst SELECT_LIST = {\r\n VoucherState:[],\r\n Navigator:[],\r\n DeliveryStatus:[],\r\n DistributionMode:[],\r\n DataSource:[],\r\n RetailType:[],\r\n VoucherType:[],\r\n Cashier:[],\r\n}\r\nconst { RangePicker } = DatePicker;\r\n\r\nconst Option = Select.Option;\r\n\r\nexport default class BillSearch extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentIndex: 1,\r\n value1: '',\r\n value2: '',\r\n value3: '',\r\n value4: '',\r\n value5: '',\r\n value6: '',\r\n tableDataList: [],\r\n show: false,\r\n isLook: true, //区别查看、退货\r\n selectList: SELECT_LIST, // 收银员,业务状态,单据状态,导购员的下拉选项\r\n // navigatorList: [], // 导购的下拉\r\n record: {}, // 打印小票,用来记录 弹出框 弹出信息\r\n showModalData: [{}], // 弹出框显示的信息\r\n showSettleModalData: [{}],\r\n detailColumn: [], // 弹出框 的栏目信息\r\n detailColumnMeta: [],// 弹出框 的api取出来的栏目信息\r\n detailSettleColumn: [],\r\n selectedList: [], // 弹出框 checkbox选中的值集合。\r\n selectedIndexList: [],// 弹出框 checkbox选中的索引集合。\r\n refundInventoryDto: '', //退货相关信息\r\n listColumn: [],\r\n HeadFieldDesign: [],\r\n loading: false,\r\n option: {\r\n StartVoucherDate: '', // 单据开始日期\r\n EndVoucherDate: '', // 单据结束日期\r\n VoucherCode: '', //\r\n VoucherType: '', // 据业务类型,下拉选项,返回对应业务类型Id\r\n VoucherState: '', // 单据状态,下拉选项,返回枚举Id\r\n Navigator: '', // 导购,多选,返回导购Id,多个用英文逗号隔开,如:1,2,3,4\r\n Cashier: '', // 收银员,多选,返回收银员Id,多个用英文逗号隔开,如:1,2,3,4\r\n DataSource: '', // 数据来源 ,下拉选项,返回枚举Id\r\n DistributionMode: '', // 配送方式 ,下拉选项,返回枚举Id\r\n DeliveryStatus: '', // 发货状态 ,下拉选项,返回枚举Id\r\n RetailType:'',\r\n IdStore: props.idStore || ''\r\n },\r\n searchFilterItemShow: false,\r\n TotalTaxAmount: 0, // 合计\r\n isPickupCard: false\r\n }\r\n let { isNewRetailBCPos } = platform || {};\r\n this.isNewRetailBCPos = !!isNewRetailBCPos;\r\n }\r\n\r\n async componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n async getData () {\r\n let that = this;\r\n const { idStore, type, storeData } = this.props;\r\n let listColumn = await billSearchApi.getPOSSearchRetailListDesigns();\r\n let selectListData = await billSearchApi.getRetailSearchItemList(idStore);\r\n let selectList = SELECT_LIST;\r\n selectListData && selectListData.forEach((item)=>{\r\n selectList[item.ItemType] = item.Items;\r\n })\r\n console.log(listColumn, selectList, 'select-----');\r\n let { HeadFieldDesign, list: detailColumn } = await billSearchApi.getPOSSearchDesigns();\r\n let value3 = '';\r\n if (type === 2) { //退货\r\n const { IdmarketingOrgan, POSCode, VoucherDate } = storeData;\r\n let result = await billSearchApi.getPOSOrigReturnListInitData({ IdmarketingOrgan, POSCode, VoucherDate });\r\n const { Code, DetailColumn, ListColumn } = result;\r\n value3 = Code;\r\n listColumn = ListColumn;\r\n HeadFieldDesign = DetailColumn.HeadFieldDesign;\r\n detailColumn = DetailColumn.list;\r\n }\r\n let detailColumnMeta = detailColumn;\r\n detailColumn = this.initDetailColumn(detailColumn, false);\r\n listColumn = listColumn.map(v => {\r\n let obj = {\r\n title: v.OriginalTitle,\r\n dataIndex: v.FieldName,\r\n key: v.FieldName,\r\n width: v.Width || 100,\r\n className: \"rowClassName\",\r\n Precision: v.Precision,\r\n IsFormat: v.IsFormat,\r\n ellipsis: true,\r\n }\r\n if (v.FieldName == 'VoucherDate' || v.FieldName == 'BusiTypeName') {\r\n obj.width = 110;\r\n }\r\n if (v.FieldName == 'Code') {\r\n obj.width = 210;\r\n obj.className = 'rowClassName rtl';\r\n obj.render = (text) => {\r\n let num = parseInt(obj.width / 8) - 2;\r\n let renderText = text.length > num ? '...' + text.substring(text.length - num) : text;\r\n return <span style={{ cursor: 'default' }} title={text}>{renderText}</span>\r\n }\r\n }\r\n if (v.Precision && v.IsFormat) {\r\n obj.render = (text, record, index) => {\r\n let val = (text || text === 0) ? text : '';\r\n let renderText = billSearchApi.formatNumber(val, v.Precision);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n if (v.FieldName == 'VoucherDate' || v.FieldName == 'ProductionDate' || v.FieldName == 'ExpiryDate') {\r\n obj.render = (text, record, index) => {\r\n let renderText = tools.dateFormat(text);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n return obj;\r\n })\r\n listColumn.push({\r\n title: \"操作\",\r\n dataIndex: \"i\",\r\n key: \"i\",\r\n width: 100,\r\n className: 'text-center',\r\n fixed: \"right\",\r\n render(text, record, index) {\r\n if(record.other) {\r\n return null;\r\n }\r\n return (\r\n <div className='bill-content-operation' title={text} >\r\n <a href=\"javascript:;\" onClick={that.rowShowClick.bind(that, record)} title='查看'>查看</a>\r\n {\r\n type === 2 ? <a href=\"javascript:;\" onClick={that.rowRefundClick.bind(that, record)} title='退货'>退货</a> : <a href=\"javascript:;\" onClick={that.rowPrintClick.bind(that, record)} title='打小票'>打小票</a>\r\n }\r\n </div>\r\n )\r\n }\r\n })\r\n let endTime = moment().format('l');\r\n let startTime = moment().format('l');\r\n if (type === 2) startTime = moment().subtract(7, 'days').format('YYYY/MM/DD');\r\n this.setState({\r\n value3,\r\n HeadFieldDesign,\r\n detailColumn,\r\n detailColumnMeta,\r\n selectList,\r\n listColumn,\r\n option: { ...this.state.option, StartVoucherDate: startTime, EndVoucherDate: endTime }\r\n }, async () => {\r\n if (type !== 2) { //原单退货不执行此逻辑\r\n await this.getBillList(null);\r\n this.forceUpdate();\r\n }\r\n })\r\n }\r\n\r\n // 获取弹出框表格列信息\r\n initDetailColumn = (detailColumn, isCheckbox, checkIndexs) => {\r\n let { selectedIndexList, isPickupCard } = this.state;\r\n selectedIndexList = checkIndexs ? checkIndexs : selectedIndexList;\r\n let columns = [];\r\n let fixedIndex = 0;\r\n // 退货增加checkbox\r\n if (isCheckbox === true) {\r\n let obj = {\r\n title: '',\r\n width: 40,\r\n fixed: 'left'\r\n }\r\n obj.render = (text, record, index) => {\r\n let checked = selectedIndexList.indexOf(index) > -1;\r\n if (isPickupCard) {\r\n return (\r\n <Checkbox checked={true} />\r\n )\r\n } else {\r\n return <div onClick={() => this.handleCheckBox(1, !checked, record, index)}><Checkbox checked={checked} onChange={() => this.handleCheckBox(1, !checked, record, index)} /></div>\r\n }\r\n }\r\n columns.push(obj)\r\n }\r\n detailColumn.map((v, index) => {\r\n let obj = {\r\n title: v.OriginalTitle,\r\n dataIndex: v.FieldName,\r\n key: v.FieldName,\r\n width: v.Width || 120,\r\n className: \"rowClassName\",\r\n Precision: v.Precision,\r\n IsFormat: v.IsFormat,\r\n ellipsis: true,\r\n }\r\n if (v.FieldName == 'InventoryName') {\r\n fixedIndex = index;\r\n obj.fixed = 'left';\r\n obj.width = 120;\r\n if (isCheckbox === true) {\r\n obj.render = (text, record, index) => {\r\n let checked = selectedIndexList.indexOf(index) > -1;\r\n if (isPickupCard) {\r\n return <div className='columnTitle'>{text}</div>\r\n } else {\r\n return <div className='columnTitle' onClick={() => this.handleCheckBox(1, !checked, record, index)}>{text}</div>\r\n }\r\n }\r\n } else {\r\n obj.render = (text) => {\r\n return <div className='columnTitle'>{text}</div>\r\n }\r\n }\r\n }\r\n if (['Quantity', 'RetailPrice', 'TaxPrice', 'TaxAmount', 'Detaildiscountamount', 'Quantity2', 'MemberPrice', 'BookingAmount', 'BookingQuantity'].indexOf(v.FieldName) != -1) {\r\n obj.textAlign = 'right';\r\n }\r\n if (v.Precision && v.IsFormat) {\r\n obj.render = (text, record, index) => {\r\n let val = (text || text === 0) ? text : '';\r\n let renderText = billSearchApi.formatNumber(val, v.Precision);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n if (v.FieldName == 'VoucherDate' || v.FieldName == 'ProductionDate' || v.FieldName == 'ExpiryDate') {\r\n obj.render = (text, record, index) => {\r\n let renderText = tools.dateFormat(text);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n columns.push(obj);\r\n })\r\n if (isCheckbox === true){\r\n [columns[1],columns[fixedIndex+1]] = [columns[fixedIndex+1],columns[1]];\r\n } else {\r\n [columns[0],columns[fixedIndex]] = [columns[fixedIndex],columns[0]];\r\n }\r\n return columns\r\n }\r\n\r\n handleSettleColumn = ( modalData ) => {\r\n let column = [{ title: \"结算方式\", dataIndex: \"Amount\", key: \"Amount\", textAlign: 'center'}]\r\n // let columnWidth = modalData.length < 4? 570/modalData.length : 142.5\r\n modalData.forEach((v, index) => {\r\n let obj = {\r\n title: v.SettleName,\r\n dataIndex: 'Amount' + index,\r\n key: 'Amount' + index,\r\n textAlign: 'center',\r\n ellipsis: true,\r\n render: (text, record, index) => {\r\n let renderText = billSearchApi.formatNumber(text, 2);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n column.push(obj)\r\n })\r\n return column\r\n }\r\n\r\n handleSettleResult = ( settleResult ) => {\r\n let result = [{ Amount: \"金额\"}]\r\n settleResult.forEach((v, index) => {\r\n result[0]['Amount' + index] = v.Amount\r\n })\r\n return result\r\n }\r\n\r\n getBillList = async (status) => {\r\n const { type } = this.props;\r\n this.setState({ loading: true })\r\n const term = this.getSearchOption();\r\n let {TotalTaxAmount, TotalCount, TotalPage, PageSize, CurrentPage, Data } = await billSearchApi.searchRetailList(term);\r\n console.log(TotalCount, '-------------------------')\r\n if (!TotalCount || TotalCount == 0) {\r\n if (type === 2) {\r\n Message.error('单据不存在或无可退货商品!');\r\n } else {\r\n Message.error('无单据信息');\r\n }\r\n }\r\n this.setState({\r\n TotalTaxAmount,\r\n tableDataList: Data,\r\n TotalPage,\r\n loading: false,\r\n currentIndex: status ? this.state.currentIndex : 1\r\n })\r\n }\r\n\r\n getSearchOption = () => {\r\n const { type } = this.props;\r\n let { currentIndex, value1, value2, value3, value4, value5, value6,option } = this.state\r\n return {\r\n ...{\r\n CurrentPage: currentIndex, // int 当前页,默认1\r\n PageSize: 15, // int 页大小,默认10\r\n StartVoucherDate: '', // datetime 单据开始日期\r\n EndVoucherDate: '', // datetime 单据结束日期\r\n Key: value3, // 单据编号,支持模糊查询\r\n KeyType: type === 2 ? '1' : '0', //区分原单退货与单据查询\r\n Inventory: value4, //string 商品名称(条形码、助记码、商品编码、商品名称)\r\n Member: value5, //string 会员(会员卡号、手机号、会员名称)\r\n SerialNumber: value6,\r\n VoucherType: '', // int 单据业务类型,下拉单选,返回对应业务类型Id\r\n VoucherState: '', // int 单据状态,下拉单选,返回枚举Id\r\n Navigator: '', // string 导购,多选,返回导购Id,多个用英文逗号隔开,如:1,2,3,4\r\n Cashier: '', // string 收银员,多选,返回收银员Id,多个用英文逗号隔开,如:1,2,3,4\r\n StartAdmount: value1, // decimal 起始金额\r\n EndAdmount: value2 // decimal 结束金额\r\n }, ...option\r\n }\r\n }\r\n\r\n previous = () => {\r\n this.setState({\r\n currentIndex: this.state.currentIndex - 1\r\n }, () => {\r\n this.getBillList('pageChange');\r\n })\r\n }\r\n\r\n next = () => {\r\n this.setState({\r\n currentIndex: this.state.currentIndex + 1\r\n }, () => {\r\n this.getBillList('pageChange');\r\n })\r\n }\r\n\r\n // 处理checkbox选中\r\n handleCheckBox = (state, checked, record, index) => {\r\n let arr1 = [], arr2 = [];\r\n let { selectedList, selectedIndexList, detailColumnMeta,showModalData } = this.state;\r\n switch (state) {\r\n case 0: //全选\r\n if (checked === true) {\r\n showModalData.map((item, ix) => { arr1.push(ix); arr2.push(item); })\r\n }\r\n break;\r\n case 1: //单选\r\n if (checked === true) {\r\n if (selectedIndexList.length > 0) {\r\n if (selectedIndexList.indexOf(index) == -1) {\r\n let arr11 = [], arr12 = [], arr21 = [], arr22 = []\r\n for (let i = 0; i < selectedIndexList.length; i++) {\r\n let item = selectedIndexList[i];\r\n if (index > item) {\r\n arr11.push(selectedIndexList[i])\r\n arr12.push(selectedList[i])\r\n } else {\r\n arr21.push(selectedIndexList[i])\r\n arr22.push(selectedList[i])\r\n }\r\n }\r\n arr1 = [...arr11, index, ...arr21];\r\n arr2 = [...arr12, record, ...arr22];\r\n }\r\n } else {\r\n arr1.push(index);\r\n arr2.push(record);\r\n }\r\n } else {\r\n if (selectedIndexList.indexOf(index) > -1) {\r\n selectedIndexList.map((item, ix) => {\r\n if (item !== index) {\r\n arr1.push(selectedIndexList[ix]);\r\n arr2.push(selectedList[ix])\r\n }\r\n })\r\n }\r\n }\r\n break;\r\n }\r\n console.log(arr1, 'arr1------')\r\n let detailColumn = this.initDetailColumn(detailColumnMeta, true, arr1);\r\n this.setState({ detailColumn: detailColumn, selectedList: arr2, selectedIndexList: arr1 })\r\n }\r\n\r\n onDateChange = (dateArray) => {\r\n console.log('dateArray => ', dateArray);\r\n let date1, date2;\r\n if (!dateArray || dateArray.length == 0) {\r\n console.log('没有传入dateArray');\r\n date1 = date2 = '';\r\n } else {\r\n date1 = tools.dateFormat(new Date(dateArray[0]), 'yyyy-MM-dd')\r\n date2 = tools.dateFormat(new Date(dateArray[1]), 'yyyy-MM-dd')\r\n }\r\n this.setState({\r\n option: { ...this.state.option, ...{ StartVoucherDate: date1, EndVoucherDate: date2 } }\r\n })\r\n }\r\n handleChange = (type, value) => {\r\n this.setState({\r\n option: { ...this.state.option, ...{ [type]: Array.isArray(value) ? value.join(',') : value } }\r\n })\r\n };\r\n\r\n search = () => {\r\n this.setState({\r\n currentIndex: 1\r\n }, () => {\r\n this.getBillList(null);\r\n Keyboard.close();\r\n })\r\n }\r\n\r\n onKeyup = (e) => {\r\n if (e.keyCode == 13) {\r\n this.search();\r\n }\r\n }\r\n\r\n onChange = (type, e) => {\r\n this.setState({\r\n ['value' + type]: e.target.value\r\n })\r\n }\r\n\r\n onFocus = (type) => {\r\n this.type = type;\r\n if (this.props.type && this.props.type != 2) {\r\n this['input' + ty].input.select()\r\n }\r\n Keyboard.open(v => {\r\n this.setState({\r\n ['value' + this.type]: Keyboard.getNewValue(this['input' + this.type].input, this.state['value' + this.type], v)\r\n })\r\n }, () => {\r\n this.search();\r\n Keyboard.close();\r\n })()\r\n }\r\n\r\n onBlur = (type) => {\r\n let value = parseFloat(this.state['value' + type]);\r\n this.setState({\r\n ['value' + type]: isNaN(value) ? '' : parseFloat((value + '').substring(0, this.props.amountMaxLength || 12))\r\n })\r\n }\r\n\r\n modalCancel = () => {\r\n const { type } = this.props;\r\n const { isLook } = this.state;\r\n if (type === 2 && isLook === false) {\r\n this.setState({ show: false, selectedList: [], selectedIndexList: [] })\r\n } else {\r\n this.setState({ show: false })\r\n }\r\n }\r\n\r\n // 弹框的确认事件\r\n modalOk = async () => {\r\n const { type, rowPrintClick, storeData } = this.props;\r\n const { record, isLook, isPickupCard } = this.state;\r\n if (type === 2 && isLook === false) { //退货\r\n if (isPickupCard) {\r\n let result = await billSearchApi.getRefundConsumer(record.ID, storeData);\r\n if (result.successful) {\r\n this.setState({\r\n show: false\r\n })\r\n Message.success('退货成功');\r\n const term = this.getSearchOption();\r\n let { Data } = await billSearchApi.searchRetailList(term);\r\n this.setState({\r\n tableDataList: Data\r\n })\r\n } else {\r\n Message.warn(result.errorMsg);\r\n }\r\n } else {\r\n this.handleRefundClick()\r\n }\r\n } else { //打印小票\r\n rowPrintClick && rowPrintClick(record)\r\n }\r\n }\r\n\r\n // 执行退货逻辑\r\n handleRefundClick = (status) => {\r\n let { handleRefundEvent, closeParentPage } = this.props;\r\n let { selectedList, refundInventoryDto, isPickupCard, showModalData } = this.state;\r\n if (!isPickupCard && selectedList && selectedList.length == 0) {\r\n Message.warn('至少选择一个退货信息');\r\n return;\r\n }\r\n let noSerialNumberList = selectedList.filter(item => {\r\n let obj = item.RetailDetailDTO;\r\n //商品是序列号但原单未录\r\n if (obj.Inventory && obj.Inventory.IsSerialNumber && !obj.SerialNumber) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n if(noSerialNumberList && noSerialNumberList.length > 0){\r\n Message.warn('原单中的序列号商品缺少序列号,请使用非原单退货!');\r\n return;\r\n }\r\n let infoList = selectedList.filter(item => {\r\n let obj = item.RetailDetailDTO;\r\n if (obj.PromotionTypeStr || obj.PromotionIdStr || obj.PromotionCode) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n // let infoStatus = JSON.getCellValue(refundInventoryDto, \"HasPromotionUsed\");\r\n if (infoList && infoList.length > 0 && !status) {//如果存在促销优惠商品,则执行确认逻辑。\r\n let that = this;\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: \"温馨提示\",\r\n content: '存在促销活动优惠的商品,是否确认退货?',\r\n cancelable: false,\r\n onOk() {\r\n that.handleRefundClick(true)\r\n },\r\n onCancel() { }\r\n })\r\n return;\r\n }\r\n let arr = [];\r\n isPickupCard ? showModalData.map(item => { arr.push(item.RetailDetailDTO) }) : selectedList.map(item => { arr.push(item.RetailDetailDTO) })\r\n refundInventoryDto.RetailDetails = arr;\r\n handleRefundEvent && handleRefundEvent(refundInventoryDto);\r\n this.setState({ show: false, selectedList: [], selectedIndexList: [] })\r\n closeParentPage && closeParentPage();\r\n }\r\n\r\n // 打开查看页面\r\n rowShowClick = async (record) => {\r\n let { type } = this.props;\r\n if (type === 2) { //退货\r\n this.rowRefundDetail(record, true)\r\n } else {\r\n this.rowSearchDetail(record);\r\n }\r\n }\r\n\r\n // 执行打印小票\r\n rowPrintClick = (record) => {\r\n this.props.rowPrintClick && this.props.rowPrintClick(record);\r\n }\r\n\r\n // 打开退货页面\r\n rowRefundClick = async (record) => {\r\n this.rowRefundDetail(record, false)\r\n }\r\n\r\n //单据查询(查看)\r\n rowSearchDetail = async (record) => {\r\n console.log('单据明细:', record)\r\n let result = await billSearchApi.getRetailDetail(record.Code, 0);\r\n let result1 = await billSearchApi.getRetailDetailInfo(record.Code)\r\n let { PaymentData } = result1\r\n let { detailColumnMeta } = this.state;\r\n const themode=_find(PaymentData,{'SettleCode':\"PICKUPCARD\"});\r\n this.setState({\r\n isPickupCard: themode ? true : false\r\n })\r\n let detailColumn = this.initDetailColumn(detailColumnMeta, false);\r\n PaymentData = typeof PaymentData === 'string' ? JSON.parse(PaymentData) : PaymentData;\r\n let detailSettleColumn = this.handleSettleColumn(PaymentData)\r\n let settleResult = this.handleSettleResult(PaymentData)\r\n this.setState({\r\n showModalData: result,\r\n showSettleModalData: settleResult,\r\n detailSettleColumn: detailSettleColumn,\r\n record: record,\r\n show: true,\r\n isLook: true,\r\n detailColumn: detailColumn\r\n })\r\n }\r\n\r\n //原单退货(查看、退货)\r\n rowRefundDetail = async (record, isLook) => {\r\n try {\r\n console.log('单据明细(退货):', record);\r\n this.setState({ loading: true });\r\n let { HeadFieldDesign, detailColumnMeta } = this.state;\r\n let result = await billSearchApi.getOrigRetailData(record.ID, { HeadFieldDesign: HeadFieldDesign, list: detailColumnMeta });\r\n let result1 = await billSearchApi.getRetailDetailInfo(record.Code)\r\n let { PaymentData } = result1\r\n PaymentData = typeof PaymentData === 'string' ? JSON.parse(PaymentData) : PaymentData;\r\n let detailSettleColumn = this.handleSettleColumn(PaymentData)\r\n let settleResult = this.handleSettleResult(PaymentData)\r\n let { RetailDTO, DetailData } = result;\r\n RetailDTO = typeof RetailDTO === 'string' ? JSON.parse(RetailDTO) : RetailDTO;\r\n DetailData = typeof DetailData === 'string' ? JSON.parse(DetailData) : DetailData;\r\n this.initDetailData(RetailDTO, DetailData);\r\n const themode=_find(PaymentData,{'SettleCode':\"PICKUPCARD\"});\r\n this.setState({\r\n isPickupCard: themode ? true : false\r\n })\r\n let detailColumn = this.initDetailColumn(detailColumnMeta, !isLook);\r\n this.setState({\r\n refundInventoryDto: RetailDTO,\r\n showModalData: DetailData,\r\n showSettleModalData: settleResult,\r\n detailSettleColumn: detailSettleColumn,\r\n record: record,\r\n show: true,\r\n isLook: isLook,\r\n detailColumn: detailColumn,\r\n loading: false,\r\n })\r\n } catch (ex) {\r\n this.setState({ loading: false })\r\n }\r\n }\r\n /**\r\n * 初始化数据\r\n * @param {*} retailDTO\r\n * @param {*} detailData\r\n */\r\n initDetailData(retailDTO,detailData)\r\n {\r\n if (!retailDTO) {\r\n return;\r\n }\r\n if (!detailData) {\r\n return;\r\n }\r\n for (let index = 0; index < detailData.length; index++) {\r\n const detail = detailData[index];\r\n let detailId=detail.detailId;\r\n detailData[index].RetailDetailDTO = retailDTO.RetailDetails.find(detail => detail.ID == detailId);\r\n }\r\n }\r\n clearValue = (type) => {\r\n this.setState({\r\n [type]: ''\r\n })\r\n }\r\n emptyFunc = () => {\r\n return <ProgressState\r\n state={\"empty\"}\r\n stateCommonStyle={{ height: \"100%\" }}\r\n empty={{ info: '暂无数据~~', buttonVisible: false }} />\r\n }\r\n changeSearchFilterItemShow = () => {\r\n this.setState({\r\n searchFilterItemShow: !this.state.searchFilterItemShow\r\n })\r\n }\r\n onClickAll = (type) => {\r\n if (type == 'date') { // 清空日期\r\n this.setState({\r\n option: {\r\n ...this.state.option,\r\n StartVoucherDate: '',\r\n EndVoucherDate: ''\r\n }\r\n })\r\n } else if (type == 'money') { // 清空金额\r\n this.setState({\r\n value1: '',\r\n value2: ''\r\n })\r\n } else if (type === 'value4') {\r\n this.setState({\r\n value4: '',\r\n })\r\n } else if(type === 'value5') {\r\n this.setState({\r\n value5: '',\r\n })\r\n } else if(type === 'value6') {\r\n this.setState({\r\n value6: '',\r\n })\r\n } else { // 剩下的一些单选\r\n this.setState({\r\n option: {\r\n ...this.state.option,\r\n [type]: ''\r\n }\r\n })\r\n }\r\n }\r\n\r\n dateFormat = (date) => {\r\n if (date) {\r\n let _date = moment(date);\r\n return _date._isValid ? _date : ''\r\n }\r\n return '';\r\n }\r\n\r\n render() {\r\n let that = this;\r\n let loadingIcon = <img src='https://newretail.static.chanjet.com/loading.gif' style={{ width: '200px', height: '189px' }} />;\r\n let { isUUser, type } = this.props;\r\n let {\r\n currentIndex, value1, value2, value3,value4,value5,value6,\r\n tableDataList, show, isLook, option,\r\n showModalData, detailColumn, showSettleModalData, detailSettleColumn, TotalPage,\r\n searchFilterItemShow, record, listColumn,selectedIndexList,HeadFieldDesign, isPickupCard\r\n } = this.state;\r\n\r\n tableDataList = [...tableDataList];\r\n tableDataList.push({\r\n VoucherType: \"\",\r\n Code: \"\",\r\n ID: tableDataList.length,\r\n TotalTaxAmount: this.state.TotalTaxAmount,\r\n VoucherDate: \"合计\",\r\n other: true,\r\n rownumber: tableDataList.length\r\n })\r\n\r\n // checkbox一些参数。\r\n let check = {\r\n isShowCheck: (type === 2 ? (isLook ? false : true) : false),\r\n isChecked: selectedIndexList.length > 0 && showModalData.length === selectedIndexList.length,\r\n checkedCount: selectedIndexList.length,\r\n pickupChecked: isPickupCard ? true: false,\r\n checkBoxEvent: (isAll, checked) => this.handleCheckBox(isAll, checked)\r\n }\r\n\r\n //是否退货\r\n let isRefund = (type === 2);\r\n\r\n //小畅电商\r\n const isEnableMinMall = !!PosInitData('IsEnableMinMall');\r\n\r\n //是否启用电商\r\n const isCommerce = PosInitData('ECommerce');\r\n let isSpecialQuery = isUUser || isCommerce;\r\n\r\n // 动态计算bill-title bill-content 高度 (根据筛选条件的个数 每行30px)\r\n // 行数 line\r\n let line = 0;\r\n\r\n if (isRefund) { //退货\r\n line = 7;\r\n } else {\r\n line = isSpecialQuery ? 10 : (isEnableMinMall ? 9 : 7)\r\n }\r\n\r\n // let billTitleHeight = (30 + 16) * line + 30 - 8;\r\n let billTitleHeight = 240;\r\n\r\n if (!searchFilterItemShow) {\r\n billTitleHeight = 0;\r\n }\r\n\r\n let otherHeight = billTitleHeight + 32 + 16 + 10 + 16 + 30 + 10; // 最后一个10 是用来调整误差的\r\n\r\n if (searchFilterItemShow) {\r\n otherHeight += 16; // 打开状态,要多减去FilterTitle 的marginTop 16px\r\n }\r\n\r\n let billContentHeight = \"calc(100% - \" + otherHeight + \"px)\"\r\n\r\n const isEnableMember = PosInitData('isEnableMember');\r\n //启用序列号\r\n let isEnableSerialNumber = PosInitData(\"IsEnableSerialNumber\");\r\n return (\r\n <div className='bill'>\r\n <div className='bill-filter'>\r\n {\r\n searchFilterItemShow ?\r\n <div className='mask1'></div>\r\n :\r\n null\r\n }\r\n {\r\n searchFilterItemShow ?\r\n <div className='mask2'></div>\r\n :\r\n null\r\n }\r\n <div className={`bill-filter-on-off ${searchFilterItemShow ? \"bill-filter-on-off-show\" : \"\"}`} onClick={this.changeSearchFilterItemShow} >高级筛选\r\n <Ticon type='shaixuan' className='bill-search-icon' />\r\n </div>\r\n <div className='bill-title-item'>\r\n <div className='bill-title-search'>\r\n <Input.Group className='bill-group'>\r\n <Input\r\n prefix={<Ticon type='sousuo' className='bill-search-icon' />}\r\n suffix={value3 ? <Ticon type='guanbi-yuan' className='bill-search-icon-right' onClick={this.clearValue.bind(this, 'value3')} onMouseDown={e => e.preventDefault()} /> : null}\r\n type=\"text\"\r\n placeholder='单据编码'\r\n value={value3}\r\n className='bill-title-search-input'\r\n onChange={this.onChange.bind(this, 3)}\r\n onClick={this.onFocus.bind(this, 3)}\r\n onKeyUp={this.onKeyup}\r\n onBlur={() => {\r\n Keyboard.close();\r\n }}\r\n ref={input => this.input3 = input} />\r\n </Input.Group>\r\n </div>\r\n <Button onClick={this.search} type='primary' className='bill-search-button'>搜索</Button>\r\n </div>\r\n </div>\r\n <div className={`bill-title ${searchFilterItemShow ? '' : 'bill-title-close'}`} style={{height: billTitleHeight}}>\r\n {\r\n <div className='bill-title-item'>\r\n <label><span>商</span><span>品</span><span>名</span><span>称</span></label>:\r\n <div className={`bill-title-item-all ${value4 ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'value4')}>全部</div>\r\n <Input type=\"text\"\r\n placeholder={`条形码/助记码/商品编码/商品名称`}\r\n value={value4}\r\n className='bill-title-txt-input android_focus_keyboard'\r\n onChange={this.onChange.bind(this, 4)}\r\n onClick={this.onFocus.bind(this, 4)}\r\n ref={input => this.input4 = input} />\r\n </div>\r\n }\r\n {\r\n isEnableSerialNumber === 'true' && <div className='bill-title-item'>\r\n <label><span>序</span><span>列</span><span>号</span></label>:\r\n <div className={`bill-title-item-all ${value6 ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'value6')}>全部</div>\r\n <Input type=\"text\"\r\n placeholder={`请输入序列号`}\r\n value={value6}\r\n className='bill-title-txt-input'\r\n onChange={this.onChange.bind(this, 6)}\r\n onClick={this.onFocus.bind(this, 6)}\r\n ref={input => this.input6 = input} />\r\n </div>\r\n }\r\n {\r\n isEnableMember &&\r\n <div className='bill-title-item'>\r\n <label><span>会</span><span></span><span></span><span>员</span></label>:\r\n <div className={`bill-title-item-all ${value5 ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'value5')}>\r\n 全部\r\n </div>\r\n <Input type=\"text\"\r\n placeholder='会员卡号/手机号/会员名称'\r\n value={value5}\r\n className='bill-title-txt-input android_focus_keyboard'\r\n onChange={this.onChange.bind(this, 5)}\r\n onClick={this.onFocus.bind(this, 5)}\r\n ref={input => this.input5 = input} />\r\n </div>\r\n }\r\n\r\n <div className='bill-title-item'>\r\n <label><span>单</span><span>据</span><span>日</span><span>期</span></label>:\r\n <div className={`bill-title-item-all ${option.StartVoucherDate ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'date')}>全部</div>\r\n <RangePicker\r\n placeholder={['开始', '结束']}\r\n format='YYYY-MM-DD'\r\n onChange={this.onDateChange}\r\n defaultValue={[moment(), moment()]}\r\n value={[this.dateFormat(option.StartVoucherDate), this.dateFormat(option.EndVoucherDate)]}\r\n />\r\n </div>\r\n {\r\n (isRefund === false && (isSpecialQuery || isEnableMinMall)) ?\r\n <div className='bill-title-item'>\r\n <label><span>发</span><span>货</span><span>状</span><span>态</span></label>:\r\n <div className={`bill-title-item-all ${option.DeliveryStatus ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'DeliveryStatus')}>全部</div>\r\n {\r\n this.state.selectList[\"DeliveryStatus\"].length > 0 ?\r\n <Radio.Group\r\n // name=\"fruit\"\r\n value={this.state.option.DeliveryStatus}\r\n onChange={e => this.handleChange('DeliveryStatus', e.target.value)}>\r\n {\r\n this.state.selectList[\"DeliveryStatus\"].map(v => {\r\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.DeliveryStatus}>{v.Name}</Radio.Button>\r\n })\r\n }\r\n </Radio.Group>\r\n :\r\n null\r\n }\r\n </div>\r\n :\r\n null\r\n }\r\n {\r\n isRefund === false && isSpecialQuery ?\r\n <div className='bill-title-item'>\r\n <label><span>数</span><span>据</span><span>来</span><span>源</span></label>:\r\n <div className={`bill-title-item-all ${option.DataSource ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'DataSource')}>全部</div>\r\n {\r\n this.state.selectList['DataSource'].length > 0 ?\r\n <Radio.Group\r\n // name=\"fruit\"\r\n value={this.state.option.DataSource}\r\n onChange={e => this.handleChange('DataSource', e.target.value)}>\r\n {\r\n this.state.selectList['DataSource'].map(v => {\r\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.DataSource}>{v.Name}</Radio.Button>\r\n })\r\n }\r\n </Radio.Group>\r\n :\r\n null\r\n }\r\n </div>\r\n :\r\n null\r\n }\r\n {\r\n isRefund === false && isSpecialQuery ?\r\n <div className='bill-title-item'>\r\n <label><span>配</span><span>送</span><span>方</span><span>式</span></label>:\r\n <div className={`bill-title-item-all ${option.DistributionMode ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'DistributionMode')}>全部</div>\r\n {\r\n this.state.selectList['DistributionMode'].length > 0 ?\r\n <Radio.Group\r\n // name=\"fruit\"\r\n value={this.state.option.DistributionMode}\r\n onChange={e => this.handleChange('DistributionMode', e.target.value)}>\r\n {\r\n this.state.selectList['DistributionMode'].map(v => {\r\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.DistributionMode}>{v.Name}</Radio.Button>\r\n })\r\n }\r\n </Radio.Group>\r\n :\r\n null\r\n }\r\n </div>\r\n :\r\n null\r\n }\r\n {\r\n isRefund === false &&\r\n <div className='bill-title-item'>\r\n {\r\n this.isNewRetailBCPos ?\r\n (<label><span>单</span><span>据</span><span>类</span><span>型</span></label>)\r\n :\r\n (<label><span>业</span><span>务</span><span>类</span><span>型</span></label>)\r\n }:\r\n <div className={`bill-title-item-all ${option.VoucherType ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'VoucherType')}>全部</div>\r\n {\r\n this.state.selectList['VoucherType'].length > 0 ?\r\n <Radio.Group\r\n value={this.state.option.VoucherType}\r\n onChange={e => this.handleChange('VoucherType', e.target.value)}>\r\n {\r\n this.state.selectList['VoucherType'].map(v => {\r\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.VoucherType}>{v.Name}</Radio.Button>\r\n })\r\n }\r\n </Radio.Group>\r\n :\r\n null\r\n }\r\n </div>\r\n }\r\n <div className='bill-title-item'>\r\n <label><span>业</span><span>务</span><span>类</span><span>型</span></label>:\r\n <div className={`bill-title-item-all ${option.RetailType ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'RetailType')}>全部</div>\r\n {\r\n this.state.selectList['RetailType'].length > 0 ?\r\n <Radio.Group\r\n value={this.state.option.RetailType}\r\n onChange={e => this.handleChange('RetailType', e.target.value)}>\r\n {\r\n this.state.selectList['RetailType'].map(v => {\r\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.RetailType}>{v.Name}</Radio.Button>\r\n })\r\n }\r\n </Radio.Group>\r\n :\r\n null\r\n }\r\n </div>\r\n <div className='bill-title-item'>\r\n <label><span>金</span><span>额</span><span>范</span><span>围</span></label>:\r\n <div className={`bill-title-item-all ${(value1 || value2) ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'money')}>全部</div>\r\n <Input type=\"text\"\r\n value={value1}\r\n className='bill-title-money-input'\r\n onChange={this.onChange.bind(this, 1)}\r\n onClick={this.onFocus.bind(this, 1)}\r\n onBlur={this.onBlur.bind(this, 1)}\r\n ref={input => this.input1 = input} />\r\n <span className='bill-title-money-middle'>至</span>\r\n <Input type=\"text\"\r\n value={value2}\r\n className='bill-title-money-input'\r\n onChange={this.onChange.bind(this, 2)}\r\n onClick={this.onFocus.bind(this, 2)}\r\n onBlur={this.onBlur.bind(this, 2)}\r\n ref={input => this.input2 = input} />\r\n </div>\r\n <div className='bill-title-item'>\r\n <label><span>导</span><span>购</span></label>:\r\n <div className={`bill-title-item-all ${option.Navigator ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'Navigator')}>全部</div>\r\n <Select\r\n mode='multiple'\r\n showArrow={true}\r\n notFoundContent=' '\r\n optionLabelProp='showValue'\r\n style={{ width: '200px', marginRight: 6 }}\r\n onChange={this.handleChange.bind(this, 'Navigator')}\r\n showSearch={false}\r\n value={option.Navigator ? option.Navigator.split(\",\") : []}\r\n maxTagCount={2}\r\n >\r\n {\r\n this.state.selectList['Navigator'].map(v => {\r\n return <Option key={v.Id} value={v.Id + ''} showValue={v.Name} >{v.Name}</Option>\r\n })\r\n }\r\n </Select>\r\n </div>\r\n <div className='bill-title-item'>\r\n <label><span>收</span><span>银</span><span>员</span></label>:\r\n <div className={`bill-title-item-all ${option.Cashier ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'Cashier')}>全部</div>\r\n <Select\r\n mode='multiple'\r\n showArrow={true}\r\n notFoundContent=' '\r\n style={{ width: '200px', marginRight: 6 }}\r\n onChange={this.handleChange.bind(this, 'Cashier')}\r\n showSearch={false}\r\n value={option.Cashier ? option.Cashier.split(\",\") : []}\r\n maxTagCount={2}\r\n >\r\n {\r\n this.state.selectList['Cashier'].map(v => {\r\n return <Option key={v.Id} value={v.Id + ''} >{v.Name}</Option>\r\n })\r\n }\r\n </Select>\r\n </div>\r\n </div>\r\n <div className={`bill-content ${tableDataList && tableDataList.length > 1 ? '' : 'nodata'} `} style={{height: billContentHeight}}>\r\n {\r\n tableDataList.length > 1 ?\r\n <Table\r\n columns={listColumn}\r\n dataSource={tableDataList}\r\n parentNodeId='parent'\r\n loading={{\r\n spinning: this.state.loading,\r\n indicator: loadingIcon\r\n }}\r\n sticky\r\n pagination={false}\r\n scroll={{ x: 900, y: \"calc(~'100% - 75px')\" }}\r\n className='bill-table'/>\r\n :\r\n this.emptyFunc()\r\n }\r\n </div>\r\n <div className='bill-page'>\r\n <Page\r\n total={TotalPage}\r\n currentIndex={currentIndex}\r\n previous={this.previous}\r\n next={this.next}\r\n />\r\n </div>\r\n\r\n <ModalWraper\r\n show={show}\r\n cancel={this.modalCancel}\r\n ok={this.modalOk}\r\n okText={type === 2 ? (isLook ? '打小票' : '退货') : '打小票'}\r\n title='单据明细'\r\n className='bill-modal'\r\n width='802'\r\n option={option}\r\n okable={type === 2 ? (isLook ? false : true) : true}\r\n check={check}\r\n modalType=\"big\"\r\n >\r\n <div className='bill-modal-content'>\r\n <div className='bill-modal-content-header'>\r\n {\r\n HeadFieldDesign ?\r\n HeadFieldDesign.map(item => {\r\n if (!item.IsShow) {\r\n return null;\r\n }\r\n let renderText = item.FieldName == 'VoucherDate' ? tools.dateFormat(record[item.FieldName]) : record[item.FieldName];\r\n let col = listColumn.find(it => it.key == item.FieldName);\r\n if (col && col.Precision && col.IsFormat) {\r\n renderText = billSearchApi.formatNumber(renderText, col.Precision)\r\n }\r\n return (\r\n <div className='bill-modal-content-header-item' key={item.FieldName}><span>{item.OriginalTitle}:</span> <span>{renderText}</span></div>\r\n )\r\n })\r\n : null\r\n }\r\n\r\n </div>\r\n <div className='bill-modal-content-table'>\r\n <Table\r\n columns={detailColumn}\r\n dataSource={showModalData}\r\n parentNodeId='parent'\r\n scroll={{ y: 257 }}\r\n pagination={false}\r\n className='bill-modal-table'/>\r\n </div>\r\n <div className='bill-settlement'>\r\n <Table\r\n columns={detailSettleColumn}\r\n dataSource={showSettleModalData}\r\n parentNodeId='parent'\r\n scroll={{ y: 257 }}\r\n pagination={false}/>\r\n </div>\r\n </div>\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}"]}
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
@border-hover-color: rgb(255, 183, 77);
|
|
2
|
+
@border-color: #C8C8CD;
|
|
3
|
+
@active-color: #FF8C25;
|
|
4
|
+
.bill {
|
|
5
|
+
::-webkit-scrollbar {
|
|
6
|
+
width: 10px !important; // scroll-y 宽6px
|
|
7
|
+
height: 10px !important; // scroll-x 高6px
|
|
8
|
+
}
|
|
9
|
+
width: 935px;
|
|
10
|
+
height: 100%;
|
|
11
|
+
padding: 16px 16px 0;
|
|
12
|
+
position: relative;
|
|
13
|
+
.uf-close-c, .uf-calendar {
|
|
14
|
+
color: #999!important;
|
|
15
|
+
opacity: 1!important;
|
|
16
|
+
font-size: 14px;
|
|
17
|
+
}
|
|
18
|
+
td, th, div, span, table {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
input {
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
}
|
|
24
|
+
td, th {
|
|
25
|
+
color: #333;
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.bill-filter {
|
|
30
|
+
position: relative;
|
|
31
|
+
.mask1 {
|
|
32
|
+
position: absolute;
|
|
33
|
+
top: 31px;
|
|
34
|
+
left: 0px;
|
|
35
|
+
width: 123px;
|
|
36
|
+
height: 19px;
|
|
37
|
+
border-left: 1px solid #C8C8CD;
|
|
38
|
+
transition: all 0.2s;
|
|
39
|
+
background: #FFF;
|
|
40
|
+
z-index: 1;
|
|
41
|
+
}
|
|
42
|
+
.mask2 {
|
|
43
|
+
position: absolute;
|
|
44
|
+
top: 30px;
|
|
45
|
+
left: 119px;
|
|
46
|
+
width: 16px;
|
|
47
|
+
height: 19px;
|
|
48
|
+
border-left: 1px solid #C8C8CD;
|
|
49
|
+
border-bottom: 1px solid #C8C8CD;
|
|
50
|
+
border-bottom-left-radius: 4px;
|
|
51
|
+
transition: all 0.2s;
|
|
52
|
+
background: #FFF;
|
|
53
|
+
z-index: 2;
|
|
54
|
+
}
|
|
55
|
+
.bill-filter-on-off {
|
|
56
|
+
width: 120px;
|
|
57
|
+
height: 32px;
|
|
58
|
+
line-height: 30px;
|
|
59
|
+
padding-left: 12px;
|
|
60
|
+
font-size: 16px;
|
|
61
|
+
color: #333333;
|
|
62
|
+
display: inline-block;
|
|
63
|
+
background: #FFFFFF;
|
|
64
|
+
border: 1px solid #C8C8CD;
|
|
65
|
+
border-radius: 4px;
|
|
66
|
+
vertical-align: top;
|
|
67
|
+
margin-right: 16px;
|
|
68
|
+
i {
|
|
69
|
+
margin-left: 14px;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
.bill-filter-on-off-show {
|
|
73
|
+
border-bottom: none;
|
|
74
|
+
border-bottom-left-radius: 0;
|
|
75
|
+
border-bottom-right-radius: 0;
|
|
76
|
+
}
|
|
77
|
+
.bill-title-item {
|
|
78
|
+
display: inline-block;
|
|
79
|
+
.bill-title-search {
|
|
80
|
+
display: inline-block;
|
|
81
|
+
.bill-title-search-input {
|
|
82
|
+
width: 270px;
|
|
83
|
+
padding: 1px 11px;
|
|
84
|
+
border-radius: 4px;
|
|
85
|
+
}
|
|
86
|
+
.bill-search-icon {
|
|
87
|
+
font-size: 18px;
|
|
88
|
+
color: #999;
|
|
89
|
+
}
|
|
90
|
+
.u-input-group-btn {
|
|
91
|
+
z-index: 1;
|
|
92
|
+
left: 6px;
|
|
93
|
+
top: 2px;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
.bill-search-button {
|
|
97
|
+
font-size: 12px;
|
|
98
|
+
vertical-align: top;
|
|
99
|
+
width: 64px;
|
|
100
|
+
height: 32px;
|
|
101
|
+
margin-left: 16px;
|
|
102
|
+
border-radius: 4px;
|
|
103
|
+
border: none;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
.bill-title {
|
|
108
|
+
overflow: hidden;
|
|
109
|
+
position: relative;
|
|
110
|
+
margin-top: 16px;
|
|
111
|
+
border: 1px solid #C8C8CD;
|
|
112
|
+
border-radius: 4px;
|
|
113
|
+
transition: height 0.2s;
|
|
114
|
+
overflow-y: scroll;
|
|
115
|
+
.bill-title-item {
|
|
116
|
+
margin: 16px 0;
|
|
117
|
+
margin-left: 13px;
|
|
118
|
+
height: 30px;
|
|
119
|
+
>div:last-child {
|
|
120
|
+
vertical-align: top;
|
|
121
|
+
}
|
|
122
|
+
.bill-title-item-all {
|
|
123
|
+
display: inline-block;
|
|
124
|
+
width: 48px;
|
|
125
|
+
height: 28px;
|
|
126
|
+
font-size: 14px;
|
|
127
|
+
font-weight: 700;
|
|
128
|
+
color: #333333;
|
|
129
|
+
text-align: center;
|
|
130
|
+
line-height: 28px;
|
|
131
|
+
border-radius: 4px;
|
|
132
|
+
margin: 0 16px;
|
|
133
|
+
vertical-align: middle;
|
|
134
|
+
}
|
|
135
|
+
&:first-child {
|
|
136
|
+
input {
|
|
137
|
+
padding-left: 0;
|
|
138
|
+
padding-right: 0;
|
|
139
|
+
text-indent: 1em;
|
|
140
|
+
}
|
|
141
|
+
span {
|
|
142
|
+
top: 3px;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
label {
|
|
147
|
+
font-size: 14px;
|
|
148
|
+
color: #666;
|
|
149
|
+
margin-right: 8px;
|
|
150
|
+
}
|
|
151
|
+
label.ant-radio-button-wrapper {
|
|
152
|
+
border: none;
|
|
153
|
+
color: #333;
|
|
154
|
+
font-weight: 700;
|
|
155
|
+
&:focus-within{
|
|
156
|
+
box-shadow: none;
|
|
157
|
+
}
|
|
158
|
+
&:not(:first-child)::before{
|
|
159
|
+
content: none;
|
|
160
|
+
}
|
|
161
|
+
&.ant-radio-button-wrapper-checked {
|
|
162
|
+
&:not(.ant-radio-button-wrapper-disabled):focus-within{
|
|
163
|
+
box-shadow: none;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
&>label {
|
|
168
|
+
display: inline-flex;
|
|
169
|
+
width: 58px;
|
|
170
|
+
justify-content: space-between;
|
|
171
|
+
}
|
|
172
|
+
.bill-title-txt-input{
|
|
173
|
+
width: 238px;
|
|
174
|
+
height: 28px;
|
|
175
|
+
border-radius: 4px;
|
|
176
|
+
}
|
|
177
|
+
.bill-title-money-input {
|
|
178
|
+
border-color: @border-color;
|
|
179
|
+
border-radius: 4px!important;
|
|
180
|
+
width: 108px;
|
|
181
|
+
height: 28px;
|
|
182
|
+
vertical-align: top;
|
|
183
|
+
&:focus {
|
|
184
|
+
border-color: @border-hover-color;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
.bill-title-money-middle {
|
|
188
|
+
padding: 0 5px;
|
|
189
|
+
}
|
|
190
|
+
.ant-picker {
|
|
191
|
+
width: 238px!important;
|
|
192
|
+
}
|
|
193
|
+
label {
|
|
194
|
+
vertical-align: middle;
|
|
195
|
+
}
|
|
196
|
+
.ant-select{
|
|
197
|
+
width: 238px !important;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// 有u会员 打开时的高度
|
|
203
|
+
.bill-title-open {
|
|
204
|
+
height: 420px;
|
|
205
|
+
}
|
|
206
|
+
// 不是u会员 打开时的高度
|
|
207
|
+
.bill-title-notuuser-open {
|
|
208
|
+
height: 287px;
|
|
209
|
+
padding-bottom: 10px;
|
|
210
|
+
}
|
|
211
|
+
.bill-title-close {
|
|
212
|
+
height: 0;
|
|
213
|
+
border-color: transparent;
|
|
214
|
+
margin-top: 0!important;
|
|
215
|
+
}
|
|
216
|
+
.nodata {
|
|
217
|
+
.u-table-scroll>div {
|
|
218
|
+
height: auto!important;
|
|
219
|
+
&>div {
|
|
220
|
+
height: auto!important;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
.bill-content {
|
|
225
|
+
margin-top: 12px;
|
|
226
|
+
height: calc(~'100% - 180px');
|
|
227
|
+
position: relative;
|
|
228
|
+
transition: all 0.2s;
|
|
229
|
+
.bill-loading {
|
|
230
|
+
position: absolute;
|
|
231
|
+
top: 40px;
|
|
232
|
+
left: 0;
|
|
233
|
+
right: 0;
|
|
234
|
+
bottom: 0;
|
|
235
|
+
background: #FFF;
|
|
236
|
+
z-index: 200000;
|
|
237
|
+
img {
|
|
238
|
+
width: 200px;
|
|
239
|
+
position: relative;
|
|
240
|
+
left: 50%;
|
|
241
|
+
top: 50%;
|
|
242
|
+
transform: translate(-50%, -50%);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
.ant-table-wrapper{
|
|
246
|
+
height: 100%;
|
|
247
|
+
.ant-spin-nested-loading {
|
|
248
|
+
height: 100%;
|
|
249
|
+
.ant-spin-container {
|
|
250
|
+
height: 100%;
|
|
251
|
+
.ant-table {
|
|
252
|
+
height: 100%;
|
|
253
|
+
.ant-table-container {
|
|
254
|
+
height: 100%;
|
|
255
|
+
.ant-table-body {
|
|
256
|
+
height: calc(~'100% - 51px');
|
|
257
|
+
table {
|
|
258
|
+
.ant-table-body {
|
|
259
|
+
height: calc(~'100% - 50px');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
>.ant-table-header{
|
|
264
|
+
padding-right: 4px;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
}
|
|
272
|
+
th.text-center {
|
|
273
|
+
text-align: center;
|
|
274
|
+
}
|
|
275
|
+
.bill-content-operation {
|
|
276
|
+
display: flex;
|
|
277
|
+
justify-content: space-around;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
.bill-page {
|
|
281
|
+
position: absolute;
|
|
282
|
+
right: 16px;
|
|
283
|
+
bottom: 4px;
|
|
284
|
+
}
|
|
285
|
+
.bill-search-icon-right {
|
|
286
|
+
top: 7px!important;
|
|
287
|
+
bottom: 0;
|
|
288
|
+
left: auto!important;
|
|
289
|
+
right: 1px!important;
|
|
290
|
+
color: #999;
|
|
291
|
+
cursor: pointer;
|
|
292
|
+
i {
|
|
293
|
+
font-size: 12px!important;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
.bill-group {
|
|
297
|
+
display: inline-table!important;
|
|
298
|
+
vertical-align: middle;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
.bill-modal {
|
|
302
|
+
::-webkit-scrollbar {
|
|
303
|
+
width: 10px !important; // scroll-y 宽6px
|
|
304
|
+
height: 10px !important; // scroll-x 高6px
|
|
305
|
+
// background-color: #F5F5F5;
|
|
306
|
+
}
|
|
307
|
+
.ant-modal {
|
|
308
|
+
.ant-modal-content {
|
|
309
|
+
.ant-modal-body {
|
|
310
|
+
padding: 16px!important;
|
|
311
|
+
min-height: 418px!important;
|
|
312
|
+
height: auto!important;
|
|
313
|
+
.bill-modal-content {
|
|
314
|
+
width: 764px;
|
|
315
|
+
.columnTitle {
|
|
316
|
+
display: '-webkit-box';
|
|
317
|
+
-webkit-box-orient: vertical;
|
|
318
|
+
-webkit-line-clamp: 2;
|
|
319
|
+
overflow: hidden;
|
|
320
|
+
white-space: initial;
|
|
321
|
+
justify-content: left;
|
|
322
|
+
align-items : center;
|
|
323
|
+
cursor : default;
|
|
324
|
+
}
|
|
325
|
+
.bill-modal-content-header {
|
|
326
|
+
|
|
327
|
+
.bill-modal-content-header-item {
|
|
328
|
+
display : inline-block;
|
|
329
|
+
overflow : hidden;
|
|
330
|
+
width : 33%;
|
|
331
|
+
padding: 5px 2px;
|
|
332
|
+
vertical-align: top;
|
|
333
|
+
|
|
334
|
+
>span {
|
|
335
|
+
font-size: 14px;
|
|
336
|
+
|
|
337
|
+
&:first-child {
|
|
338
|
+
color: #666;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
&:last-child {
|
|
342
|
+
color: #000;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
.bill-modal-content-table{
|
|
348
|
+
max-height: 307px;
|
|
349
|
+
.selected{
|
|
350
|
+
background: fade(#FF8C25, 20%)
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
.bill-settlement{
|
|
354
|
+
margin-top: 16px;
|
|
355
|
+
margin-bottom: -15px;
|
|
356
|
+
position: relative;
|
|
357
|
+
&::after{
|
|
358
|
+
content: '';
|
|
359
|
+
border:1px solid white;
|
|
360
|
+
position: absolute;
|
|
361
|
+
bottom: -1px;
|
|
362
|
+
width: 764px;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
.ant-modal-footer {
|
|
368
|
+
border-top: 1px solid #E6E6EB!important;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
|