tplus-components-touch 3.19.2 → 3.20.4
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 +18 -18
- package/dist/components/acCitySelect/CitySelect.js.map +1 -1
- package/dist/components/acCitySelect/CitySelect.less +9 -9
- package/dist/components/acCitySelect/citys.js.map +1 -1
- package/dist/components/acCitySelect/index.js.map +1 -1
- package/dist/components/acCitySelect/provinceData.js +7 -7
- package/dist/components/acCitySelect/provinceData.js.map +1 -1
- package/dist/components/addLog/AddLogProcessor.js +6 -6
- package/dist/components/addLog/AddLogProcessor.js.map +1 -1
- package/dist/components/addLog/OperationLogApi.js +3 -3
- package/dist/components/addLog/OperationLogApi.js.map +1 -1
- package/dist/components/autoComplete/index.js +14 -14
- package/dist/components/autoComplete/index.js.map +1 -1
- package/dist/components/autoComplete/index.less +89 -89
- package/dist/components/autoComplete/option.js.map +1 -1
- package/dist/components/autoCompleteWithKeyboard/index.js +14 -14
- package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -1
- package/dist/components/autoCompleteWithKeyboard/index.less +7 -7
- package/dist/components/billSearch/api.js +29 -29
- package/dist/components/billSearch/api.js.map +1 -1
- package/dist/components/billSearch/index.js +6 -6
- package/dist/components/billSearch/index.js.map +1 -1
- package/dist/components/billSearch/index.less +363 -363
- package/dist/components/cloudPrint/BTPrintFormatUtil.js +17 -17
- package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -1
- package/dist/components/cloudPrint/api.js +1 -1
- package/dist/components/cloudPrint/api.js.map +1 -1
- package/dist/components/cloudPrint/index.js +28 -52
- package/dist/components/cloudPrint/index.js.map +1 -1
- package/dist/components/commonForm/addressPicker/index.js +7 -7
- package/dist/components/commonForm/addressPicker/index.js.map +1 -1
- package/dist/components/commonForm/addressPicker/style.less +10 -10
- package/dist/components/commonForm/autoComplete/index.js.map +1 -1
- package/dist/components/commonForm/autoComplete/style.less +2 -2
- package/dist/components/commonForm/datePicker/index.js.map +1 -1
- package/dist/components/commonForm/datePicker/style.less +4 -4
- package/dist/components/commonForm/formControl/index.js.map +1 -1
- package/dist/components/commonForm/index.js +4 -4
- package/dist/components/commonForm/index.js.map +1 -1
- package/dist/components/commonForm/inputNumber/index.js.map +1 -1
- package/dist/components/commonForm/inputNumber/style.less +10 -10
- package/dist/components/commonForm/radio/index.js.map +1 -1
- package/dist/components/commonForm/style.less +1 -1
- package/dist/components/deliverySearch/api.js +21 -21
- package/dist/components/deliverySearch/api.js.map +1 -1
- package/dist/components/deliverySearch/index.js +6 -6
- package/dist/components/deliverySearch/index.js.map +1 -1
- package/dist/components/deliverySearch/index.less +553 -553
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/hardwareAPI/index.js.map +1 -1
- package/dist/components/hotKey/config.js +23 -23
- package/dist/components/hotKey/config.js.map +1 -1
- package/dist/components/hotKey/hotKeyModal.js.map +1 -1
- package/dist/components/hotKey/index.js +26 -26
- package/dist/components/hotKey/index.js.map +1 -1
- package/dist/components/hotKey/localConfig.js.map +1 -1
- package/dist/components/hotKey/style.less +96 -96
- package/dist/components/hotKey/utils.js.map +1 -1
- package/dist/components/input/index.js +6 -6
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/style.less +99 -99
- package/dist/components/input/tplusInput/index.js +30 -30
- package/dist/components/input/tplusInput/index.js.map +1 -1
- package/dist/components/input/tplusInput/inputContent.js.map +1 -1
- package/dist/components/input/tplusInput/inputs.js.map +1 -1
- package/dist/components/input/tplusInput/style.less +132 -132
- package/dist/components/input/utils/index.js.map +1 -1
- package/dist/components/inventorySearch/api.js +58 -58
- package/dist/components/inventorySearch/api.js.map +1 -1
- package/dist/components/inventorySearch/index.js +15 -6
- package/dist/components/inventorySearch/index.js.map +1 -1
- package/dist/components/inventorySearch/index.less +119 -115
- package/dist/components/inventorySearch/store.js.map +1 -1
- package/dist/components/inventorySearch/tab.js.map +1 -1
- package/dist/components/keyboard/index.js +1 -1
- package/dist/components/keyboard/index.js.map +1 -1
- package/dist/components/keyboard/index.less +469 -469
- package/dist/components/keyboard/letterKeyboard.js +2 -2
- package/dist/components/keyboard/letterKeyboard.js.map +1 -1
- package/dist/components/keyboard/numKeyboard.js +4 -4
- package/dist/components/keyboard/numKeyboard.js.map +1 -1
- package/dist/components/keyboard/numKeyboardScan.js.map +1 -1
- package/dist/components/keyboard/numberButton_input.js +5 -5
- package/dist/components/keyboard/numberButton_input.js.map +1 -1
- package/dist/components/keyboard/numkeyboardPassword.js +4 -4
- package/dist/components/keyboard/numkeyboardPassword.js.map +1 -1
- package/dist/components/keyboard/onlyKeyboard.js +7 -7
- package/dist/components/keyboard/onlyKeyboard.js.map +1 -1
- package/dist/components/keyboard/onlyLetterButton.js +2 -2
- package/dist/components/keyboard/onlyLetterButton.js.map +1 -1
- package/dist/components/keyboard/onlyLetterButton2.js +2 -2
- package/dist/components/keyboard/onlyLetterButton2.js.map +1 -1
- package/dist/components/keyboard/onlyLetterButton2.less +161 -161
- package/dist/components/keyboard/onlyNumberButton.js +2 -2
- package/dist/components/keyboard/onlyNumberButton.js.map +1 -1
- package/dist/components/keyboard/onlyNumberButton2.js +3 -3
- package/dist/components/keyboard/onlyNumberButton2.js.map +1 -1
- package/dist/components/keyboard/textKeyboard.js.map +1 -1
- package/dist/components/layout/hamburger.js.map +1 -1
- package/dist/components/layout/index.js +10 -10
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/layout.js.map +1 -1
- package/dist/components/layout/sider.js +12 -12
- package/dist/components/layout/sider.js.map +1 -1
- package/dist/components/layout/style.less +82 -82
- package/dist/components/loading/index.js +15 -15
- package/dist/components/loading/index.js.map +1 -1
- package/dist/components/loading/loadingContent.js.map +1 -1
- package/dist/components/loading/style.less +51 -51
- package/dist/components/loading/utils.js.map +1 -1
- package/dist/components/message/index.js +8 -8
- package/dist/components/message/index.js.map +1 -1
- package/dist/components/message/index.less +86 -86
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/modal/index.less +19 -19
- package/dist/components/modalVertical/index.js +7 -7
- package/dist/components/modalVertical/index.js.map +1 -1
- package/dist/components/modalVertical/style.less +60 -60
- package/dist/components/modalWraper/index.js +15 -15
- package/dist/components/modalWraper/index.js.map +1 -1
- package/dist/components/modalWraper/style.less +251 -251
- package/dist/components/modalWraper/utils.js.map +1 -1
- package/dist/components/notification/index.js +4 -4
- package/dist/components/notification/index.js.map +1 -1
- package/dist/components/notification/index.less +51 -51
- package/dist/components/overflowTip/index.js +15 -15
- package/dist/components/overflowTip/index.js.map +1 -1
- package/dist/components/overflowTip/style.less +66 -66
- package/dist/components/page/index.js.map +1 -1
- package/dist/components/page/index.less +21 -21
- package/dist/components/product/detail.js +7 -7
- package/dist/components/product/detail.js.map +1 -1
- package/dist/components/product/getCard.js +5 -5
- package/dist/components/product/getCard.js.map +1 -1
- package/dist/components/product/index.less +128 -128
- package/dist/components/progressState/EmptyAndErrorView.js.map +1 -1
- package/dist/components/progressState/ProgressState.js +10 -10
- package/dist/components/progressState/ProgressState.js.map +1 -1
- package/dist/components/progressState/index.js.map +1 -1
- package/dist/components/progressState/style.less +65 -65
- package/dist/components/scan/index.js.map +1 -1
- package/dist/components/scan/index.less +33 -33
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/index.less +11 -11
- package/dist/components/settlement/asyncModal.js +4 -0
- package/dist/components/settlement/asyncModal.js.map +1 -1
- package/dist/components/settlement/index.js.map +1 -1
- 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 +447 -143
- package/dist/components/settlement/settlement.js.map +1 -1
- package/dist/components/settlement/settlement.less +1519 -1474
- package/dist/components/settlement/settlementStore.js +185 -79
- package/dist/components/settlement/settlementStore.js.map +1 -1
- package/dist/components/settlement/utils.js.map +1 -1
- package/dist/components/socket/index.js +11 -11
- package/dist/components/socket/index.js.map +1 -1
- package/dist/components/spin/index.js +6 -6
- package/dist/components/spin/index.js.map +1 -1
- package/dist/components/spin/spin-style.less +436 -436
- package/dist/components/test/index.js +3 -3
- package/dist/components/test/index.js.map +1 -1
- package/dist/components/ticon/iconfont/demo.css +539 -539
- package/dist/components/ticon/iconfont/demo_index.html +4949 -4627
- package/dist/components/ticon/iconfont/iconfont.css +843 -787
- package/dist/components/ticon/iconfont/iconfont.js +12 -10
- package/dist/components/ticon/iconfont/iconfont.js.map +1 -1
- package/dist/components/ticon/iconfont/iconfont.json +1458 -1360
- package/dist/components/ticon/iconfont/iconfont.svg +593 -593
- 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.map +1 -1
- package/dist/components/touchScroll/index.js +9 -9
- package/dist/components/touchScroll/index.js.map +1 -1
- package/dist/components/touchTable/AuthProcess.js.map +1 -1
- package/dist/components/touchTable/generateWater.js.map +1 -1
- package/dist/components/touchTable/index.js +9 -9
- package/dist/components/touchTable/index.js.map +1 -1
- package/dist/components/touchTable/index.less +369 -369
- package/dist/components/touchTable/utils.js.map +1 -1
- package/dist/demo/PopOverDemo.js.map +1 -1
- package/dist/index.js +8 -23
- package/dist/index.js.map +1 -1
- package/dist/util/tools.js.map +1 -1
- 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 +35 -35
- package/tsconfig.json +26 -26
- package/dist/components/cloudPrint/printDispatch.js +0 -223
- package/dist/components/cloudPrint/printDispatch.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["tplus-components-touch/components/billSearch/api.js"],"names":["billSearchApi","obj","defaultValue","CurrentPage","PageSize","StartVoucherDate","EndVoucherDate","VoucherCode","VoucherType","VoucherState","Member","Navigator","Cashier","StartAdmount","EndAdmount","IdStore","param","result","code","type","RetailCode","KeyType","ID","DetailColumn","RetailId","PosDesign","retail","origRetailId","dto","Retail","ViewName","SearchParams","Key","IsOtherStore","console","log","number","length","undefined","parseInt","indexOf","substring"],"mappings":"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","file":"api.js","sourcesContent":["import { tApi, ccApi } from 'tplus-api';\n/**\n *\n *\n * @export\n * @class billSearchApi\n */\nexport default class billSearchApi {\n static async searchRetailList(obj) {\n let defaultValue = {\n CurrentPage: 1,\t // int\t 当前页,默认1\n PageSize: 15, \t // int \t 页大小,默认10 \n StartVoucherDate: '',\t// datetime\t单据开始日期\n EndVoucherDate: '',\t // datetime\t单据结束日期\n VoucherCode: '',\t // string\t单据编号,支持模糊查询\n VoucherType: '',\t // int\t单据业务类型,下拉单选,返回对应业务类型Id\n VoucherState: '',\t // int\t单据状态,下拉单选,返回枚举Id\n Member: '',\t // string\t会员,多选,返回会员Id,多个用英文逗号隔开,如:1,2,3,4\n Navigator: '', \t // string\t 导购,多选,返回导购Id,多个用英文逗号隔开,如:1,2,3,4\n Cashier: '',\t // string\t 收银员,多选,返回收银员Id,多个用英文逗号隔开,如:1,2,3,4\n StartAdmount: '',\t // decimal \t 起始金额\n EndAdmount: '',\t // decimal\t结束金额 \n IdStore: ''\n }\n\n const result = await tApi({ param: JSON.stringify({ ...defaultValue, ...obj }) }, 'chanjet.RE.newRetail.SearchNewRetailList', false, false);\n return result;\n }\n\n /**\n * 获取单据详细信息\n * @param {string} code \n */\n static async getRetailDetail(code, type) {\n const result = await tApi({ RetailCode: code, KeyType: type }, 'chanjet.RE.newRetail.GetRetailDetail', false, false);\n return result;\n }\n\n\n /**\n * 获取单据详细信息\n * @param {string} code \n */\n static async getRetailDetailInfo(code) {\n const result = await tApi({ RetailCode: code }, 'chanjet.RE.newRetail.GetRetailDetailInfo', false, false);\n return result;\n }\n\n /**\n * 获取单据详细信息-原单退货\n * @param {string} ID \n */\n static async getOrigRetailData(ID, DetailColumn) {\n const result = await tApi({ RetailId: ID, PosDesign: DetailColumn }, 'chanjet.RE.newRetail.GetOrigRetailData', false, false);\n return result;\n }\n\n /**\n * 提货卡退货\n * @param {string} ID \n */\n static async getRefundConsumer(ID, retail) {\n const result = await ccApi({ origRetailId: ID, dto: retail },\n \"/retail/RetailPos/refundConsumer\",\n false,\n false,\n );\n return result;\n }\n\n /**\n * 获取单据 栏目信息 (目前用不上,先前端写死)\n */\n static async getPOSSearchRetailListDesigns() {\n const result = await tApi({}, 'chanjet.RE.newRetail.GetPOSSearchRetailListDesigns', false, false);\n return result;\n }\n\n /**\n * 获取单据编码信息、单据栏目、明细栏目。\n */\n static async getPOSOrigReturnListInitData(Retail) {\n const result = await tApi({ Retail }, 'chanjet.RE.newRetail.GetPOSOrigReturnListInitData', false, false);\n return result;\n }\n\n /**\n * 获取单据 详细 的栏目信息\n */\n static async getPOSSearchDesigns() {\n const result = await tApi({ViewName: 'Retail'}, 'chanjet.RE.newRetail.GetPOSSearchDesigns', false, false);\n return result;\n }\n\n /**\n * 获取 导购下拉\n */\n static async searchNavigator() {\n const result = await tApi({SearchParams:{Key: '',IsOtherStore: false, CurrentPage: 1, PageSize: 1000 }}, 'chanjet.AA.DR.NewRetailBaseInfo.SearchNavigator', false, false);\n return result;\n }\n\n /**\n * 获取 其他三个 下拉\n */\n static async getRetailSearchItemList(IdStore='') {\n // 业务类型\n const result = await tApi({ IdStore: IdStore}, 'chanjet.AA.DR.NewRetailBaseInfo.GetRetailSearchItemList', false, false);\n console.log('result => ', result);\n return result;\n // 单据状态\n // const result2 = await tApi({ ItemName: 'VoucherState' }, 'chanjet.AA.DR.NewRetailBaseInfo.GetRetailSearchItemList', false, false); \n // 收银员\n // const result3 = await tApi({ ItemName: 'Cashier' }, 'chanjet.AA.DR.NewRetailBaseInfo.GetRetailSearchItemList', false, false);\n \n \n return [result1, result2, result3];\n }\n\n /**\n * 获取服务器时间\n */\n static async getTime() {\n return '2019-05-15';\n }\n\n static formatNumber(number, length) {\n if (number === '' || number === undefined) {\n return number;\n }\n number += '';\n if (length == 0) {\n return parseInt(number);\n }\n if (number.indexOf('.') > 0) {\n number += '0000000000';\n } else {\n number += '.0000000000'\n }\n return number.substring(0,number.indexOf(\".\") + +length + 1)\n }\n}\n\n"]}
|
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/billSearch/api.js"],"names":["billSearchApi","obj","defaultValue","CurrentPage","PageSize","StartVoucherDate","EndVoucherDate","VoucherCode","VoucherType","VoucherState","Member","Navigator","Cashier","StartAdmount","EndAdmount","IdStore","param","result","code","type","RetailCode","KeyType","ID","DetailColumn","RetailId","PosDesign","retail","origRetailId","dto","Retail","ViewName","SearchParams","Key","IsOtherStore","console","log","number","length","undefined","parseInt","indexOf","substring"],"mappings":"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","file":"api.js","sourcesContent":["import { tApi, ccApi } from 'tplus-api';\r\n/**\r\n *\r\n *\r\n * @export\r\n * @class billSearchApi\r\n */\r\nexport default class billSearchApi {\r\n static async searchRetailList(obj) {\r\n let defaultValue = {\r\n CurrentPage: 1,\t // int\t 当前页,默认1\r\n PageSize: 15, \t // int \t 页大小,默认10 \r\n StartVoucherDate: '',\t// datetime\t单据开始日期\r\n EndVoucherDate: '',\t // datetime\t单据结束日期\r\n VoucherCode: '',\t // string\t单据编号,支持模糊查询\r\n VoucherType: '',\t // int\t单据业务类型,下拉单选,返回对应业务类型Id\r\n VoucherState: '',\t // int\t单据状态,下拉单选,返回枚举Id\r\n Member: '',\t // string\t会员,多选,返回会员Id,多个用英文逗号隔开,如:1,2,3,4\r\n Navigator: '', \t // string\t 导购,多选,返回导购Id,多个用英文逗号隔开,如:1,2,3,4\r\n Cashier: '',\t // string\t 收银员,多选,返回收银员Id,多个用英文逗号隔开,如:1,2,3,4\r\n StartAdmount: '',\t // decimal \t 起始金额\r\n EndAdmount: '',\t // decimal\t结束金额 \r\n IdStore: ''\r\n }\r\n\r\n const result = await tApi({ param: JSON.stringify({ ...defaultValue, ...obj }) }, 'chanjet.RE.newRetail.SearchNewRetailList', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取单据详细信息\r\n * @param {string} code \r\n */\r\n static async getRetailDetail(code, type) {\r\n const result = await tApi({ RetailCode: code, KeyType: type }, 'chanjet.RE.newRetail.GetRetailDetail', false, false);\r\n return result;\r\n }\r\n\r\n\r\n /**\r\n * 获取单据详细信息\r\n * @param {string} code \r\n */\r\n static async getRetailDetailInfo(code) {\r\n const result = await tApi({ RetailCode: code }, 'chanjet.RE.newRetail.GetRetailDetailInfo', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取单据详细信息-原单退货\r\n * @param {string} ID \r\n */\r\n static async getOrigRetailData(ID, DetailColumn) {\r\n const result = await tApi({ RetailId: ID, PosDesign: DetailColumn }, 'chanjet.RE.newRetail.GetOrigRetailData', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 提货卡退货\r\n * @param {string} ID \r\n */\r\n static async getRefundConsumer(ID, retail) {\r\n const result = await ccApi({ origRetailId: ID, dto: retail },\r\n \"/retail/RetailPos/refundConsumer\",\r\n false,\r\n false,\r\n );\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取单据 栏目信息 (目前用不上,先前端写死)\r\n */\r\n static async getPOSSearchRetailListDesigns() {\r\n const result = await tApi({}, 'chanjet.RE.newRetail.GetPOSSearchRetailListDesigns', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取单据编码信息、单据栏目、明细栏目。\r\n */\r\n static async getPOSOrigReturnListInitData(Retail) {\r\n const result = await tApi({ Retail }, 'chanjet.RE.newRetail.GetPOSOrigReturnListInitData', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取单据 详细 的栏目信息\r\n */\r\n static async getPOSSearchDesigns() {\r\n const result = await tApi({ViewName: 'Retail'}, 'chanjet.RE.newRetail.GetPOSSearchDesigns', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取 导购下拉\r\n */\r\n static async searchNavigator() {\r\n const result = await tApi({SearchParams:{Key: '',IsOtherStore: false, CurrentPage: 1, PageSize: 1000 }}, 'chanjet.AA.DR.NewRetailBaseInfo.SearchNavigator', false, false);\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取 其他三个 下拉\r\n */\r\n static async getRetailSearchItemList(IdStore='') {\r\n // 业务类型\r\n const result = await tApi({ IdStore: IdStore}, 'chanjet.AA.DR.NewRetailBaseInfo.GetRetailSearchItemList', false, false);\r\n console.log('result => ', result);\r\n return result;\r\n // 单据状态\r\n // const result2 = await tApi({ ItemName: 'VoucherState' }, 'chanjet.AA.DR.NewRetailBaseInfo.GetRetailSearchItemList', false, false); \r\n // 收银员\r\n // const result3 = await tApi({ ItemName: 'Cashier' }, 'chanjet.AA.DR.NewRetailBaseInfo.GetRetailSearchItemList', false, false);\r\n \r\n \r\n return [result1, result2, result3];\r\n }\r\n\r\n /**\r\n * 获取服务器时间\r\n */\r\n static async getTime() {\r\n return '2019-05-15';\r\n }\r\n\r\n static formatNumber(number, length) {\r\n if (number === '' || number === undefined) {\r\n return number;\r\n }\r\n number += '';\r\n if (length == 0) {\r\n return parseInt(number);\r\n }\r\n if (number.indexOf('.') > 0) {\r\n number += '0000000000';\r\n } else {\r\n number += '.0000000000'\r\n }\r\n return number.substring(0,number.indexOf(\".\") + +length + 1)\r\n }\r\n}\r\n\r\n"]}
|
|
@@ -119,8 +119,8 @@ var _find3 = _interopRequireDefault(_find2);
|
|
|
119
119
|
|
|
120
120
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
121
121
|
|
|
122
|
-
/**
|
|
123
|
-
* 单据查询
|
|
122
|
+
/**
|
|
123
|
+
* 单据查询
|
|
124
124
|
*/
|
|
125
125
|
|
|
126
126
|
var SELECT_LIST = {
|
|
@@ -1182,10 +1182,10 @@ var BillSearch = function (_React$Component) {
|
|
|
1182
1182
|
}, {
|
|
1183
1183
|
key: 'initDetailData',
|
|
1184
1184
|
|
|
1185
|
-
/**
|
|
1186
|
-
* 初始化数据
|
|
1187
|
-
* @param {*} retailDTO
|
|
1188
|
-
* @param {*} detailData
|
|
1185
|
+
/**
|
|
1186
|
+
* 初始化数据
|
|
1187
|
+
* @param {*} retailDTO
|
|
1188
|
+
* @param {*} detailData
|
|
1189
1189
|
*/
|
|
1190
1190
|
value: function initDetailData(retailDTO, detailData) {
|
|
1191
1191
|
if (!retailDTO) {
|
|
@@ -1 +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","option","StartVoucherDate","EndVoucherDate","Key","KeyType","Inventory","Member","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","infoList","filter","RetailDetailDTO","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","preventDefault","input3","input4","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":["/**\n * 单据查询\n */\n\nimport React from 'react';\nimport { Page, Ticon, Keyboard, ModalWraper, ProgressState, Message } from '../../index';\nimport { Table, Radio, Checkbox, Select, DatePicker, Button, Input } from 'antd';\nimport { PosInitData } from 'tplus-poslogin';\nimport { Action } from 'mutants-appfx'\nimport moment from \"moment\";\nimport tools from '../../util/tools';\nimport billSearchApi from './api';\nimport './index.less';\nimport { platform } from 'mutants-util';\nimport _find from 'lodash/find';\n\n\nconst SELECT_LIST = {\n VoucherState:[],\n Navigator:[],\n DeliveryStatus:[],\n DistributionMode:[],\n DataSource:[],\n RetailType:[],\n VoucherType:[],\n Cashier:[],\n}\nconst { RangePicker } = DatePicker;\n\nconst Option = Select.Option;\n\nexport default class BillSearch extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n currentIndex: 1,\n value1: '',\n value2: '',\n value3: '',\n value4: '',\n value5: '',\n tableDataList: [],\n show: false,\n isLook: true, //区别查看、退货\n selectList: SELECT_LIST, // 收银员,业务状态,单据状态,导购员的下拉选项\n // navigatorList: [], // 导购的下拉\n record: {}, // 打印小票,用来记录 弹出框 弹出信息\n showModalData: [{}], // 弹出框显示的信息\n showSettleModalData: [{}],\n detailColumn: [], // 弹出框 的栏目信息\n detailColumnMeta: [],// 弹出框 的api取出来的栏目信息\n detailSettleColumn: [],\n selectedList: [], // 弹出框 checkbox选中的值集合。\n selectedIndexList: [],// 弹出框 checkbox选中的索引集合。\n refundInventoryDto: '', //退货相关信息\n listColumn: [],\n HeadFieldDesign: [],\n loading: false,\n option: {\n StartVoucherDate: '', // 单据开始日期\n EndVoucherDate: '', // 单据结束日期\n VoucherCode: '', //\n VoucherType: '', // 据业务类型,下拉选项,返回对应业务类型Id\n VoucherState: '', // 单据状态,下拉选项,返回枚举Id\n Navigator: '', // 导购,多选,返回导购Id,多个用英文逗号隔开,如:1,2,3,4\n Cashier: '', // 收银员,多选,返回收银员Id,多个用英文逗号隔开,如:1,2,3,4\n DataSource: '', // 数据来源 ,下拉选项,返回枚举Id\n DistributionMode: '', // 配送方式 ,下拉选项,返回枚举Id\n DeliveryStatus: '', // 发货状态 ,下拉选项,返回枚举Id\n RetailType:'',\n IdStore: props.idStore || ''\n },\n searchFilterItemShow: false,\n TotalTaxAmount: 0, // 合计\n isPickupCard: false\n }\n let { isNewRetailBCPos } = platform || {};\n this.isNewRetailBCPos = !!isNewRetailBCPos;\n }\n\n async componentDidMount() {\n this.getData();\n }\n\n async getData () {\n let that = this;\n const { idStore, type, storeData } = this.props;\n let listColumn = await billSearchApi.getPOSSearchRetailListDesigns();\n let selectListData = await billSearchApi.getRetailSearchItemList(idStore);\n let selectList = SELECT_LIST;\n selectListData && selectListData.forEach((item)=>{\n selectList[item.ItemType] = item.Items;\n })\n console.log(listColumn, selectList, 'select-----');\n let { HeadFieldDesign, list: detailColumn } = await billSearchApi.getPOSSearchDesigns();\n let value3 = '';\n if (type === 2) { //退货\n const { IdmarketingOrgan, POSCode, VoucherDate } = storeData;\n let result = await billSearchApi.getPOSOrigReturnListInitData({ IdmarketingOrgan, POSCode, VoucherDate });\n const { Code, DetailColumn, ListColumn } = result;\n value3 = Code;\n listColumn = ListColumn;\n HeadFieldDesign = DetailColumn.HeadFieldDesign;\n detailColumn = DetailColumn.list;\n }\n let detailColumnMeta = detailColumn;\n detailColumn = this.initDetailColumn(detailColumn, false);\n listColumn = listColumn.map(v => {\n let obj = {\n title: v.OriginalTitle,\n dataIndex: v.FieldName,\n key: v.FieldName,\n width: v.Width || 100,\n className: \"rowClassName\",\n Precision: v.Precision,\n IsFormat: v.IsFormat,\n ellipsis: true,\n }\n if (v.FieldName == 'VoucherDate' || v.FieldName == 'BusiTypeName') {\n obj.width = 110;\n }\n if (v.FieldName == 'Code') {\n obj.width = 210;\n obj.className = 'rowClassName rtl';\n obj.render = (text) => {\n let num = parseInt(obj.width / 8) - 2;\n let renderText = text.length > num ? '...' + text.substring(text.length - num) : text;\n return <span style={{ cursor: 'default' }} title={text}>{renderText}</span>\n }\n }\n if (v.Precision && v.IsFormat) {\n obj.render = (text, record, index) => {\n let val = (text || text === 0) ? text : '';\n let renderText = billSearchApi.formatNumber(val, v.Precision);\n return <span>{renderText}</span>\n }\n }\n if (v.FieldName == 'VoucherDate' || v.FieldName == 'ProductionDate' || v.FieldName == 'ExpiryDate') {\n obj.render = (text, record, index) => {\n let renderText = tools.dateFormat(text);\n return <span>{renderText}</span>\n }\n }\n return obj;\n })\n listColumn.push({\n title: \"操作\",\n dataIndex: \"i\",\n key: \"i\",\n width: 100,\n className: 'text-center',\n fixed: \"right\",\n render(text, record, index) {\n if(record.other) {\n return null;\n }\n return (\n <div className='bill-content-operation' title={text} >\n <a href=\"javascript:;\" onClick={that.rowShowClick.bind(that, record)} title='查看'>查看</a>\n {\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>\n }\n </div>\n )\n }\n })\n let endTime = moment().format('l');\n let startTime = moment().format('l');\n if (type === 2) startTime = moment().subtract(7, 'days').format('YYYY/MM/DD');\n this.setState({\n value3,\n HeadFieldDesign,\n detailColumn,\n detailColumnMeta,\n selectList,\n listColumn,\n option: { ...this.state.option, StartVoucherDate: startTime, EndVoucherDate: endTime }\n }, async () => {\n if (type !== 2) { //原单退货不执行此逻辑\n await this.getBillList(null);\n this.forceUpdate();\n }\n })\n }\n\n // 获取弹出框表格列信息\n initDetailColumn = (detailColumn, isCheckbox, checkIndexs) => {\n let { selectedIndexList, isPickupCard } = this.state;\n selectedIndexList = checkIndexs ? checkIndexs : selectedIndexList;\n let columns = [];\n let fixedIndex = 0;\n // 退货增加checkbox\n if (isCheckbox === true) {\n let obj = {\n title: '',\n width: 40,\n fixed: 'left'\n }\n obj.render = (text, record, index) => {\n let checked = selectedIndexList.indexOf(index) > -1;\n if (isPickupCard) {\n return (\n <Checkbox checked={true} />\n )\n } else {\n return <div onClick={() => this.handleCheckBox(1, !checked, record, index)}><Checkbox checked={checked} onChange={() => this.handleCheckBox(1, !checked, record, index)} /></div>\n }\n }\n columns.push(obj)\n }\n detailColumn.map((v, index) => {\n let obj = {\n title: v.OriginalTitle,\n dataIndex: v.FieldName,\n key: v.FieldName,\n width: v.Width || 120,\n className: \"rowClassName\",\n Precision: v.Precision,\n IsFormat: v.IsFormat,\n ellipsis: true,\n }\n if (v.FieldName == 'InventoryName') {\n fixedIndex = index;\n obj.fixed = 'left';\n obj.width = 120;\n if (isCheckbox === true) {\n obj.render = (text, record, index) => {\n let checked = selectedIndexList.indexOf(index) > -1;\n if (isPickupCard) {\n return <div className='columnTitle'>{text}</div>\n } else {\n return <div className='columnTitle' onClick={() => this.handleCheckBox(1, !checked, record, index)}>{text}</div>\n }\n }\n } else {\n obj.render = (text) => {\n return <div className='columnTitle'>{text}</div>\n }\n }\n }\n if (['Quantity', 'RetailPrice', 'TaxPrice', 'TaxAmount', 'Detaildiscountamount', 'Quantity2', 'MemberPrice', 'BookingAmount', 'BookingQuantity'].indexOf(v.FieldName) != -1) {\n obj.textAlign = 'right';\n }\n if (v.Precision && v.IsFormat) {\n obj.render = (text, record, index) => {\n let val = (text || text === 0) ? text : '';\n let renderText = billSearchApi.formatNumber(val, v.Precision);\n return <span>{renderText}</span>\n }\n }\n if (v.FieldName == 'VoucherDate' || v.FieldName == 'ProductionDate' || v.FieldName == 'ExpiryDate') {\n obj.render = (text, record, index) => {\n let renderText = tools.dateFormat(text);\n return <span>{renderText}</span>\n }\n }\n columns.push(obj);\n })\n if (isCheckbox === true){\n [columns[1],columns[fixedIndex+1]] = [columns[fixedIndex+1],columns[1]];\n } else {\n [columns[0],columns[fixedIndex]] = [columns[fixedIndex],columns[0]];\n }\n return columns\n }\n\n handleSettleColumn = ( modalData ) => {\n let column = [{ title: \"结算方式\", dataIndex: \"Amount\", key: \"Amount\", textAlign: 'center'}]\n // let columnWidth = modalData.length < 4? 570/modalData.length : 142.5\n modalData.forEach((v, index) => {\n let obj = {\n title: v.SettleName,\n dataIndex: 'Amount' + index,\n key: 'Amount' + index,\n textAlign: 'center',\n ellipsis: true,\n render: (text, record, index) => {\n let renderText = billSearchApi.formatNumber(text, 2);\n return <span>{renderText}</span>\n }\n }\n column.push(obj)\n })\n return column\n }\n\n handleSettleResult = ( settleResult ) => {\n let result = [{ Amount: \"金额\"}]\n settleResult.forEach((v, index) => {\n result[0]['Amount' + index] = v.Amount\n })\n return result\n }\n\n getBillList = async (status) => {\n const { type } = this.props;\n this.setState({ loading: true })\n const term = this.getSearchOption();\n let {TotalTaxAmount, TotalCount, TotalPage, PageSize, CurrentPage, Data } = await billSearchApi.searchRetailList(term);\n console.log(TotalCount, '-------------------------')\n if (!TotalCount || TotalCount == 0) {\n if (type === 2) {\n Message.error('单据不存在或无可退货商品!');\n } else {\n Message.error('无单据信息');\n }\n }\n this.setState({\n TotalTaxAmount,\n tableDataList: Data,\n TotalPage,\n loading: false,\n currentIndex: status ? this.state.currentIndex : 1\n })\n }\n\n getSearchOption = () => {\n const { type } = this.props;\n let { currentIndex, value1, value2, value3, value4, value5, option } = this.state\n return {\n ...{\n CurrentPage: currentIndex, // int 当前页,默认1\n PageSize: 15, // int 页大小,默认10\n StartVoucherDate: '', // datetime 单据开始日期\n EndVoucherDate: '', // datetime 单据结束日期\n Key: value3, // 单据编号,支持模糊查询\n KeyType: type === 2 ? '1' : '0', //区分原单退货与单据查询\n Inventory: value4, //string 商品名称(条形码、助记码、商品编码、商品名称)\n Member: value5, //string 会员(会员卡号、手机号、会员名称)\n VoucherType: '', // int 单据业务类型,下拉单选,返回对应业务类型Id\n VoucherState: '', // int 单据状态,下拉单选,返回枚举Id\n Navigator: '', // string 导购,多选,返回导购Id,多个用英文逗号隔开,如:1,2,3,4\n Cashier: '', // string 收银员,多选,返回收银员Id,多个用英文逗号隔开,如:1,2,3,4\n StartAdmount: value1, // decimal 起始金额\n EndAdmount: value2 // decimal 结束金额\n }, ...option\n }\n }\n\n previous = () => {\n this.setState({\n currentIndex: this.state.currentIndex - 1\n }, () => {\n this.getBillList('pageChange');\n })\n }\n\n next = () => {\n this.setState({\n currentIndex: this.state.currentIndex + 1\n }, () => {\n this.getBillList('pageChange');\n })\n }\n\n // 处理checkbox选中\n handleCheckBox = (state, checked, record, index) => {\n let arr1 = [], arr2 = [];\n let { selectedList, selectedIndexList, detailColumnMeta,showModalData } = this.state;\n switch (state) {\n case 0: //全选\n if (checked === true) {\n showModalData.map((item, ix) => { arr1.push(ix); arr2.push(item); })\n }\n break;\n case 1: //单选\n if (checked === true) {\n if (selectedIndexList.length > 0) {\n if (selectedIndexList.indexOf(index) == -1) {\n let arr11 = [], arr12 = [], arr21 = [], arr22 = []\n for (let i = 0; i < selectedIndexList.length; i++) {\n let item = selectedIndexList[i];\n if (index > item) {\n arr11.push(selectedIndexList[i])\n arr12.push(selectedList[i])\n } else {\n arr21.push(selectedIndexList[i])\n arr22.push(selectedList[i])\n }\n }\n arr1 = [...arr11, index, ...arr21];\n arr2 = [...arr12, record, ...arr22];\n }\n } else {\n arr1.push(index);\n arr2.push(record);\n }\n } else {\n if (selectedIndexList.indexOf(index) > -1) {\n selectedIndexList.map((item, ix) => {\n if (item !== index) {\n arr1.push(selectedIndexList[ix]);\n arr2.push(selectedList[ix])\n }\n })\n }\n }\n break;\n }\n console.log(arr1, 'arr1------')\n let detailColumn = this.initDetailColumn(detailColumnMeta, true, arr1);\n this.setState({ detailColumn: detailColumn, selectedList: arr2, selectedIndexList: arr1 })\n }\n\n onDateChange = (dateArray) => {\n console.log('dateArray => ', dateArray);\n let date1, date2;\n if (!dateArray || dateArray.length == 0) {\n console.log('没有传入dateArray');\n date1 = date2 = '';\n } else {\n date1 = tools.dateFormat(new Date(dateArray[0]), 'yyyy-MM-dd')\n date2 = tools.dateFormat(new Date(dateArray[1]), 'yyyy-MM-dd')\n }\n this.setState({\n option: { ...this.state.option, ...{ StartVoucherDate: date1, EndVoucherDate: date2 } }\n })\n }\n handleChange = (type, value) => {\n this.setState({\n option: { ...this.state.option, ...{ [type]: Array.isArray(value) ? value.join(',') : value } }\n })\n };\n\n search = () => {\n this.setState({\n currentIndex: 1\n }, () => {\n this.getBillList(null);\n Keyboard.close();\n })\n }\n\n onKeyup = (e) => {\n if (e.keyCode == 13) {\n this.search();\n }\n }\n\n onChange = (type, e) => {\n this.setState({\n ['value' + type]: e.target.value\n })\n }\n\n onFocus = (type) => {\n this.type = type;\n if (this.props.type && this.props.type != 2) {\n this['input' + ty].input.select()\n }\n Keyboard.open(v => {\n this.setState({\n ['value' + this.type]: Keyboard.getNewValue(this['input' + this.type].input, this.state['value' + this.type], v)\n })\n }, () => {\n this.search();\n Keyboard.close();\n })()\n }\n\n onBlur = (type) => {\n let value = parseFloat(this.state['value' + type]);\n this.setState({\n ['value' + type]: isNaN(value) ? '' : parseFloat((value + '').substring(0, this.props.amountMaxLength || 12))\n })\n }\n\n modalCancel = () => {\n const { type } = this.props;\n const { isLook } = this.state;\n if (type === 2 && isLook === false) {\n this.setState({ show: false, selectedList: [], selectedIndexList: [] })\n } else {\n this.setState({ show: false })\n }\n }\n\n // 弹框的确认事件\n modalOk = async () => {\n const { type, rowPrintClick, storeData } = this.props;\n const { record, isLook, isPickupCard } = this.state;\n if (type === 2 && isLook === false) { //退货\n if (isPickupCard) {\n let result = await billSearchApi.getRefundConsumer(record.ID, storeData);\n if (result.successful) {\n this.setState({\n show: false\n })\n Message.success('退货成功');\n const term = this.getSearchOption();\n let { Data } = await billSearchApi.searchRetailList(term);\n this.setState({\n tableDataList: Data\n })\n } else {\n Message.warn(result.errorMsg);\n }\n } else {\n this.handleRefundClick()\n }\n } else { //打印小票\n rowPrintClick && rowPrintClick(record)\n }\n }\n\n // 执行退货逻辑\n handleRefundClick = (status) => {\n let { handleRefundEvent, closeParentPage } = this.props;\n let { selectedList, refundInventoryDto, isPickupCard, showModalData } = this.state;\n if (!isPickupCard && selectedList && selectedList.length == 0) {\n Message.warn('至少选择一个退货信息');\n return;\n }\n let infoList = selectedList.filter(item => {\n let obj = item.RetailDetailDTO;\n if (obj.PromotionTypeStr || obj.PromotionIdStr || obj.PromotionCode) {\n return true;\n }\n return false;\n })\n // let infoStatus = JSON.getCellValue(refundInventoryDto, \"HasPromotionUsed\");\n if (infoList && infoList.length > 0 && !status) {//如果存在促销优惠商品,则执行确认逻辑。\n let that = this;\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: \"温馨提示\",\n content: '存在促销活动优惠的商品,是否确认退货?',\n cancelable: false,\n onOk() {\n that.handleRefundClick(true)\n },\n onCancel() { }\n })\n return;\n }\n let arr = [];\n isPickupCard ? showModalData.map(item => { arr.push(item.RetailDetailDTO) }) : selectedList.map(item => { arr.push(item.RetailDetailDTO) })\n refundInventoryDto.RetailDetails = arr;\n handleRefundEvent && handleRefundEvent(refundInventoryDto);\n this.setState({ show: false, selectedList: [], selectedIndexList: [] })\n closeParentPage && closeParentPage();\n }\n\n // 打开查看页面\n rowShowClick = async (record) => {\n let { type } = this.props;\n if (type === 2) { //退货\n this.rowRefundDetail(record, true)\n } else {\n this.rowSearchDetail(record);\n }\n }\n\n // 执行打印小票\n rowPrintClick = (record) => {\n this.props.rowPrintClick && this.props.rowPrintClick(record);\n }\n\n // 打开退货页面\n rowRefundClick = async (record) => {\n this.rowRefundDetail(record, false)\n }\n\n //单据查询(查看)\n rowSearchDetail = async (record) => {\n console.log('单据明细:', record)\n let result = await billSearchApi.getRetailDetail(record.Code, 0);\n let result1 = await billSearchApi.getRetailDetailInfo(record.Code)\n let { PaymentData } = result1\n let { detailColumnMeta } = this.state;\n const themode=_find(PaymentData,{'SettleCode':\"PICKUPCARD\"});\n this.setState({\n isPickupCard: themode ? true : false\n })\n let detailColumn = this.initDetailColumn(detailColumnMeta, false);\n PaymentData = typeof PaymentData === 'string' ? JSON.parse(PaymentData) : PaymentData;\n let detailSettleColumn = this.handleSettleColumn(PaymentData)\n let settleResult = this.handleSettleResult(PaymentData)\n this.setState({\n showModalData: result,\n showSettleModalData: settleResult,\n detailSettleColumn: detailSettleColumn,\n record: record,\n show: true,\n isLook: true,\n detailColumn: detailColumn\n })\n }\n\n //原单退货(查看、退货)\n rowRefundDetail = async (record, isLook) => {\n try {\n console.log('单据明细(退货):', record);\n this.setState({ loading: true });\n let { HeadFieldDesign, detailColumnMeta } = this.state;\n let result = await billSearchApi.getOrigRetailData(record.ID, { HeadFieldDesign: HeadFieldDesign, list: detailColumnMeta });\n let result1 = await billSearchApi.getRetailDetailInfo(record.Code)\n let { PaymentData } = result1\n PaymentData = typeof PaymentData === 'string' ? JSON.parse(PaymentData) : PaymentData;\n let detailSettleColumn = this.handleSettleColumn(PaymentData)\n let settleResult = this.handleSettleResult(PaymentData)\n let { RetailDTO, DetailData } = result;\n RetailDTO = typeof RetailDTO === 'string' ? JSON.parse(RetailDTO) : RetailDTO;\n DetailData = typeof DetailData === 'string' ? JSON.parse(DetailData) : DetailData;\n this.initDetailData(RetailDTO, DetailData);\n const themode=_find(PaymentData,{'SettleCode':\"PICKUPCARD\"});\n this.setState({\n isPickupCard: themode ? true : false\n })\n let detailColumn = this.initDetailColumn(detailColumnMeta, !isLook);\n this.setState({\n refundInventoryDto: RetailDTO,\n showModalData: DetailData,\n showSettleModalData: settleResult,\n detailSettleColumn: detailSettleColumn,\n record: record,\n show: true,\n isLook: isLook,\n detailColumn: detailColumn,\n loading: false,\n })\n } catch (ex) {\n this.setState({ loading: false })\n }\n }\n /**\n * 初始化数据\n * @param {*} retailDTO\n * @param {*} detailData\n */\n initDetailData(retailDTO,detailData)\n {\n if (!retailDTO) {\n return;\n }\n if (!detailData) {\n return;\n }\n for (let index = 0; index < detailData.length; index++) {\n const detail = detailData[index];\n let detailId=detail.detailId;\n detailData[index].RetailDetailDTO = retailDTO.RetailDetails.find(detail => detail.ID == detailId);\n }\n }\n clearValue = (type) => {\n this.setState({\n [type]: ''\n })\n }\n emptyFunc = () => {\n return <ProgressState\n state={\"empty\"}\n stateCommonStyle={{ height: \"100%\" }}\n empty={{ info: '暂无数据~~', buttonVisible: false }} />\n }\n changeSearchFilterItemShow = () => {\n this.setState({\n searchFilterItemShow: !this.state.searchFilterItemShow\n })\n }\n onClickAll = (type) => {\n if (type == 'date') { // 清空日期\n this.setState({\n option: {\n ...this.state.option,\n StartVoucherDate: '',\n EndVoucherDate: ''\n }\n })\n } else if (type == 'money') { // 清空金额\n this.setState({\n value1: '',\n value2: ''\n })\n } else if (type === 'value4') {\n this.setState({\n value4: '',\n })\n } else if(type === 'value5') {\n this.setState({\n value5: '',\n })\n } else { // 剩下的一些单选\n this.setState({\n option: {\n ...this.state.option,\n [type]: ''\n }\n })\n }\n }\n\n dateFormat = (date) => {\n if (date) {\n let _date = moment(date);\n return _date._isValid ? _date : ''\n }\n return '';\n }\n\n render() {\n let that = this;\n let loadingIcon = <img src='https://newretail.static.chanjet.com/loading.gif' style={{ width: '200px', height: '189px' }} />;\n let { isUUser, type } = this.props;\n let {\n currentIndex, value1, value2, value3,value4,value5,\n tableDataList, show, isLook, option,\n showModalData, detailColumn, showSettleModalData, detailSettleColumn, TotalPage,\n searchFilterItemShow, record, listColumn,selectedIndexList,HeadFieldDesign, isPickupCard\n } = this.state;\n\n tableDataList = [...tableDataList];\n tableDataList.push({\n VoucherType: \"\",\n Code: \"\",\n ID: tableDataList.length,\n TotalTaxAmount: this.state.TotalTaxAmount,\n VoucherDate: \"合计\",\n other: true,\n rownumber: tableDataList.length\n })\n\n // checkbox一些参数。\n let check = {\n isShowCheck: (type === 2 ? (isLook ? false : true) : false),\n isChecked: selectedIndexList.length > 0 && showModalData.length === selectedIndexList.length,\n checkedCount: selectedIndexList.length,\n pickupChecked: isPickupCard ? true: false,\n checkBoxEvent: (isAll, checked) => this.handleCheckBox(isAll, checked)\n }\n\n //是否退货\n let isRefund = (type === 2);\n\n //小畅电商\n const isEnableMinMall = !!PosInitData('IsEnableMinMall');\n\n //是否启用电商\n const isCommerce = PosInitData('ECommerce');\n let isSpecialQuery = isUUser || isCommerce;\n\n // 动态计算bill-title bill-content 高度 (根据筛选条件的个数 每行30px)\n // 行数 line\n let line = 0;\n\n if (isRefund) { //退货\n line = 7;\n } else {\n line = isSpecialQuery ? 10 : (isEnableMinMall ? 9 : 7)\n }\n\n let billTitleHeight = (30 + 16) * line + 30 - 8;\n\n if (!searchFilterItemShow) {\n billTitleHeight = 0;\n }\n\n let otherHeight = billTitleHeight + 32 + 16 + 10 + 16 + 30 + 10; // 最后一个10 是用来调整误差的\n\n if (searchFilterItemShow) {\n otherHeight += 16; // 打开状态,要多减去FilterTitle 的marginTop 16px\n }\n\n let billContentHeight = \"calc(100% - \" + otherHeight + \"px)\"\n\n const isEnableMember = PosInitData('isEnableMember');\n\n return (\n <div className='bill'>\n <div className='bill-filter'>\n {\n searchFilterItemShow ?\n <div className='mask1'></div>\n :\n null\n }\n {\n searchFilterItemShow ?\n <div className='mask2'></div>\n :\n null\n }\n <div className={`bill-filter-on-off ${searchFilterItemShow ? \"bill-filter-on-off-show\" : \"\"}`} onClick={this.changeSearchFilterItemShow} >高级筛选\n <Ticon type='shaixuan' className='bill-search-icon' />\n </div>\n <div className='bill-title-item'>\n <div className='bill-title-search'>\n <Input.Group className='bill-group'>\n <Input\n prefix={<Ticon type='sousuo' className='bill-search-icon' />}\n suffix={value3 ? <Ticon type='guanbi-yuan' className='bill-search-icon-right' onClick={this.clearValue.bind(this, 'value3')} onMouseDown={e => e.preventDefault()} /> : null}\n type=\"text\"\n placeholder='单据编码'\n value={value3}\n className='bill-title-search-input'\n onChange={this.onChange.bind(this, 3)}\n onClick={this.onFocus.bind(this, 3)}\n onKeyUp={this.onKeyup}\n onBlur={() => {\n Keyboard.close();\n }}\n ref={input => this.input3 = input} />\n </Input.Group>\n </div>\n <Button onClick={this.search} type='primary' className='bill-search-button'>搜索</Button>\n </div>\n </div>\n <div className={`bill-title ${searchFilterItemShow ? '' : 'bill-title-close'}`} style={{height: billTitleHeight}}>\n {\n <div className='bill-title-item'>\n <label><span>商</span><span>品</span><span>名</span><span>称</span></label>:\n <div className={`bill-title-item-all ${value4 ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'value4')}>全部</div>\n <Input type=\"text\"\n placeholder='条形码/助记码/商品编码/商品名称'\n value={value4}\n className='bill-title-txt-input'\n onChange={this.onChange.bind(this, 4)}\n onClick={this.onFocus.bind(this, 4)}\n ref={input => this.input4 = input} />\n </div>\n }\n {\n isEnableMember &&\n <div className='bill-title-item'>\n <label><span>会</span><span></span><span></span><span>员</span></label>:\n <div className={`bill-title-item-all ${value5 ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'value5')}>\n 全部\n </div>\n <Input type=\"text\"\n placeholder='会员卡号/手机号/会员名称'\n value={value5}\n className='bill-title-txt-input'\n onChange={this.onChange.bind(this, 5)}\n onClick={this.onFocus.bind(this, 5)}\n ref={input => this.input5 = input} />\n </div>\n }\n\n <div className='bill-title-item'>\n <label><span>单</span><span>据</span><span>日</span><span>期</span></label>:\n <div className={`bill-title-item-all ${option.StartVoucherDate ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'date')}>全部</div>\n <RangePicker\n placeholder={['开始', '结束']}\n format='YYYY-MM-DD'\n onChange={this.onDateChange}\n defaultValue={[moment(), moment()]}\n value={[this.dateFormat(option.StartVoucherDate), this.dateFormat(option.EndVoucherDate)]}\n />\n </div>\n {\n (isRefund === false && (isSpecialQuery || isEnableMinMall)) ?\n <div className='bill-title-item'>\n <label><span>发</span><span>货</span><span>状</span><span>态</span></label>:\n <div className={`bill-title-item-all ${option.DeliveryStatus ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'DeliveryStatus')}>全部</div>\n {\n this.state.selectList[\"DeliveryStatus\"].length > 0 ?\n <Radio.Group\n // name=\"fruit\"\n value={this.state.option.DeliveryStatus}\n onChange={e => this.handleChange('DeliveryStatus', e.target.value)}>\n {\n this.state.selectList[\"DeliveryStatus\"].map(v => {\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.DeliveryStatus}>{v.Name}</Radio.Button>\n })\n }\n </Radio.Group>\n :\n null\n }\n </div>\n :\n null\n }\n {\n isRefund === false && isSpecialQuery ?\n <div className='bill-title-item'>\n <label><span>数</span><span>据</span><span>来</span><span>源</span></label>:\n <div className={`bill-title-item-all ${option.DataSource ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'DataSource')}>全部</div>\n {\n this.state.selectList['DataSource'].length > 0 ?\n <Radio.Group\n // name=\"fruit\"\n value={this.state.option.DataSource}\n onChange={e => this.handleChange('DataSource', e.target.value)}>\n {\n this.state.selectList['DataSource'].map(v => {\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.DataSource}>{v.Name}</Radio.Button>\n })\n }\n </Radio.Group>\n :\n null\n }\n </div>\n :\n null\n }\n {\n isRefund === false && isSpecialQuery ?\n <div className='bill-title-item'>\n <label><span>配</span><span>送</span><span>方</span><span>式</span></label>:\n <div className={`bill-title-item-all ${option.DistributionMode ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'DistributionMode')}>全部</div>\n {\n this.state.selectList['DistributionMode'].length > 0 ?\n <Radio.Group\n // name=\"fruit\"\n value={this.state.option.DistributionMode}\n onChange={e => this.handleChange('DistributionMode', e.target.value)}>\n {\n this.state.selectList['DistributionMode'].map(v => {\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.DistributionMode}>{v.Name}</Radio.Button>\n })\n }\n </Radio.Group>\n :\n null\n }\n </div>\n :\n null\n }\n {\n isRefund === false &&\n <div className='bill-title-item'>\n {\n this.isNewRetailBCPos ?\n (<label><span>单</span><span>据</span><span>类</span><span>型</span></label>)\n :\n (<label><span>业</span><span>务</span><span>类</span><span>型</span></label>)\n }:\n <div className={`bill-title-item-all ${option.VoucherType ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'VoucherType')}>全部</div>\n {\n this.state.selectList['VoucherType'].length > 0 ?\n <Radio.Group\n value={this.state.option.VoucherType}\n onChange={e => this.handleChange('VoucherType', e.target.value)}>\n {\n this.state.selectList['VoucherType'].map(v => {\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.VoucherType}>{v.Name}</Radio.Button>\n })\n }\n </Radio.Group>\n :\n null\n }\n </div>\n }\n <div className='bill-title-item'>\n <label><span>业</span><span>务</span><span>类</span><span>型</span></label>:\n <div className={`bill-title-item-all ${option.RetailType ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'RetailType')}>全部</div>\n {\n this.state.selectList['RetailType'].length > 0 ?\n <Radio.Group\n value={this.state.option.RetailType}\n onChange={e => this.handleChange('RetailType', e.target.value)}>\n {\n this.state.selectList['RetailType'].map(v => {\n return <Radio.Button value={v.Id + ''} key={v.Id} checked={v.ID == this.state.option.RetailType}>{v.Name}</Radio.Button>\n })\n }\n </Radio.Group>\n :\n null\n }\n </div>\n <div className='bill-title-item'>\n <label><span>金</span><span>额</span><span>范</span><span>围</span></label>:\n <div className={`bill-title-item-all ${(value1 || value2) ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'money')}>全部</div>\n <Input type=\"text\"\n value={value1}\n className='bill-title-money-input'\n onChange={this.onChange.bind(this, 1)}\n onClick={this.onFocus.bind(this, 1)}\n onBlur={this.onBlur.bind(this, 1)}\n ref={input => this.input1 = input} />\n <span className='bill-title-money-middle'>至</span>\n <Input type=\"text\"\n value={value2}\n className='bill-title-money-input'\n onChange={this.onChange.bind(this, 2)}\n onClick={this.onFocus.bind(this, 2)}\n onBlur={this.onBlur.bind(this, 2)}\n ref={input => this.input2 = input} />\n </div>\n <div className='bill-title-item'>\n <label><span>导</span><span>购</span></label>:\n <div className={`bill-title-item-all ${option.Navigator ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'Navigator')}>全部</div>\n <Select\n mode='multiple'\n showArrow={true}\n notFoundContent=' '\n optionLabelProp='showValue'\n style={{ width: '200px', marginRight: 6 }}\n onChange={this.handleChange.bind(this, 'Navigator')}\n showSearch={false}\n value={option.Navigator ? option.Navigator.split(\",\") : []}\n maxTagCount={2}\n >\n {\n this.state.selectList['Navigator'].map(v => {\n return <Option key={v.Id} value={v.Id + ''} showValue={v.Name} >{v.Name}</Option>\n })\n }\n </Select>\n </div>\n <div className='bill-title-item'>\n <label><span>收</span><span>银</span><span>员</span></label>:\n <div className={`bill-title-item-all ${option.Cashier ? '' : 'text-default'}`} onClick={this.onClickAll.bind(this, 'Cashier')}>全部</div>\n <Select\n mode='multiple'\n showArrow={true}\n notFoundContent=' '\n style={{ width: '200px', marginRight: 6 }}\n onChange={this.handleChange.bind(this, 'Cashier')}\n showSearch={false}\n value={option.Cashier ? option.Cashier.split(\",\") : []}\n maxTagCount={2}\n >\n {\n this.state.selectList['Cashier'].map(v => {\n return <Option key={v.Id} value={v.Id + ''} >{v.Name}</Option>\n })\n }\n </Select>\n </div>\n </div>\n <div className={`bill-content ${tableDataList && tableDataList.length > 1 ? '' : 'nodata'} `} style={{height: billContentHeight}}>\n {\n tableDataList.length > 1 ?\n <Table\n columns={listColumn}\n dataSource={tableDataList}\n parentNodeId='parent'\n loading={{\n spinning: this.state.loading,\n indicator: loadingIcon\n }}\n sticky\n pagination={false}\n scroll={{ x: 900, y: \"calc(~'100% - 75px')\" }}\n className='bill-table'/>\n :\n this.emptyFunc()\n }\n </div>\n <div className='bill-page'>\n <Page\n total={TotalPage}\n currentIndex={currentIndex}\n previous={this.previous}\n next={this.next}\n />\n </div>\n\n <ModalWraper\n show={show}\n cancel={this.modalCancel}\n ok={this.modalOk}\n okText={type === 2 ? (isLook ? '打小票' : '退货') : '打小票'}\n title='单据明细'\n className='bill-modal'\n width='802'\n option={option}\n okable={type === 2 ? (isLook ? false : true) : true}\n check={check}\n modalType=\"big\"\n >\n <div className='bill-modal-content'>\n <div className='bill-modal-content-header'>\n {\n HeadFieldDesign ?\n HeadFieldDesign.map(item => {\n if (!item.IsShow) {\n return null;\n }\n let renderText = item.FieldName == 'VoucherDate' ? tools.dateFormat(record[item.FieldName]) : record[item.FieldName];\n let col = listColumn.find(it => it.key == item.FieldName);\n if (col && col.Precision && col.IsFormat) {\n renderText = billSearchApi.formatNumber(renderText, col.Precision)\n }\n return (\n <div className='bill-modal-content-header-item' key={item.FieldName}><span>{item.OriginalTitle}:</span> <span>{renderText}</span></div>\n )\n })\n : null\n }\n\n </div>\n <div className='bill-modal-content-table'>\n <Table\n columns={detailColumn}\n dataSource={showModalData}\n parentNodeId='parent'\n scroll={{ y: 257 }}\n pagination={false}\n className='bill-modal-table'/>\n </div>\n <div className='bill-settlement'>\n <Table\n columns={detailSettleColumn}\n dataSource={showSettleModalData}\n parentNodeId='parent'\n scroll={{ y: 257 }}\n pagination={false}/>\n </div>\n </div>\n </ModalWraper>\n </div>\n )\n }\n}"]}
|
|
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","option","StartVoucherDate","EndVoucherDate","Key","KeyType","Inventory","Member","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","infoList","filter","RetailDetailDTO","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","preventDefault","input3","input4","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 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, 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 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 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 { // 剩下的一些单选\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,\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\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 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'\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 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'\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}"]}
|