tplus-components-touch 3.41.5 → 3.41.6
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/dist/components/billSearch/index.js +1 -1
- package/dist/components/billSearch/index.js.map +1 -1
- package/dist/components/deliverySearch/index.js +1 -1
- package/dist/components/deliverySearch/index.js.map +1 -1
- package/dist/components/hotKey/index.js +5 -0
- package/dist/components/hotKey/index.js.map +1 -1
- package/dist/components/inventorySearch/tab.js +1 -1
- package/dist/components/inventorySearch/tab.js.map +1 -1
- package/dist/components/loading/loadingContent.js +1 -1
- package/dist/components/loading/loadingContent.js.map +1 -1
- package/dist/components/settlement/settlement.js +0 -8
- package/dist/components/settlement/settlement.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["tplus-components-touch/components/deliverySearch/index.js"],"names":["RangePicker","DeliverySearch","props","sys_parms","orangeloading","window","ossAliyuncsFileURL","blueloading","initDeliverySearch","idStore","billSearchApi","GetPOSSearchECommerceListDesigns","listColumn","getRetailSearchItemList","selectList","getPOSSearchDesigns","HeadFieldDesign","detailColumn","list","value3","listColumnMeta","detailColumnMeta","initMasterColumn","endTime","format","startTime","setState","option","state","StartVoucherDate","EndVoucherDate","getBillList","forceUpdate","checkIndexs","that","selectedIndexList","map","obj","title","v","OriginalTitle","dataIndex","FieldName","key","width","Width","className","Precision","IsFormat","ellipsis","render","text","num","parseInt","renderText","length","substring","cursor","record","index","formatNumber","tools","dateFormat","unshift","checked","indexOf","handleCheckBox","push","fixed","other","handleRowShowClick","rowPrintClick","initDetailColumn","details","columns","textAlign","val","status","noWarn","loading","term","getSearchOption","searchRetailList","TotalCount","TotalPage","Data","Message","error","tableDataList","currentIndex","value1","value2","value4","value5","CurrentPage","PageSize","Key","KeyType","Inventory","Member","BusinessType","VoucherState","StartAdmount","EndAdmount","onDateChange","dateArray","console","log","date1","date2","Date","handleChange","type","value","Array","isArray","join","arr1","arr2","selectedList","item","ix","arr11","arr12","arr21","arr22","i","search","Keyboard","close","onKeyup","e","keyCode","onChange","target","onFocus","ty","input","select","open","getNewValue","onBlur","parseFloat","isNaN","amountMaxLength","modalCancel","show","modalOk","Code","handleSendInventory","handleBtn","warn","codelist","codeList","callback","_this","IsHaveDetailRefund","posCode","result","ret","JSON","parse","Success","ModalWraper","confirm","content","onOk","retails","arr","split","forEach","ID","doSendInventory","onCancel","handleUnSeedsCountEvent","handleLoadPageEvent","ECommerceSeedGoods","success","setTimeout","err","getRetailDetail","showModalData","clearValue","emptyFunc","height","info","buttonVisible","changeSearchFilterItemShow","searchFilterItemShow","onClickAll","date","_date","_isValid","loadingIcon","theme","localStore","get","img","Items","VoucherCode","DataSource","DistributionMode","DeliveryStatus","IdStore","PosInitData","retailDTO","detailData","detail","detailId","RetailDetailDTO","RetailDetails","find","checkedCount","isAllChecked","billTitleHeight","otherHeight","billContentHeight","bind","preventDefault","input3","input1","input2","spinning","indicator","x","y","IsShow","col","it","React","Component"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * 原单退货查询\r\n */\r\nimport React from 'react';\r\nimport { Table, Checkbox, DatePicker, Button, Input } from 'antd';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { localStore } from 'mutants-util';\r\nimport moment from \"moment\";\r\nimport { Page, Ticon, Keyboard, ModalWraper, ProgressState, Message } from '../../index';\r\nimport billSearchApi from './api';\r\nimport tools from '../../util/tools';\r\nimport './index.less';\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\nexport default class DeliverySearch extends React.Component {\r\n\r\n sys_parms = {\r\n orangeloading: `${window.ossAliyuncsFileURL}/bc_pos/loading3.gif`,\r\n blueloading: `${window.ossAliyuncsFileURL}/bc_pos/loading4.gif`,\r\n }\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 selectList: [{ Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }], // 收银员,业务状态,单据状态,导购员的下拉选项\r\n record: {}, // 打印小票,用来记录 弹出框 弹出信息\r\n showModalData: [{}], // 弹出框显示的信息\r\n detailColumn: [], // 弹出框的栏目信息\r\n detailColumnMeta:[], // api弹出框的栏目信息\r\n listColumn: [], // 列表栏目信息\r\n listColumnMeta: [], // api取出来的列表栏目信息\r\n selectedList: [], // checkbox选中的值集合。\r\n selectedIndexList: [], // checkbox选中的索引集合\r\n\r\n HeadFieldDesign: [],\r\n loading: false,\r\n option: {\r\n StartVoucherDate: '', // 单据开始日期\r\n EndVoucherDate: '', // 单据结束日期\r\n VoucherCode: '', // 单据编码\r\n BusinessType: '', // 据业务类型,下拉选项,返回对应业务类型Id\r\n VoucherState: '', // 单据状态,下拉选项,返回枚举Id\r\n DataSource: '', // 数据来源 ,下拉选项,返回枚举Id\r\n DistributionMode: '', // 配送方式 ,下拉选项,返回枚举Id\r\n DeliveryStatus: '', // 发货状态 ,下拉选项,返回枚举Id\r\n IdStore: props.idStore || ''\r\n },\r\n searchFilterItemShow: true\r\n }\r\n this.posCode = PosInitData && PosInitData('posCode');\r\n }\r\n\r\n componentDidMount() {\r\n this.initDeliverySearch();\r\n }\r\n\r\n initDeliverySearch = async () => {\r\n const { idStore } = this.props;\r\n let listColumn = await billSearchApi.GetPOSSearchECommerceListDesigns();\r\n let selectList = await billSearchApi.getRetailSearchItemList(idStore);\r\n let { HeadFieldDesign, list: detailColumn } = await billSearchApi.getPOSSearchDesigns();\r\n let value3 = '';\r\n let listColumnMeta = listColumn;\r\n let detailColumnMeta = detailColumn;\r\n listColumn = this.initMasterColumn(listColumn);\r\n let endTime = moment().format('l');\r\n let startTime = moment().format('l');\r\n this.setState({\r\n value3,\r\n HeadFieldDesign,\r\n detailColumn,\r\n detailColumnMeta,\r\n selectList,\r\n listColumn,\r\n listColumnMeta,\r\n option: { ...this.state.option, StartVoucherDate: startTime, EndVoucherDate: endTime }\r\n }, async () => {\r\n await this.getBillList(null);\r\n this.forceUpdate();\r\n })\r\n }\r\n\r\n // 初始化主表的表格列信息\r\n initMasterColumn = (listColumn, checkIndexs) => {\r\n let that = this;\r\n let { selectedIndexList } = this.state;\r\n selectedIndexList = checkIndexs ? checkIndexs : selectedIndexList;\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,\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 = v.Width || 120;\r\n }\r\n if (v.FieldName == 'Code') {\r\n obj.width = v.Width || 220;\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 (obj.width) obj.width = v.Width || 100;\r\n if (v.Precision && v.IsFormat) {\r\n obj.render = (text, record, index) => {\r\n let renderText = billSearchApi.formatNumber(text, 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.unshift({\r\n title: '',\r\n dataIndex: \"i\",\r\n key: \"i\",\r\n width: 40,\r\n render(text, record, index) {\r\n let checked = selectedIndexList.indexOf(index) > -1;\r\n return (<div className='columnTitle' onClick={() => that.handleCheckBox(1, !checked, record, index)}>\r\n <Checkbox checked={checked} onChange={() => that.handleCheckBox(1, !checked, record, index)} />\r\n </div>)\r\n }\r\n })\r\n listColumn.push({\r\n title: \"操作\",\r\n dataIndex: \"j\",\r\n key: \"j\",\r\n width: 100,\r\n className: 'text-center',\r\n fixed: \"right\",\r\n render(text, record) {\r\n if (record.other) return null;\r\n return (\r\n <div className='bill-content-operation' title={text} >\r\n <a href=\"javascript:;\" onClick={() => that.handleRowShowClick(record)} title='查看'>查看</a>\r\n <a href=\"javascript:;\" onClick={() => that.rowPrintClick(record)} title='打小票'>打小票</a>\r\n </div>\r\n )\r\n }\r\n })\r\n return listColumn;\r\n }\r\n\r\n // 初始化弹出框表格列信息\r\n initDetailColumn = (details) => {\r\n let columns = [];\r\n details.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 obj.fixed = 'left';\r\n obj.width = 300;\r\n obj.render = (text) => {\r\n return <div className='columnTitle' style={{width:'280px'}}>{text}</div>\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 return columns;\r\n }\r\n\r\n getBillList = async (status,noWarn) => {\r\n this.setState({ loading: true })\r\n const term = this.getSearchOption();\r\n let { TotalCount, TotalPage, Data } = await billSearchApi.searchRetailList(term);\r\n if ((!TotalCount || TotalCount == 0) && !noWarn) {\r\n Message.error('无配送订单信息');\r\n }\r\n this.setState({\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 let { currentIndex, value1, value2, value3, value4, value5, option } = this.state\r\n return {\r\n ...{\r\n CurrentPage: currentIndex,\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 Key: value3,\t // 单据编号,支持模糊查询\r\n KeyType: '2', // 美团配送\r\n Inventory: value4, // string 商品名称(条形码、助记码、商品编码、商品名称)\r\n Member: value5, // string 会员(会员卡号、手机号、会员名称)\r\n BusinessType: '',\t // int\t单据业务类型,下拉单选,返回对应业务类型Id\r\n VoucherState: '',\t // int\t单据状态,下拉单选,返回枚举Id\r\n StartAdmount: value1,\t // decimal \t 起始金额\r\n EndAdmount: value2\t // decimal\t结束金额\r\n }, ...option\r\n }\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\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 // 处理checkbox选中\r\n handleCheckBox = (state, checked, record, index) => {\r\n let arr1 = [], arr2 = [];\r\n let { selectedList, selectedIndexList, listColumnMeta, tableDataList } = this.state;\r\n switch (state) {\r\n case 0: //全选\r\n if (checked === true) {\r\n tableDataList.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 let listColumn = this.initMasterColumn(listColumnMeta, arr1);\r\n this.setState({ listColumn: listColumn, selectedList: arr2, selectedIndexList: arr1 })\r\n }\r\n\r\n search = (noWarn) => {\r\n this.setState({\r\n currentIndex: 1\r\n }, () => {\r\n this.getBillList(null, noWarn);\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({ ['value' + type]: e.target.value })\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 // 弹框-取消\r\n modalCancel = () => {\r\n this.setState({ show: false })\r\n }\r\n\r\n // 弹出框-发货\r\n modalOk = () => {\r\n //执行发货逻辑\r\n const { record } = this.state;\r\n const { Code } = record || {};\r\n this.handleSendInventory(Code, () => { this.modalCancel() })\r\n }\r\n\r\n //配送\r\n handleBtn = () => {\r\n const { selectedList } = this.state;\r\n if (selectedList && selectedList.length == 0) {\r\n Message.warn('请选择要配送的订单');\r\n return;\r\n }\r\n let list = [];\r\n let codelist = \"\";\r\n selectedList.map(v => {\r\n const { Code } = v;\r\n if (Code) list.push(Code);\r\n })\r\n if (list && list.length > 0) {\r\n codelist = list.join(',');\r\n }\r\n this.handleSendInventory(codelist)\r\n }\r\n\r\n // 执行配送\r\n handleSendInventory = async (codeList, callback) => {\r\n try {\r\n let _this = this;\r\n const { idStore } = this.props;\r\n const result = await billSearchApi.IsHaveDetailRefund(codeList, idStore, _this.posCode);\r\n let ret = (typeof result == 'string') ? JSON.parse(result) : result;\r\n if (ret.Success === true) {\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '订单已部分退款,是否重打小票?',\r\n onOk: async() => {\r\n let retails = ret.Message;\r\n let arr = [];\r\n if (retails) {\r\n arr = retails.split(',');\r\n }\r\n if (arr && arr.length > 0) {\r\n arr.forEach(item => {\r\n _this.rowPrintClick({ ID: item })\r\n })\r\n }\r\n await _this.doSendInventory(codeList, idStore, callback)\r\n },\r\n onCancel: async() => {\r\n await _this.doSendInventory(codeList, idStore, callback)\r\n }\r\n })\r\n } else {\r\n await _this.doSendInventory(codeList, idStore, callback)\r\n }\r\n } catch (ex) {\r\n Message.error(\"执行配送失败:\" + ex);\r\n }\r\n }\r\n\r\n doSendInventory = async (codeList, idStore, callback) => {\r\n const { listColumnMeta } = this.state;\r\n const { handleUnSeedsCountEvent, handleLoadPageEvent } = this.props;\r\n const result = await billSearchApi.ECommerceSeedGoods(codeList, idStore, this.posCode);\r\n console.log('执行配送', result);\r\n let ret = (typeof result == 'string') ? JSON.parse(result) : result;\r\n if (ret.Success === true) {\r\n Message.success('配送成功!');\r\n let listColumn = this.initMasterColumn(listColumnMeta, []);\r\n this.setState({ listColumn: listColumn, selectedList: [], selectedIndexList: [] })\r\n if (typeof handleLoadPageEvent == 'function') handleLoadPageEvent();\r\n if (typeof handleUnSeedsCountEvent == 'function') handleUnSeedsCountEvent();\r\n if (typeof callback == 'function') callback();\r\n setTimeout(() => { this.search(true) }, 0)\r\n } else {\r\n let err = ret && ret.Message;\r\n Message.error(\"配送失败:\" + err);\r\n }\r\n }\r\n\r\n // 打开(查看)页面\r\n handleRowShowClick = async (record) => {\r\n console.log('单据明细:', record)\r\n let result = await billSearchApi.getRetailDetail(record.Code, 2);\r\n let { detailColumnMeta } = this.state;\r\n let detailColumn = this.initDetailColumn(detailColumnMeta);\r\n this.setState({\r\n showModalData: result,\r\n record: record,\r\n show: true,\r\n detailColumn: detailColumn\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 * 初始化数据\r\n * @param {*} retailDTO\r\n * @param {*} detailData\r\n */\r\n initDetailData(retailDTO, detailData) {\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 { // 剩下的一些单选\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 loadingIcon = () => {\r\n const theme = localStore.get('theme');\r\n const img = (theme == 'blue' || theme == 'dark') ? this.sys_parms.blueloading : this.sys_parms.orangeloading;\r\n return (\r\n <img src={img} style={{ width: '90px', height: '90px' }} />\r\n )\r\n }\r\n\r\n render() {\r\n let {\r\n currentIndex, value1, value2, value3, value4, value5,\r\n tableDataList, show, option,\r\n showModalData, detailColumn, TotalPage,\r\n searchFilterItemShow, record, listColumn, selectedIndexList, HeadFieldDesign\r\n } = this.state;\r\n tableDataList = [...tableDataList];\r\n\r\n let checkedCount = selectedIndexList.length;\r\n let isAllChecked = selectedIndexList.length > 0 && tableDataList.length === selectedIndexList.length;\r\n\r\n let billTitleHeight = (30 + 16) * 2 + 30 - 8;\r\n if (!searchFilterItemShow) {\r\n billTitleHeight = 0;\r\n }\r\n let otherHeight = billTitleHeight + 32 + 16 + 10 + 16 + 30 + 0; // 最后一个10 是用来调整误差的\r\n if (searchFilterItemShow) {\r\n otherHeight += 16; // 打开状态,要多减去FilterTitle 的marginTop 16px\r\n }\r\n let billContentHeight = \"calc(100% - \" + otherHeight + \"px)\";\r\n return (\r\n <div className='delivery'>\r\n <div className='delivery-filter'>\r\n {\r\n searchFilterItemShow ? <div className='mask1'></div> : null\r\n }\r\n {\r\n searchFilterItemShow ? <div className='mask2'></div> : null\r\n }\r\n <div className={`bill-filter-on-off ${searchFilterItemShow ? \"bill-filter-on-off-show\" : \"\"}`} onClick={this.changeSearchFilterItemShow}>\r\n 高级筛选\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 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={`delivery-title ${searchFilterItemShow ? '' : 'delivery-title-close'}`} style={{ height: billTitleHeight }}>\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 ? '' : 'bill-title-item-all-active'}`} 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 <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) ? '' : 'bill-title-item-all-active'}`} 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>\r\n <div className={`delivery-content ${tableDataList && tableDataList.length > 0 ? '' : 'nodata'} `} style={{ height: billContentHeight }}>\r\n {\r\n tableDataList.length > 0 ?\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: this.loadingIcon()\r\n }}\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='delivery-footer'>\r\n <div className='check'>\r\n <Checkbox checked={isAllChecked} onClick={() => this.handleCheckBox(0, !isAllChecked)}>全选({checkedCount})</Checkbox>\r\n </div>\r\n <div className='btns'>\r\n <Button className='btn' type=\"primary\" onClick={this.handleBtn}>配送</Button>\r\n </div>\r\n </div>\r\n <ModalWraper\r\n show={show}\r\n cancel={this.modalCancel}\r\n ok={this.modalOk}\r\n okText='配送'\r\n title='订单明细'\r\n className='bill-modal'\r\n width='802'\r\n option={option}\r\n okable={true}\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 pagination={false}\r\n scroll={{ x: 758, y: 257 }}\r\n className='bill-modal-table'/>\r\n </div>\r\n </div>\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}"]}
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/deliverySearch/index.js"],"names":["RangePicker","DeliverySearch","props","sys_parms","orangeloading","window","ossAliyuncsFileURL","blueloading","initDeliverySearch","idStore","billSearchApi","GetPOSSearchECommerceListDesigns","listColumn","getRetailSearchItemList","selectList","getPOSSearchDesigns","HeadFieldDesign","detailColumn","list","value3","listColumnMeta","detailColumnMeta","initMasterColumn","endTime","format","startTime","setState","option","state","StartVoucherDate","EndVoucherDate","getBillList","forceUpdate","checkIndexs","that","selectedIndexList","map","obj","title","v","OriginalTitle","dataIndex","FieldName","key","width","Width","className","Precision","IsFormat","ellipsis","render","text","num","parseInt","renderText","length","substring","cursor","record","index","formatNumber","tools","dateFormat","unshift","checked","indexOf","handleCheckBox","push","fixed","other","handleRowShowClick","rowPrintClick","initDetailColumn","details","columns","textAlign","val","status","noWarn","loading","term","getSearchOption","searchRetailList","TotalCount","TotalPage","Data","Message","error","tableDataList","currentIndex","value1","value2","value4","value5","CurrentPage","PageSize","Key","KeyType","Inventory","Member","BusinessType","VoucherState","StartAdmount","EndAdmount","onDateChange","dateArray","console","log","date1","date2","Date","handleChange","type","value","Array","isArray","join","arr1","arr2","selectedList","item","ix","arr11","arr12","arr21","arr22","i","search","Keyboard","close","onKeyup","e","keyCode","onChange","target","onFocus","ty","input","select","open","getNewValue","onBlur","parseFloat","isNaN","amountMaxLength","modalCancel","show","modalOk","Code","handleSendInventory","handleBtn","warn","codelist","codeList","callback","_this","IsHaveDetailRefund","posCode","result","ret","JSON","parse","Success","ModalWraper","confirm","content","onOk","retails","arr","split","forEach","ID","doSendInventory","onCancel","handleUnSeedsCountEvent","handleLoadPageEvent","ECommerceSeedGoods","success","setTimeout","err","getRetailDetail","showModalData","clearValue","emptyFunc","height","info","buttonVisible","changeSearchFilterItemShow","searchFilterItemShow","onClickAll","date","_date","_isValid","loadingIcon","theme","localStore","get","img","Items","VoucherCode","DataSource","DistributionMode","DeliveryStatus","IdStore","PosInitData","retailDTO","detailData","detail","detailId","RetailDetailDTO","RetailDetails","find","checkedCount","isAllChecked","billTitleHeight","otherHeight","billContentHeight","bind","preventDefault","input3","input1","input2","spinning","indicator","x","y","IsShow","col","it","React","Component"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * 原单退货查询\r\n */\r\nimport React from 'react';\r\nimport { Table, Checkbox, DatePicker, Button, Input } from 'antd';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { localStore } from 'mutants-util';\r\nimport moment from \"moment\";\r\nimport { Page, Ticon, Keyboard, ModalWraper, ProgressState, Message } from '../../index';\r\nimport billSearchApi from './api';\r\nimport tools from '../../util/tools';\r\nimport './index.less';\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\nexport default class DeliverySearch extends React.Component {\r\n\r\n sys_parms = {\r\n orangeloading: `${window.ossAliyuncsFileURL}/bc_pos/loading3.gif`,\r\n blueloading: `${window.ossAliyuncsFileURL}/bc_pos/loading4.gif`,\r\n }\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 selectList: [{ Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }, { Items: [] }], // 收银员,业务状态,单据状态,导购员的下拉选项\r\n record: {}, // 打印小票,用来记录 弹出框 弹出信息\r\n showModalData: [{}], // 弹出框显示的信息\r\n detailColumn: [], // 弹出框的栏目信息\r\n detailColumnMeta:[], // api弹出框的栏目信息\r\n listColumn: [], // 列表栏目信息\r\n listColumnMeta: [], // api取出来的列表栏目信息\r\n selectedList: [], // checkbox选中的值集合。\r\n selectedIndexList: [], // checkbox选中的索引集合\r\n\r\n HeadFieldDesign: [],\r\n loading: false,\r\n option: {\r\n StartVoucherDate: '', // 单据开始日期\r\n EndVoucherDate: '', // 单据结束日期\r\n VoucherCode: '', // 单据编码\r\n BusinessType: '', // 据业务类型,下拉选项,返回对应业务类型Id\r\n VoucherState: '', // 单据状态,下拉选项,返回枚举Id\r\n DataSource: '', // 数据来源 ,下拉选项,返回枚举Id\r\n DistributionMode: '', // 配送方式 ,下拉选项,返回枚举Id\r\n DeliveryStatus: '', // 发货状态 ,下拉选项,返回枚举Id\r\n IdStore: props.idStore || ''\r\n },\r\n searchFilterItemShow: true\r\n }\r\n this.posCode = PosInitData && PosInitData('posCode');\r\n }\r\n\r\n componentDidMount() {\r\n this.initDeliverySearch();\r\n }\r\n\r\n initDeliverySearch = async () => {\r\n const { idStore } = this.props;\r\n let listColumn = await billSearchApi.GetPOSSearchECommerceListDesigns();\r\n let selectList = await billSearchApi.getRetailSearchItemList(idStore);\r\n let { HeadFieldDesign, list: detailColumn } = await billSearchApi.getPOSSearchDesigns();\r\n let value3 = '';\r\n let listColumnMeta = listColumn;\r\n let detailColumnMeta = detailColumn;\r\n listColumn = this.initMasterColumn(listColumn);\r\n let endTime = moment().format('l');\r\n let startTime = moment().format('l');\r\n this.setState({\r\n value3,\r\n HeadFieldDesign,\r\n detailColumn,\r\n detailColumnMeta,\r\n selectList,\r\n listColumn,\r\n listColumnMeta,\r\n option: { ...this.state.option, StartVoucherDate: startTime, EndVoucherDate: endTime }\r\n }, async () => {\r\n await this.getBillList(null);\r\n this.forceUpdate();\r\n })\r\n }\r\n\r\n // 初始化主表的表格列信息\r\n initMasterColumn = (listColumn, checkIndexs) => {\r\n let that = this;\r\n let { selectedIndexList } = this.state;\r\n selectedIndexList = checkIndexs ? checkIndexs : selectedIndexList;\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,\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 = v.Width || 120;\r\n }\r\n if (v.FieldName == 'Code') {\r\n obj.width = v.Width || 220;\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 (obj.width) obj.width = v.Width || 100;\r\n if (v.Precision && v.IsFormat) {\r\n obj.render = (text, record, index) => {\r\n let renderText = billSearchApi.formatNumber(text, 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.unshift({\r\n title: '',\r\n dataIndex: \"i\",\r\n key: \"i\",\r\n width: 40,\r\n render(text, record, index) {\r\n let checked = selectedIndexList.indexOf(index) > -1;\r\n return (<div className='columnTitle' onClick={() => that.handleCheckBox(1, !checked, record, index)}>\r\n <Checkbox checked={checked} onChange={() => that.handleCheckBox(1, !checked, record, index)} />\r\n </div>)\r\n }\r\n })\r\n listColumn.push({\r\n title: \"操作\",\r\n dataIndex: \"j\",\r\n key: \"j\",\r\n width: 100,\r\n className: 'text-center',\r\n fixed: \"right\",\r\n render(text, record) {\r\n if (record.other) return null;\r\n return (\r\n <div className='bill-content-operation' title={text} >\r\n <a href=\"javascript:;\" onClick={() => that.handleRowShowClick(record)} title='查看'>查看</a>\r\n <a href=\"javascript:;\" onClick={() => that.rowPrintClick(record)} title='打小票'>打小票</a>\r\n </div>\r\n )\r\n }\r\n })\r\n return listColumn;\r\n }\r\n\r\n // 初始化弹出框表格列信息\r\n initDetailColumn = (details) => {\r\n let columns = [];\r\n details.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 obj.fixed = 'left';\r\n obj.width = 300;\r\n obj.render = (text) => {\r\n return <div className='columnTitle' style={{width:'280px'}}>{text}</div>\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 return columns;\r\n }\r\n\r\n getBillList = async (status,noWarn) => {\r\n this.setState({ loading: true })\r\n const term = this.getSearchOption();\r\n let { TotalCount, TotalPage, Data } = await billSearchApi.searchRetailList(term);\r\n if ((!TotalCount || TotalCount == 0) && !noWarn) {\r\n Message.error('无配送订单信息');\r\n }\r\n this.setState({\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 let { currentIndex, value1, value2, value3, value4, value5, option } = this.state\r\n return {\r\n ...{\r\n CurrentPage: currentIndex,\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 Key: value3,\t // 单据编号,支持模糊查询\r\n KeyType: '2', // 美团配送\r\n Inventory: value4, // string 商品名称(条形码、助记码、商品编码、商品名称)\r\n Member: value5, // string 会员(会员卡号、手机号、会员名称)\r\n BusinessType: '',\t // int\t单据业务类型,下拉单选,返回对应业务类型Id\r\n VoucherState: '',\t // int\t单据状态,下拉单选,返回枚举Id\r\n StartAdmount: value1,\t // decimal \t 起始金额\r\n EndAdmount: value2\t // decimal\t结束金额\r\n }, ...option\r\n }\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\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 // 处理checkbox选中\r\n handleCheckBox = (state, checked, record, index) => {\r\n let arr1 = [], arr2 = [];\r\n let { selectedList, selectedIndexList, listColumnMeta, tableDataList } = this.state;\r\n switch (state) {\r\n case 0: //全选\r\n if (checked === true) {\r\n tableDataList.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 let listColumn = this.initMasterColumn(listColumnMeta, arr1);\r\n this.setState({ listColumn: listColumn, selectedList: arr2, selectedIndexList: arr1 })\r\n }\r\n\r\n search = (noWarn) => {\r\n this.setState({\r\n currentIndex: 1\r\n }, () => {\r\n this.getBillList(null, noWarn);\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({ ['value' + type]: e.target.value })\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 // 弹框-取消\r\n modalCancel = () => {\r\n this.setState({ show: false })\r\n }\r\n\r\n // 弹出框-发货\r\n modalOk = () => {\r\n //执行发货逻辑\r\n const { record } = this.state;\r\n const { Code } = record || {};\r\n this.handleSendInventory(Code, () => { this.modalCancel() })\r\n }\r\n\r\n //配送\r\n handleBtn = () => {\r\n const { selectedList } = this.state;\r\n if (selectedList && selectedList.length == 0) {\r\n Message.warn('请选择要配送的订单');\r\n return;\r\n }\r\n let list = [];\r\n let codelist = \"\";\r\n selectedList.map(v => {\r\n const { Code } = v;\r\n if (Code) list.push(Code);\r\n })\r\n if (list && list.length > 0) {\r\n codelist = list.join(',');\r\n }\r\n this.handleSendInventory(codelist)\r\n }\r\n\r\n // 执行配送\r\n handleSendInventory = async (codeList, callback) => {\r\n try {\r\n let _this = this;\r\n const { idStore } = this.props;\r\n const result = await billSearchApi.IsHaveDetailRefund(codeList, idStore, _this.posCode);\r\n let ret = (typeof result == 'string') ? JSON.parse(result) : result;\r\n if (ret.Success === true) {\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '订单已部分退款,是否重打小票?',\r\n onOk: async() => {\r\n let retails = ret.Message;\r\n let arr = [];\r\n if (retails) {\r\n arr = retails.split(',');\r\n }\r\n if (arr && arr.length > 0) {\r\n arr.forEach(item => {\r\n _this.rowPrintClick({ ID: item })\r\n })\r\n }\r\n await _this.doSendInventory(codeList, idStore, callback)\r\n },\r\n onCancel: async() => {\r\n await _this.doSendInventory(codeList, idStore, callback)\r\n }\r\n })\r\n } else {\r\n await _this.doSendInventory(codeList, idStore, callback)\r\n }\r\n } catch (ex) {\r\n Message.error(\"执行配送失败:\" + ex);\r\n }\r\n }\r\n\r\n doSendInventory = async (codeList, idStore, callback) => {\r\n const { listColumnMeta } = this.state;\r\n const { handleUnSeedsCountEvent, handleLoadPageEvent } = this.props;\r\n const result = await billSearchApi.ECommerceSeedGoods(codeList, idStore, this.posCode);\r\n console.log('执行配送', result);\r\n let ret = (typeof result == 'string') ? JSON.parse(result) : result;\r\n if (ret.Success === true) {\r\n Message.success('配送成功!');\r\n let listColumn = this.initMasterColumn(listColumnMeta, []);\r\n this.setState({ listColumn: listColumn, selectedList: [], selectedIndexList: [] })\r\n if (typeof handleLoadPageEvent == 'function') handleLoadPageEvent();\r\n if (typeof handleUnSeedsCountEvent == 'function') handleUnSeedsCountEvent();\r\n if (typeof callback == 'function') callback();\r\n setTimeout(() => { this.search(true) }, 0)\r\n } else {\r\n let err = ret && ret.Message;\r\n Message.error(\"配送失败:\" + err);\r\n }\r\n }\r\n\r\n // 打开(查看)页面\r\n handleRowShowClick = async (record) => {\r\n console.log('单据明细:', record)\r\n let result = await billSearchApi.getRetailDetail(record.Code, 2);\r\n let { detailColumnMeta } = this.state;\r\n let detailColumn = this.initDetailColumn(detailColumnMeta);\r\n this.setState({\r\n showModalData: result,\r\n record: record,\r\n show: true,\r\n detailColumn: detailColumn\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 * 初始化数据\r\n * @param {*} retailDTO\r\n * @param {*} detailData\r\n */\r\n initDetailData(retailDTO, detailData) {\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 { // 剩下的一些单选\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 loadingIcon = () => {\r\n const theme = localStore.get('theme');\r\n const img = (theme == 'blue' || theme == 'dark') ? this.sys_parms.blueloading : this.sys_parms.orangeloading;\r\n return (\r\n <img src={img} className=\"loading-img-symbol\" style={{ width: '90px', height: '90px' }} />\r\n )\r\n }\r\n\r\n render() {\r\n let {\r\n currentIndex, value1, value2, value3, value4, value5,\r\n tableDataList, show, option,\r\n showModalData, detailColumn, TotalPage,\r\n searchFilterItemShow, record, listColumn, selectedIndexList, HeadFieldDesign\r\n } = this.state;\r\n tableDataList = [...tableDataList];\r\n\r\n let checkedCount = selectedIndexList.length;\r\n let isAllChecked = selectedIndexList.length > 0 && tableDataList.length === selectedIndexList.length;\r\n\r\n let billTitleHeight = (30 + 16) * 2 + 30 - 8;\r\n if (!searchFilterItemShow) {\r\n billTitleHeight = 0;\r\n }\r\n let otherHeight = billTitleHeight + 32 + 16 + 10 + 16 + 30 + 0; // 最后一个10 是用来调整误差的\r\n if (searchFilterItemShow) {\r\n otherHeight += 16; // 打开状态,要多减去FilterTitle 的marginTop 16px\r\n }\r\n let billContentHeight = \"calc(100% - \" + otherHeight + \"px)\";\r\n return (\r\n <div className='delivery'>\r\n <div className='delivery-filter'>\r\n {\r\n searchFilterItemShow ? <div className='mask1'></div> : null\r\n }\r\n {\r\n searchFilterItemShow ? <div className='mask2'></div> : null\r\n }\r\n <div className={`bill-filter-on-off ${searchFilterItemShow ? \"bill-filter-on-off-show\" : \"\"}`} onClick={this.changeSearchFilterItemShow}>\r\n 高级筛选\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 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={`delivery-title ${searchFilterItemShow ? '' : 'delivery-title-close'}`} style={{ height: billTitleHeight }}>\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 ? '' : 'bill-title-item-all-active'}`} 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 <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) ? '' : 'bill-title-item-all-active'}`} 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>\r\n <div className={`delivery-content ${tableDataList && tableDataList.length > 0 ? '' : 'nodata'} `} style={{ height: billContentHeight }}>\r\n {\r\n tableDataList.length > 0 ?\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: this.loadingIcon()\r\n }}\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='delivery-footer'>\r\n <div className='check'>\r\n <Checkbox checked={isAllChecked} onClick={() => this.handleCheckBox(0, !isAllChecked)}>全选({checkedCount})</Checkbox>\r\n </div>\r\n <div className='btns'>\r\n <Button className='btn' type=\"primary\" onClick={this.handleBtn}>配送</Button>\r\n </div>\r\n </div>\r\n <ModalWraper\r\n show={show}\r\n cancel={this.modalCancel}\r\n ok={this.modalOk}\r\n okText='配送'\r\n title='订单明细'\r\n className='bill-modal'\r\n width='802'\r\n option={option}\r\n okable={true}\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 pagination={false}\r\n scroll={{ x: 758, y: 257 }}\r\n className='bill-modal-table'/>\r\n </div>\r\n </div>\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}"]}
|
@@ -558,6 +558,7 @@ var hotKeyFactory = {
|
|
558
558
|
actuator: function actuator(keyName, callback) {
|
559
559
|
hotKeyFactory.log(true, { keyName: keyName });
|
560
560
|
|
561
|
+
if (hotKeyFactory.isShouldQuickKeyClicked()) return null;
|
561
562
|
// if (hotKeyFactory.lock) return;
|
562
563
|
hotKeyFactory.lock = true;
|
563
564
|
|
@@ -749,6 +750,10 @@ var hotKeyFactory = {
|
|
749
750
|
|
750
751
|
if (keyName) console.log('[hot-key]: ' + keyName);
|
751
752
|
if (waring) console.log('[hot-key-waring]: ' + waring);
|
753
|
+
},
|
754
|
+
isShouldQuickKeyClicked: function isShouldQuickKeyClicked() {
|
755
|
+
var loadingImgs = document.querySelector("img.loading-img-symbol");
|
756
|
+
if (loadingImgs) return true;
|
752
757
|
}
|
753
758
|
};
|
754
759
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["tplus-components-touch/components/hotKey/index.js"],"names":["keyboard","keymaster","noConflict","hotKeyFactory","constructor","keys","handler","observerCallback","pressed","log","hotKeyConfig","defaultHotKeyConfig","operationControl","defaultOperationControl","filter","clickBefore","observe","MutationObserver","showLog","defineHotKeyConfig","getDefineHotKeyConfigByStore","length","window","deleteScope","getScope","join","defineOperationControl","getDefineOperationControlByStore","control","dynamicSelector","newhotKeyArraySort","a","b","replace","clickBeforeProp","controller","action","actuator","find","next","find_element","getFocusId","bind","register","unRegister","setFocus","clearFocus","observerTrigger","unbind","on","off","observer","dom","config","attributes","childList","subtree","containerDom","document","body","asyncQueryHotKeyDom","operator","currentNode","pollQueryDom","Array","isArray","index","element","target","result","setting_setData","localStore","get","JSON","parse","localStorage","getItem","defineHotKeyConfigList","conflictHotKeyConfigList","forEach","settingItem","enumController","getEnumOj","RE_POSParamType","SHORTCUT_KEY","ParamType","Id","DefaultValue","ExtField","Title","ID","Value","Name","TabIndex","ExtFieldParse","dynamic","classification","enableEdit","operation","operationType","isdisplay","error","configItem","describe","keyValue","id","push","itemOperationType","defineHotKey","defineHotKeyList","defineKey","operationKeys","opKey","array","fn","t","x","y","i","j","dynamicAction","keyName","focusId","directionSelector","targetKey","key","domSelector","actionNode","queryNode","includes","fnName","down","up","right","left","click","waring","triggerRegister","registerKey","trigger","item","container","className","targetDom","classNameList","some","queryDom","name","unlock","containerName","addKey","prev","rejectDoAction","resolve","reject","dynamicActionTarget","hotKeyProto","actionCompose","callback","actionPromise","prveValue","listener","value","then","res","lock","operations","operationItem","selector","isNew","filterNum","nextSibling","previousSibling","returnValue","arr","split","map","el","querySelectorAll","v","style","display","classList","add","focusContainer","remove","querySelector","currentClassList","hotKeyIdNode","callBack","handles","isHaveEvent","handle","handleIndex","findIndex","splice","node","nodeType","isShowLog","console","hotKey","option","call","hotKeyPart","partName","otherClassName","hotKeyBindClass","hotKeyNotFilter","showHotKeyModal","classificationList","keyReplaceStringList","operationTypeName"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * Created by hzy on 2019/11/27.\r\n */\r\n/**\r\n * @hotKey(option) 调用hotKey方法初始化状态\r\n * @option 可传入选项 {handler: 全局的句柄默认为$}\r\n * @observerCallback dom变化后的回调\r\n * @log 是否显示log\r\n * @hotKeyConfig 快捷键配置项\r\n * @operationControl 快捷键权限控制\r\n * @clickBefore 点击事件前的回调方法\r\n *\r\n * 初始化后的方法\r\n * action 传入第一个参数 按键字符串,触发config中的动作,返回一个promise,执行then方法可以从参数中拿到当前的上下文对象\r\n * action 第二个参数为回调函数,回调函数的参数会返回当前的动作触发的元素属性以及当前为第几步\r\n *\r\n * observer 监听dom变化,第一个参数为监听的dom目标,第二个参数为配置 具体查看 new MutationObserver observer\r\n * find 查找dom,可链式调用\r\n * next 查找下一个兄弟节点,参数中可传入数量跳过几个相邻的\r\n * prev 查找上一个兄弟节点,参数中可传入数量跳过几个相邻的\r\n * click 触发点击事件\r\n * register 注册一个全局的快捷键,第一个方法参数为快捷键名,第二个方法参数为目标容器class名,第三个方法参数为触发事件dom class名\r\n * unRegister 注销一个全局的快捷键\r\n *\r\n * \r\n * config & control 说明 见 ./config.js 文件\r\n *\r\n */\r\nimport keymaster from 'keymaster';\r\nimport { queryHotKey, queryCount } from './utils';\r\nimport { hotKeyConfig as defaultHotKeyConfig, operationControl as defaultOperationControl, classificationList,keyReplaceStringList,operationTypeName} from './config';\r\nimport { showHotKeyModal } from './hotKeyModal'\r\nimport {localStore,enumController} from 'mutants-util';\r\nimport './style.less';\r\n\r\nconst keyboard = keymaster.noConflict();\r\n\r\nconst hotKeyFactory = {\r\n constructor({\r\n keys = [],\r\n handler = '$',\r\n observerCallback,\r\n pressed,\r\n log = false,\r\n hotKeyConfig = defaultHotKeyConfig,\r\n operationControl = defaultOperationControl,\r\n filter,\r\n clickBefore\r\n } = {}) {\r\n // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKeyInjectOrEject)];\r\n const observe = observerCallback && new MutationObserver(observerCallback);\r\n hotKeyFactory.showLog = log;\r\n // 如果快捷键配置不存在使用默认\r\n let defineHotKeyConfig = this.getDefineHotKeyConfigByStore();\r\n \r\n // hotKeyFactory.hotKeyConfig = Object.keys(defineHotKeyConfig).length?defineHotKeyConfig:hotKeyConfig;\r\n hotKeyFactory.hotKeyConfig = Object.keys(defineHotKeyConfig).length?defineHotKeyConfig:hotKeyConfig;\r\n keys = keys.length == 0 ? ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKeyFactory.hotKeyConfig)] : keys;\r\n\r\n // 删除原来挂载的按键监听\r\n if(window[handler]){\r\n keyboard.deleteScope(keyboard.getScope())\r\n }\r\n keyboard(keys.join(), pressed);\r\n keyboard.filter = filter;\r\n \r\n let defineOperationControl = this.getDefineOperationControlByStore(hotKeyFactory.hotKeyConfig)\r\n hotKeyFactory.operationControl = defineOperationControl || operationControl;\r\n \r\n // 排序复合结算\r\n if(hotKeyFactory.operationControl[5] && hotKeyFactory.operationControl[5].control && hotKeyFactory.operationControl[5].dynamicSelector){\r\n const dynamicSelector = hotKeyFactory.operationControl[5].dynamicSelector;\r\n hotKeyFactory.operationControl[5].control = hotKeyFactory.newhotKeyArraySort(hotKeyFactory.operationControl[5].control,(a,b)=>{\r\n return dynamicSelector[a] && dynamicSelector[b]?dynamicSelector[a][0].replace('.settlement .paymode:','') - dynamicSelector[b][0].replace('.settlement .paymode:',''):-1\r\n })\r\n }\r\n\r\n hotKeyFactory.clickBeforeProp = clickBefore;\r\n const controller = {\r\n keys,\r\n hotKeyConfig:hotKeyFactory.hotKeyConfig,\r\n operationControl:hotKeyFactory.operationControl,\r\n action: this.actuator,\r\n find: this.find,\r\n next: this.next,\r\n find_element: this.find_element,\r\n getFocusId: this.getFocusId.bind(this),\r\n register: this.register,\r\n unRegister: this.unRegister,\r\n setFocus: this.setFocus,\r\n clearFocus: this.clearFocus,\r\n observerTrigger: observerCallback,\r\n bind: this.bind,\r\n unbind: this.unbind,\r\n on: this.on,\r\n off: this.off,\r\n observer(dom, config = { attributes: true, childList: true, subtree: true }) {\r\n const containerDom = dom || document.body;\r\n observe.observe(containerDom, config);\r\n },\r\n };\r\n // if (!window[handler]) {\r\n window[handler] = controller;\r\n // }\r\n return controller;\r\n },\r\n asyncQueryHotKeyDom(operator, currentNode) {\r\n const pollQueryDom = () => {\r\n if(Array.isArray(operator)){\r\n for (let index = 0; index < operator.length; index++) {\r\n const element = operator[index];\r\n const target = queryHotKey(element, currentNode);\r\n if (target) return target;\r\n }\r\n }else{\r\n const target = queryHotKey(operator, currentNode);\r\n if (target) return target;\r\n }\r\n const result = queryCount();\r\n if (result === 'done') return;\r\n\r\n return pollQueryDom();\r\n };\r\n\r\n return pollQueryDom();\r\n },\r\n\r\n // 获取自定义快捷键\r\n getDefineHotKeyConfigByStore() {\r\n // 正式环境使用缓存对象\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n setting_setData = (setting_setData == 'undefined') || !setting_setData ? [] : setting_setData;\r\n if (setting_setData == null) {\r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n\r\n // 本地调试使用\r\n // const setting_setData = window.web_hotKeyConfig\r\n let defineHotKeyConfig = {}\r\n let defineHotKeyConfigList = [];\r\n let conflictHotKeyConfigList = [];\r\n if (setting_setData && setting_setData.length != 0) {\r\n setting_setData.forEach((settingItem) => {\r\n // 快捷键固定ParamType\r\n const { RE_POSParamType } = enumController.getEnumOj();\r\n const { SHORTCUT_KEY } = RE_POSParamType\r\n if (settingItem.ParamType && (settingItem.ParamType.Id === SHORTCUT_KEY || settingItem.ParamType === SHORTCUT_KEY)) {\r\n const { DefaultValue, ExtField, Title, ID, Value, Name, TabIndex } = settingItem || {};\r\n let ExtFieldParse = { dynamic: false, classification: \"\", enableEdit: false, operation: [], operationType: 1, isdisplay: false };\r\n try {\r\n ExtFieldParse = JSON.parse(ExtField)\r\n } catch (error) { }\r\n const { dynamic, classification, enableEdit, operation, operationType, isdisplay } = ExtFieldParse\r\n\r\n const configItem = { Name, describe: Title, dynamic, keyValue: Value, operation, enableEdit, classification, id: ID, DefaultValue, operationType, TabIndex, isdisplay };\r\n\r\n if (Value !== '') {\r\n // 快捷键未被设置为空\r\n if (defineHotKeyConfig[Value]) {\r\n // 存在使用相同快捷键\r\n const { operationControl } = defineHotKeyConfig[Value];\r\n if (operationControl) {\r\n // 之前已经存入过两个快捷键 这是第三个\r\n if (!operationControl[operationType]) {\r\n defineHotKeyConfig[Value].operationControl[operationType] = configItem;\r\n } else {\r\n // 表示有冲突快捷键\r\n conflictHotKeyConfigList.push({ ...configItem, keyValue: \"\" });\r\n return null\r\n }\r\n } else {\r\n const { operationType: itemOperationType } = defineHotKeyConfig[Value];\r\n if (operationType == itemOperationType) {\r\n // 存在冲突快捷键 因为 dynamic 并未改变为动态键所致\r\n conflictHotKeyConfigList.push({ ...configItem, keyValue: \"\" });\r\n return null\r\n } else {\r\n // 存储第二个快捷键\r\n const operationControl = { ...defineHotKeyConfig[Value], dynamic: true };\r\n defineHotKeyConfig[Value] = {\r\n operationControl: {}\r\n };\r\n // 搬移一层对象信息到第二次 变为动态键\r\n defineHotKeyConfig[Value].dynamic = true;\r\n defineHotKeyConfig[Value].operationControl[itemOperationType] = operationControl\r\n // 增加第二个动态键\r\n defineHotKeyConfig[Value].operationControl[operationType] = { ...configItem, dynamic: true }\r\n }\r\n }\r\n } else {\r\n // 单个动态键\r\n if (dynamic) {\r\n defineHotKeyConfig[Value] = {\r\n dynamic: true,\r\n operationControl: {}\r\n };\r\n defineHotKeyConfig[Value].operationControl[operationType] = { ...configItem, dynamic: true }\r\n } else {\r\n defineHotKeyConfig[Value] = { ...configItem, dynamic: false };\r\n }\r\n }\r\n } else {\r\n // 快捷键设置为空\r\n }\r\n\r\n defineHotKeyConfigList.push(configItem);\r\n }\r\n })\r\n } else {\r\n defineHotKeyConfig = defaultHotKeyConfig\r\n }\r\n window.defineHotKeyConfigList = [...defineHotKeyConfigList, ...conflictHotKeyConfigList];\r\n return defineHotKeyConfig\r\n },\r\n\r\n\r\n // 获取自定义权限\r\n getDefineOperationControlByStore(defineHotKey){\r\n // 获取自定义快捷键配置JSON KEY值集合\r\n const defineHotKeyList = Object.keys(defineHotKey)\r\n\r\n let defineOperationControl = {};\r\n\r\n // 遍历自定义快捷键的key值 \r\n defineHotKeyList.forEach(defineKey => {\r\n\r\n const { dynamic,operationControl} = defineHotKey[defineKey] || {}\r\n // 是否是动态键 \r\n if(dynamic){\r\n if(operationControl){\r\n // 动态键\r\n const operationKeys = Object.keys(operationControl);\r\n operationKeys.forEach( opKey => {\r\n\r\n const {operation} = operationControl[opKey] || {};\r\n // 构建权限页面结构\r\n if(!defineOperationControl[opKey]){\r\n defineOperationControl[opKey] = {\r\n control:[],\r\n dynamicSelector:{}\r\n }\r\n }\r\n\r\n // 添加键值 \r\n defineOperationControl[opKey].control.push(defineKey);\r\n // 如果是上下键 dynamicSelector值有所不同 \r\n if(defineKey === 'down' || defineKey === 'up'){\r\n defineOperationControl[opKey].dynamicSelector['up&down'] = operation;\r\n return;\r\n }\r\n defineOperationControl[opKey].dynamicSelector[defineKey] = operation\r\n });\r\n }else{\r\n\r\n const { operationType , operation } = defineHotKey[defineKey] || {}\r\n if(!defineOperationControl[operationType]){\r\n defineOperationControl[operationType] = {\r\n control:[],\r\n dynamicSelector:{}\r\n }\r\n }\r\n // 添加键值 \r\n defineOperationControl[operationType].control.push(defineKey);\r\n defineOperationControl[operationType].dynamicSelector[defineKey] = operation\r\n // const {}\r\n }\r\n }\r\n });\r\n return defineOperationControl;\r\n },\r\n\r\n newhotKeyArraySort(array,fn){\r\n\t\tlet t; \r\n fn = fn || function (x, y) { return x - y };\r\n for (var i = 0; i < array.length; i++) {\r\n for (var j = i; j < array.length; j++) {\r\n if (fn(array[i], array[j]) > 0) {\r\n t = array[i];\r\n array[i] = array[j];\r\n array[j] = t;\r\n }\r\n }\r\n }\r\n\t\treturn array; \t\r\n\t},\r\n\r\n dynamicAction(keyName, target) {\r\n const { dynamic } = this.hotKeyConfig[keyName] || {};\r\n if (!dynamic) return;\r\n\r\n const { dynamicSelector = {} } = this.operationControl[this.focusId] || {};\r\n const { directionSelector = {} } = this.operationControl[this.focusId] || {};\r\n let targetKey = 'up&down'\r\n\r\n if(keyName !== 'up' && keyName !== 'down'){\r\n targetKey = Object.keys(dynamicSelector).find(key => key === keyName);\r\n }\r\n \r\n const domSelector = dynamicSelector[targetKey];\r\n let actionNode = hotKeyFactory.queryNode(target).find(domSelector);\r\n\r\n if ('updown'.includes(keyName) && actionNode.currentNode) {\r\n const fnName = { down: 'next', up: 'prev' };\r\n actionNode = actionNode[fnName[keyName]]();\r\n }\r\n\r\n if(this.focusId ==7 && 'leftright'.includes(keyName) && actionNode.currentNode){\r\n const fnName = { right: 'next', left: 'prev' };\r\n actionNode = actionNode[fnName[keyName]]();\r\n }\r\n\r\n actionNode.currentNode && actionNode.click();\r\n\r\n if (!actionNode.currentNode) {\r\n hotKeyFactory.log(true, { waring: `the [${keyName}] hot-key of dynamic trigger Dom not found` });\r\n return true;\r\n }\r\n\r\n return actionNode.currentNode;\r\n },\r\n triggerRegister(keyName) {\r\n if (!hotKeyFactory.registerKey) return;\r\n\r\n const trigger = this.registerKey.find(item => item.key === keyName);\r\n if (!trigger) return;\r\n\r\n const { container, className } = trigger;\r\n const containerDom = this.asyncQueryHotKeyDom(container);\r\n let targetDom;\r\n const classNameList = Array.isArray(className) ? className : [className];\r\n classNameList.some(name => {\r\n const queryDom = hotKeyFactory.queryNode(containerDom).find(name);\r\n targetDom = queryDom;\r\n return !!queryDom.currentNode;\r\n });\r\n\r\n targetDom.currentNode && targetDom.click();\r\n hotKeyFactory.log(!targetDom.currentNode, { waring: 'register hot-key trigger Dom not found' });\r\n\r\n hotKeyFactory.unlock();\r\n },\r\n register(keyName) {\r\n return (containerName) => (className) => {\r\n const registerKey = {\r\n key: keyName,\r\n container: containerName,\r\n className\r\n };\r\n\r\n if (!hotKeyFactory.registerKey) {\r\n hotKeyFactory.registerKey = [registerKey];\r\n } else {\r\n const addKey = [...hotKeyFactory.registerKey.filter(item => item.key !== keyName), registerKey];\r\n hotKeyFactory.registerKey = addKey;\r\n }\r\n };\r\n },\r\n unRegister(keyName) {\r\n if (hotKeyFactory.registerKey) {\r\n const keys = hotKeyFactory.registerKey.filter(item => item.key !== keyName);\r\n hotKeyFactory.registerKey = keys;\r\n }\r\n },\r\n queryNode(target) {\r\n const {\r\n find, next, prev, setFocus, clearFocus\r\n } = this;\r\n\r\n return {\r\n currentNode: target,\r\n find,\r\n next,\r\n prev,\r\n setFocus,\r\n clearFocus,\r\n click() {\r\n hotKeyFactory.clickBefore();\r\n this.currentNode.click();\r\n }\r\n };\r\n },\r\n rejectDoAction(keyName) {\r\n const id = hotKeyFactory.getFocusId();\r\n if (!id) return true;\r\n\r\n const { control, directionSelector } = this.operationControl[id] || {};\r\n\r\n // if (control === 'ALL') return;\r\n if (id == '1') return; //动态生成id=='1' 代替ALL\r\n if (!control || !control.includes(keyName)) return true;\r\n },\r\n action(keyName, className) {\r\n return new Promise((resolve, reject) => {\r\n const target = this.asyncQueryHotKeyDom(className);\r\n\r\n const dynamicActionTarget = hotKeyFactory.dynamicAction(keyName, target);\r\n if (dynamicActionTarget) return resolve(dynamicActionTarget);\r\n\r\n if (target) {\r\n const hotKeyProto = hotKeyFactory.queryNode(target);\r\n\r\n hotKeyProto.click();\r\n hotKeyFactory.unlock();\r\n\r\n resolve(hotKeyProto);\r\n } else {\r\n hotKeyFactory.log(true, { waring: `not found hot ket target of [${className}]` });\r\n hotKeyFactory.unlock();\r\n }\r\n });\r\n },\r\n actionCompose(operation, keyName, callback) {\r\n let actionPromise = null;\r\n let prveValue = null;\r\n const { listener } = hotKeyFactory;\r\n\r\n operation.forEach((value, index) => {\r\n if (!actionPromise) {\r\n prveValue = value;\r\n actionPromise = hotKeyFactory.action(keyName, value);\r\n if (index === (operation.length - 1)) {\r\n actionPromise.then(res => {\r\n listener(callback, res, index);\r\n hotKeyFactory.unlock();\r\n return this;\r\n });\r\n }\r\n } else {\r\n actionPromise.then(res => {\r\n listener(callback, res, index - 1);\r\n prveValue = value;\r\n return hotKeyFactory.action(keyName, value);\r\n });\r\n\r\n if (index === (operation.length - 1)) {\r\n actionPromise.then(res => {\r\n listener(callback, res, index);\r\n hotKeyFactory.unlock();\r\n return this;\r\n });\r\n }\r\n }\r\n });\r\n\r\n return actionPromise;\r\n },\r\n actuator(keyName, callback) {\r\n hotKeyFactory.log(true, { keyName });\r\n\r\n // if (hotKeyFactory.lock) return;\r\n hotKeyFactory.lock = true;\r\n\r\n if (hotKeyFactory.triggerRegister(keyName)) return;\r\n if (hotKeyFactory.rejectDoAction(keyName)) return;\r\n\r\n const { operation = ['.hot-key-focus-container'] } = this.hotKeyConfig[keyName] || {};\r\n const operations = Array.isArray(operation[0]) ? operation : [operation]; // 存在一个按键操作多个节点\r\n\r\n operations.forEach(operationItem => hotKeyFactory.actionCompose(operationItem, keyName, callback));\r\n },\r\n find(selector, isNew) {\r\n let currentNode;\r\n if (!this.currentNode || isNew) {\r\n currentNode = hotKeyFactory.asyncQueryHotKeyDom(selector);\r\n } else {\r\n currentNode = hotKeyFactory.asyncQueryHotKeyDom(selector, this.currentNode);\r\n }\r\n\r\n return hotKeyFactory.queryNode(currentNode);\r\n },\r\n next(filterNum = 1) {\r\n for (let i = 0; i < filterNum; i++) {\r\n if (!this.currentNode) {\r\n hotKeyFactory.log(true, { waring: 'There is a warning in the next,trigger Dom is not found ' });\r\n break;\r\n }\r\n this.currentNode = this.currentNode.nextSibling;\r\n }\r\n\r\n return this;\r\n },\r\n prev(filterNum = 1) {\r\n for (let i = 0; i < filterNum; i++) {\r\n if (!this.currentNode) {\r\n hotKeyFactory.log(true, { waring: 'There is a warning in the prev,trigger Dom is not found ' });\r\n break;\r\n }\r\n this.currentNode = this.currentNode.previousSibling;\r\n }\r\n\r\n return this;\r\n },\r\n find_element(selector) {\r\n let returnValue = [];\r\n let arr = selector.split(' ');\r\n if (arr && arr.length > 0) {\r\n arr.map(item => {\r\n let el = document.querySelectorAll(`.hot-key-focus-container ${item}`);\r\n returnValue = [...returnValue, ...el];\r\n })\r\n returnValue = returnValue && [...returnValue].filter(v => v.style.display != 'none')\r\n } \r\n return returnValue;\r\n },\r\n setFocus(target) {\r\n const container = target || this.currentNode;\r\n container && container.classList.add('hot-key-focus-container');\r\n //hotKeyFactory.log(!container, { waring: 'the set focus container Dom is not found' });\r\n },\r\n clearFocus() {\r\n const focusContainer = document.querySelectorAll('.hot-key-focus-container');\r\n\r\n for (const dom of focusContainer) {\r\n dom.classList.remove('hot-key-focus-container');\r\n }\r\n hotKeyFactory.log(true, { log: 'the focus container is clear' });\r\n },\r\n clickBefore() {\r\n const { clickBeforeProp } = hotKeyFactory;\r\n clickBeforeProp && clickBeforeProp();\r\n },\r\n unlock() {\r\n hotKeyFactory.lock = false;\r\n },\r\n getFocusId() {\r\n const focusContainer = document.querySelector('.hot-key-focus-container');\r\n if (!focusContainer) return hotKeyFactory.log(true, { waring: 'the focus container is not found' });\r\n\r\n let classList;\r\n const currentClassList = Array.from(focusContainer.classList) || [];\r\n if (currentClassList.includes('hot-key-id')) {\r\n classList = currentClassList;\r\n } else {\r\n const hotKeyIdNode = focusContainer.querySelector('.hot-key-id');\r\n hotKeyFactory.log(!hotKeyIdNode, { waring: 'not have any bind hot-key id node' });\r\n\r\n if (!hotKeyIdNode) return;\r\n\r\n classList = Array.from(hotKeyIdNode.classList) || [];\r\n }\r\n const [, id] = (classList.find(className => className.includes('hot-key-id=')) || '').split('=');\r\n this.focusId = id;\r\n\r\n return id;\r\n },\r\n bind(keys = [], callBack) {\r\n keyboard(keys.join(), callBack);\r\n },\r\n unbind(keys = []) {\r\n keys.forEach(key => keyboard.unbind(key));\r\n },\r\n handles: [],\r\n on(callback) {\r\n const handles = hotKeyFactory.handles || [];\r\n const isHaveEvent = handles.some(handle => handle === callback);\r\n\r\n if (!isHaveEvent) {\r\n handles.push(callback);\r\n }\r\n },\r\n off(callback) {\r\n const handles = hotKeyFactory.handles || [];\r\n const handleIndex = handles.findIndex(handle => handle === callback);\r\n\r\n if (~handleIndex) {\r\n handles.splice(handleIndex, 1);\r\n }\r\n },\r\n listener(callback, result = {}, index) {\r\n const node = result.nodeType === 1 ? result : result.currentNode;\r\n hotKeyFactory.handles.forEach(handle => handle(node, index));\r\n\r\n callback && callback(node, index);\r\n },\r\n log(isShowLog, { keyName, waring } = {}) {\r\n if (!this.showLog || !isShowLog) return;\r\n\r\n if (keyName) console.log(`[hot-key]: ${keyName}`);\r\n if (waring) console.log(`[hot-key-waring]: ${waring}`);\r\n }\r\n};\r\n\r\nfunction hotKey(option) {\r\n return hotKeyFactory.constructor.call(hotKeyFactory, option);\r\n}\r\n\r\nhotKey.hotKeyPart = function (partName, otherClassName = '') {\r\n return `${otherClassName} hot-key-part-${partName}`;\r\n};\r\n\r\nhotKey.hotKeyBindClass = function (id, otherClassName = '') {\r\n return `${otherClassName} hot-key-id hot-key-id=${id}`;\r\n};\r\n\r\nhotKey.hotKeyNotFilter = function (otherClassName = '') {\r\n return `${otherClassName} hot-key-not-filter`;\r\n};\r\n\r\nhotKey.hotKeyConfig = defaultHotKeyConfig;\r\nhotKey.operationControl = defaultOperationControl;\r\nhotKey.showHotKeyModal = showHotKeyModal;\r\nhotKey.classificationList = classificationList;\r\nhotKey.keyReplaceStringList = keyReplaceStringList\r\nhotKey.operationTypeName = operationTypeName\r\n\r\nexport default hotKey;\r\n"]}
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/hotKey/index.js"],"names":["keyboard","keymaster","noConflict","hotKeyFactory","constructor","keys","handler","observerCallback","pressed","log","hotKeyConfig","defaultHotKeyConfig","operationControl","defaultOperationControl","filter","clickBefore","observe","MutationObserver","showLog","defineHotKeyConfig","getDefineHotKeyConfigByStore","length","window","deleteScope","getScope","join","defineOperationControl","getDefineOperationControlByStore","control","dynamicSelector","newhotKeyArraySort","a","b","replace","clickBeforeProp","controller","action","actuator","find","next","find_element","getFocusId","bind","register","unRegister","setFocus","clearFocus","observerTrigger","unbind","on","off","observer","dom","config","attributes","childList","subtree","containerDom","document","body","asyncQueryHotKeyDom","operator","currentNode","pollQueryDom","Array","isArray","index","element","target","result","setting_setData","localStore","get","JSON","parse","localStorage","getItem","defineHotKeyConfigList","conflictHotKeyConfigList","forEach","settingItem","enumController","getEnumOj","RE_POSParamType","SHORTCUT_KEY","ParamType","Id","DefaultValue","ExtField","Title","ID","Value","Name","TabIndex","ExtFieldParse","dynamic","classification","enableEdit","operation","operationType","isdisplay","error","configItem","describe","keyValue","id","push","itemOperationType","defineHotKey","defineHotKeyList","defineKey","operationKeys","opKey","array","fn","t","x","y","i","j","dynamicAction","keyName","focusId","directionSelector","targetKey","key","domSelector","actionNode","queryNode","includes","fnName","down","up","right","left","click","waring","triggerRegister","registerKey","trigger","item","container","className","targetDom","classNameList","some","queryDom","name","unlock","containerName","addKey","prev","rejectDoAction","resolve","reject","dynamicActionTarget","hotKeyProto","actionCompose","callback","actionPromise","prveValue","listener","value","then","res","isShouldQuickKeyClicked","lock","operations","operationItem","selector","isNew","filterNum","nextSibling","previousSibling","returnValue","arr","split","map","el","querySelectorAll","v","style","display","classList","add","focusContainer","remove","querySelector","currentClassList","hotKeyIdNode","callBack","handles","isHaveEvent","handle","handleIndex","findIndex","splice","node","nodeType","isShowLog","console","loadingImgs","hotKey","option","call","hotKeyPart","partName","otherClassName","hotKeyBindClass","hotKeyNotFilter","showHotKeyModal","classificationList","keyReplaceStringList","operationTypeName"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * Created by hzy on 2019/11/27.\r\n */\r\n/**\r\n * @hotKey(option) 调用hotKey方法初始化状态\r\n * @option 可传入选项 {handler: 全局的句柄默认为$}\r\n * @observerCallback dom变化后的回调\r\n * @log 是否显示log\r\n * @hotKeyConfig 快捷键配置项\r\n * @operationControl 快捷键权限控制\r\n * @clickBefore 点击事件前的回调方法\r\n *\r\n * 初始化后的方法\r\n * action 传入第一个参数 按键字符串,触发config中的动作,返回一个promise,执行then方法可以从参数中拿到当前的上下文对象\r\n * action 第二个参数为回调函数,回调函数的参数会返回当前的动作触发的元素属性以及当前为第几步\r\n *\r\n * observer 监听dom变化,第一个参数为监听的dom目标,第二个参数为配置 具体查看 new MutationObserver observer\r\n * find 查找dom,可链式调用\r\n * next 查找下一个兄弟节点,参数中可传入数量跳过几个相邻的\r\n * prev 查找上一个兄弟节点,参数中可传入数量跳过几个相邻的\r\n * click 触发点击事件\r\n * register 注册一个全局的快捷键,第一个方法参数为快捷键名,第二个方法参数为目标容器class名,第三个方法参数为触发事件dom class名\r\n * unRegister 注销一个全局的快捷键\r\n *\r\n * \r\n * config & control 说明 见 ./config.js 文件\r\n *\r\n */\r\nimport keymaster from 'keymaster';\r\nimport { queryHotKey, queryCount } from './utils';\r\nimport { hotKeyConfig as defaultHotKeyConfig, operationControl as defaultOperationControl, classificationList,keyReplaceStringList,operationTypeName} from './config';\r\nimport { showHotKeyModal } from './hotKeyModal'\r\nimport {localStore,enumController} from 'mutants-util';\r\nimport './style.less';\r\n\r\nconst keyboard = keymaster.noConflict();\r\n\r\nconst hotKeyFactory = {\r\n constructor({\r\n keys = [],\r\n handler = '$',\r\n observerCallback,\r\n pressed,\r\n log = false,\r\n hotKeyConfig = defaultHotKeyConfig,\r\n operationControl = defaultOperationControl,\r\n filter,\r\n clickBefore\r\n } = {}) {\r\n // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKeyInjectOrEject)];\r\n const observe = observerCallback && new MutationObserver(observerCallback);\r\n hotKeyFactory.showLog = log;\r\n // 如果快捷键配置不存在使用默认\r\n let defineHotKeyConfig = this.getDefineHotKeyConfigByStore();\r\n \r\n // hotKeyFactory.hotKeyConfig = Object.keys(defineHotKeyConfig).length?defineHotKeyConfig:hotKeyConfig;\r\n hotKeyFactory.hotKeyConfig = Object.keys(defineHotKeyConfig).length?defineHotKeyConfig:hotKeyConfig;\r\n keys = keys.length == 0 ? ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKeyFactory.hotKeyConfig)] : keys;\r\n\r\n // 删除原来挂载的按键监听\r\n if(window[handler]){\r\n keyboard.deleteScope(keyboard.getScope())\r\n }\r\n keyboard(keys.join(), pressed);\r\n keyboard.filter = filter;\r\n \r\n let defineOperationControl = this.getDefineOperationControlByStore(hotKeyFactory.hotKeyConfig)\r\n hotKeyFactory.operationControl = defineOperationControl || operationControl;\r\n \r\n // 排序复合结算\r\n if(hotKeyFactory.operationControl[5] && hotKeyFactory.operationControl[5].control && hotKeyFactory.operationControl[5].dynamicSelector){\r\n const dynamicSelector = hotKeyFactory.operationControl[5].dynamicSelector;\r\n hotKeyFactory.operationControl[5].control = hotKeyFactory.newhotKeyArraySort(hotKeyFactory.operationControl[5].control,(a,b)=>{\r\n return dynamicSelector[a] && dynamicSelector[b]?dynamicSelector[a][0].replace('.settlement .paymode:','') - dynamicSelector[b][0].replace('.settlement .paymode:',''):-1\r\n })\r\n }\r\n\r\n hotKeyFactory.clickBeforeProp = clickBefore;\r\n const controller = {\r\n keys,\r\n hotKeyConfig:hotKeyFactory.hotKeyConfig,\r\n operationControl:hotKeyFactory.operationControl,\r\n action: this.actuator,\r\n find: this.find,\r\n next: this.next,\r\n find_element: this.find_element,\r\n getFocusId: this.getFocusId.bind(this),\r\n register: this.register,\r\n unRegister: this.unRegister,\r\n setFocus: this.setFocus,\r\n clearFocus: this.clearFocus,\r\n observerTrigger: observerCallback,\r\n bind: this.bind,\r\n unbind: this.unbind,\r\n on: this.on,\r\n off: this.off,\r\n observer(dom, config = { attributes: true, childList: true, subtree: true }) {\r\n const containerDom = dom || document.body;\r\n observe.observe(containerDom, config);\r\n },\r\n };\r\n // if (!window[handler]) {\r\n window[handler] = controller;\r\n // }\r\n return controller;\r\n },\r\n asyncQueryHotKeyDom(operator, currentNode) {\r\n const pollQueryDom = () => {\r\n if(Array.isArray(operator)){\r\n for (let index = 0; index < operator.length; index++) {\r\n const element = operator[index];\r\n const target = queryHotKey(element, currentNode);\r\n if (target) return target;\r\n }\r\n }else{\r\n const target = queryHotKey(operator, currentNode);\r\n if (target) return target;\r\n }\r\n const result = queryCount();\r\n if (result === 'done') return;\r\n\r\n return pollQueryDom();\r\n };\r\n\r\n return pollQueryDom();\r\n },\r\n\r\n // 获取自定义快捷键\r\n getDefineHotKeyConfigByStore() {\r\n // 正式环境使用缓存对象\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n setting_setData = (setting_setData == 'undefined') || !setting_setData ? [] : setting_setData;\r\n if (setting_setData == null) {\r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n\r\n // 本地调试使用\r\n // const setting_setData = window.web_hotKeyConfig\r\n let defineHotKeyConfig = {}\r\n let defineHotKeyConfigList = [];\r\n let conflictHotKeyConfigList = [];\r\n if (setting_setData && setting_setData.length != 0) {\r\n setting_setData.forEach((settingItem) => {\r\n // 快捷键固定ParamType\r\n const { RE_POSParamType } = enumController.getEnumOj();\r\n const { SHORTCUT_KEY } = RE_POSParamType\r\n if (settingItem.ParamType && (settingItem.ParamType.Id === SHORTCUT_KEY || settingItem.ParamType === SHORTCUT_KEY)) {\r\n const { DefaultValue, ExtField, Title, ID, Value, Name, TabIndex } = settingItem || {};\r\n let ExtFieldParse = { dynamic: false, classification: \"\", enableEdit: false, operation: [], operationType: 1, isdisplay: false };\r\n try {\r\n ExtFieldParse = JSON.parse(ExtField)\r\n } catch (error) { }\r\n const { dynamic, classification, enableEdit, operation, operationType, isdisplay } = ExtFieldParse\r\n\r\n const configItem = { Name, describe: Title, dynamic, keyValue: Value, operation, enableEdit, classification, id: ID, DefaultValue, operationType, TabIndex, isdisplay };\r\n\r\n if (Value !== '') {\r\n // 快捷键未被设置为空\r\n if (defineHotKeyConfig[Value]) {\r\n // 存在使用相同快捷键\r\n const { operationControl } = defineHotKeyConfig[Value];\r\n if (operationControl) {\r\n // 之前已经存入过两个快捷键 这是第三个\r\n if (!operationControl[operationType]) {\r\n defineHotKeyConfig[Value].operationControl[operationType] = configItem;\r\n } else {\r\n // 表示有冲突快捷键\r\n conflictHotKeyConfigList.push({ ...configItem, keyValue: \"\" });\r\n return null\r\n }\r\n } else {\r\n const { operationType: itemOperationType } = defineHotKeyConfig[Value];\r\n if (operationType == itemOperationType) {\r\n // 存在冲突快捷键 因为 dynamic 并未改变为动态键所致\r\n conflictHotKeyConfigList.push({ ...configItem, keyValue: \"\" });\r\n return null\r\n } else {\r\n // 存储第二个快捷键\r\n const operationControl = { ...defineHotKeyConfig[Value], dynamic: true };\r\n defineHotKeyConfig[Value] = {\r\n operationControl: {}\r\n };\r\n // 搬移一层对象信息到第二次 变为动态键\r\n defineHotKeyConfig[Value].dynamic = true;\r\n defineHotKeyConfig[Value].operationControl[itemOperationType] = operationControl\r\n // 增加第二个动态键\r\n defineHotKeyConfig[Value].operationControl[operationType] = { ...configItem, dynamic: true }\r\n }\r\n }\r\n } else {\r\n // 单个动态键\r\n if (dynamic) {\r\n defineHotKeyConfig[Value] = {\r\n dynamic: true,\r\n operationControl: {}\r\n };\r\n defineHotKeyConfig[Value].operationControl[operationType] = { ...configItem, dynamic: true }\r\n } else {\r\n defineHotKeyConfig[Value] = { ...configItem, dynamic: false };\r\n }\r\n }\r\n } else {\r\n // 快捷键设置为空\r\n }\r\n\r\n defineHotKeyConfigList.push(configItem);\r\n }\r\n })\r\n } else {\r\n defineHotKeyConfig = defaultHotKeyConfig\r\n }\r\n window.defineHotKeyConfigList = [...defineHotKeyConfigList, ...conflictHotKeyConfigList];\r\n return defineHotKeyConfig\r\n },\r\n\r\n\r\n // 获取自定义权限\r\n getDefineOperationControlByStore(defineHotKey){\r\n // 获取自定义快捷键配置JSON KEY值集合\r\n const defineHotKeyList = Object.keys(defineHotKey)\r\n\r\n let defineOperationControl = {};\r\n\r\n // 遍历自定义快捷键的key值 \r\n defineHotKeyList.forEach(defineKey => {\r\n\r\n const { dynamic,operationControl} = defineHotKey[defineKey] || {}\r\n // 是否是动态键 \r\n if(dynamic){\r\n if(operationControl){\r\n // 动态键\r\n const operationKeys = Object.keys(operationControl);\r\n operationKeys.forEach( opKey => {\r\n\r\n const {operation} = operationControl[opKey] || {};\r\n // 构建权限页面结构\r\n if(!defineOperationControl[opKey]){\r\n defineOperationControl[opKey] = {\r\n control:[],\r\n dynamicSelector:{}\r\n }\r\n }\r\n\r\n // 添加键值 \r\n defineOperationControl[opKey].control.push(defineKey);\r\n // 如果是上下键 dynamicSelector值有所不同 \r\n if(defineKey === 'down' || defineKey === 'up'){\r\n defineOperationControl[opKey].dynamicSelector['up&down'] = operation;\r\n return;\r\n }\r\n defineOperationControl[opKey].dynamicSelector[defineKey] = operation\r\n });\r\n }else{\r\n\r\n const { operationType , operation } = defineHotKey[defineKey] || {}\r\n if(!defineOperationControl[operationType]){\r\n defineOperationControl[operationType] = {\r\n control:[],\r\n dynamicSelector:{}\r\n }\r\n }\r\n // 添加键值 \r\n defineOperationControl[operationType].control.push(defineKey);\r\n defineOperationControl[operationType].dynamicSelector[defineKey] = operation\r\n // const {}\r\n }\r\n }\r\n });\r\n return defineOperationControl;\r\n },\r\n\r\n newhotKeyArraySort(array,fn){\r\n\t\tlet t; \r\n fn = fn || function (x, y) { return x - y };\r\n for (var i = 0; i < array.length; i++) {\r\n for (var j = i; j < array.length; j++) {\r\n if (fn(array[i], array[j]) > 0) {\r\n t = array[i];\r\n array[i] = array[j];\r\n array[j] = t;\r\n }\r\n }\r\n }\r\n\t\treturn array; \t\r\n\t},\r\n\r\n dynamicAction(keyName, target) {\r\n const { dynamic } = this.hotKeyConfig[keyName] || {};\r\n if (!dynamic) return;\r\n\r\n const { dynamicSelector = {} } = this.operationControl[this.focusId] || {};\r\n const { directionSelector = {} } = this.operationControl[this.focusId] || {};\r\n let targetKey = 'up&down'\r\n\r\n if(keyName !== 'up' && keyName !== 'down'){\r\n targetKey = Object.keys(dynamicSelector).find(key => key === keyName);\r\n }\r\n \r\n const domSelector = dynamicSelector[targetKey];\r\n let actionNode = hotKeyFactory.queryNode(target).find(domSelector);\r\n\r\n if ('updown'.includes(keyName) && actionNode.currentNode) {\r\n const fnName = { down: 'next', up: 'prev' };\r\n actionNode = actionNode[fnName[keyName]]();\r\n }\r\n\r\n if(this.focusId ==7 && 'leftright'.includes(keyName) && actionNode.currentNode){\r\n const fnName = { right: 'next', left: 'prev' };\r\n actionNode = actionNode[fnName[keyName]]();\r\n }\r\n\r\n actionNode.currentNode && actionNode.click();\r\n\r\n if (!actionNode.currentNode) {\r\n hotKeyFactory.log(true, { waring: `the [${keyName}] hot-key of dynamic trigger Dom not found` });\r\n return true;\r\n }\r\n\r\n return actionNode.currentNode;\r\n },\r\n triggerRegister(keyName) {\r\n if (!hotKeyFactory.registerKey) return;\r\n\r\n const trigger = this.registerKey.find(item => item.key === keyName);\r\n if (!trigger) return;\r\n\r\n const { container, className } = trigger;\r\n const containerDom = this.asyncQueryHotKeyDom(container);\r\n let targetDom;\r\n const classNameList = Array.isArray(className) ? className : [className];\r\n classNameList.some(name => {\r\n const queryDom = hotKeyFactory.queryNode(containerDom).find(name);\r\n targetDom = queryDom;\r\n return !!queryDom.currentNode;\r\n });\r\n\r\n targetDom.currentNode && targetDom.click();\r\n hotKeyFactory.log(!targetDom.currentNode, { waring: 'register hot-key trigger Dom not found' });\r\n\r\n hotKeyFactory.unlock();\r\n },\r\n register(keyName) {\r\n return (containerName) => (className) => {\r\n const registerKey = {\r\n key: keyName,\r\n container: containerName,\r\n className\r\n };\r\n\r\n if (!hotKeyFactory.registerKey) {\r\n hotKeyFactory.registerKey = [registerKey];\r\n } else {\r\n const addKey = [...hotKeyFactory.registerKey.filter(item => item.key !== keyName), registerKey];\r\n hotKeyFactory.registerKey = addKey;\r\n }\r\n };\r\n },\r\n unRegister(keyName) {\r\n if (hotKeyFactory.registerKey) {\r\n const keys = hotKeyFactory.registerKey.filter(item => item.key !== keyName);\r\n hotKeyFactory.registerKey = keys;\r\n }\r\n },\r\n queryNode(target) {\r\n const {\r\n find, next, prev, setFocus, clearFocus\r\n } = this;\r\n\r\n return {\r\n currentNode: target,\r\n find,\r\n next,\r\n prev,\r\n setFocus,\r\n clearFocus,\r\n click() {\r\n hotKeyFactory.clickBefore();\r\n this.currentNode.click();\r\n }\r\n };\r\n },\r\n rejectDoAction(keyName) {\r\n const id = hotKeyFactory.getFocusId();\r\n if (!id) return true;\r\n\r\n const { control, directionSelector } = this.operationControl[id] || {};\r\n\r\n // if (control === 'ALL') return;\r\n if (id == '1') return; //动态生成id=='1' 代替ALL\r\n if (!control || !control.includes(keyName)) return true;\r\n },\r\n action(keyName, className) {\r\n return new Promise((resolve, reject) => {\r\n const target = this.asyncQueryHotKeyDom(className);\r\n\r\n const dynamicActionTarget = hotKeyFactory.dynamicAction(keyName, target);\r\n if (dynamicActionTarget) return resolve(dynamicActionTarget);\r\n\r\n if (target) {\r\n const hotKeyProto = hotKeyFactory.queryNode(target);\r\n\r\n hotKeyProto.click();\r\n hotKeyFactory.unlock();\r\n\r\n resolve(hotKeyProto);\r\n } else {\r\n hotKeyFactory.log(true, { waring: `not found hot ket target of [${className}]` });\r\n hotKeyFactory.unlock();\r\n }\r\n });\r\n },\r\n actionCompose(operation, keyName, callback) {\r\n let actionPromise = null;\r\n let prveValue = null;\r\n const { listener } = hotKeyFactory;\r\n\r\n operation.forEach((value, index) => {\r\n if (!actionPromise) {\r\n prveValue = value;\r\n actionPromise = hotKeyFactory.action(keyName, value);\r\n if (index === (operation.length - 1)) {\r\n actionPromise.then(res => {\r\n listener(callback, res, index);\r\n hotKeyFactory.unlock();\r\n return this;\r\n });\r\n }\r\n } else {\r\n actionPromise.then(res => {\r\n listener(callback, res, index - 1);\r\n prveValue = value;\r\n return hotKeyFactory.action(keyName, value);\r\n });\r\n\r\n if (index === (operation.length - 1)) {\r\n actionPromise.then(res => {\r\n listener(callback, res, index);\r\n hotKeyFactory.unlock();\r\n return this;\r\n });\r\n }\r\n }\r\n });\r\n\r\n return actionPromise;\r\n },\r\n actuator(keyName, callback) {\r\n hotKeyFactory.log(true, { keyName });\r\n \r\n if(hotKeyFactory.isShouldQuickKeyClicked()) return null\r\n // if (hotKeyFactory.lock) return;\r\n hotKeyFactory.lock = true;\r\n\r\n if (hotKeyFactory.triggerRegister(keyName)) return;\r\n if (hotKeyFactory.rejectDoAction(keyName)) return;\r\n\r\n const { operation = ['.hot-key-focus-container'] } = this.hotKeyConfig[keyName] || {};\r\n const operations = Array.isArray(operation[0]) ? operation : [operation]; // 存在一个按键操作多个节点\r\n\r\n operations.forEach(operationItem => hotKeyFactory.actionCompose(operationItem, keyName, callback));\r\n },\r\n find(selector, isNew) {\r\n let currentNode;\r\n if (!this.currentNode || isNew) {\r\n currentNode = hotKeyFactory.asyncQueryHotKeyDom(selector);\r\n } else {\r\n currentNode = hotKeyFactory.asyncQueryHotKeyDom(selector, this.currentNode);\r\n }\r\n\r\n return hotKeyFactory.queryNode(currentNode);\r\n },\r\n next(filterNum = 1) {\r\n for (let i = 0; i < filterNum; i++) {\r\n if (!this.currentNode) {\r\n hotKeyFactory.log(true, { waring: 'There is a warning in the next,trigger Dom is not found ' });\r\n break;\r\n }\r\n this.currentNode = this.currentNode.nextSibling;\r\n }\r\n\r\n return this;\r\n },\r\n prev(filterNum = 1) {\r\n for (let i = 0; i < filterNum; i++) {\r\n if (!this.currentNode) {\r\n hotKeyFactory.log(true, { waring: 'There is a warning in the prev,trigger Dom is not found ' });\r\n break;\r\n }\r\n this.currentNode = this.currentNode.previousSibling;\r\n }\r\n\r\n return this;\r\n },\r\n find_element(selector) {\r\n let returnValue = [];\r\n let arr = selector.split(' ');\r\n if (arr && arr.length > 0) {\r\n arr.map(item => {\r\n let el = document.querySelectorAll(`.hot-key-focus-container ${item}`);\r\n returnValue = [...returnValue, ...el];\r\n })\r\n returnValue = returnValue && [...returnValue].filter(v => v.style.display != 'none')\r\n } \r\n return returnValue;\r\n },\r\n setFocus(target) {\r\n const container = target || this.currentNode;\r\n container && container.classList.add('hot-key-focus-container');\r\n //hotKeyFactory.log(!container, { waring: 'the set focus container Dom is not found' });\r\n },\r\n clearFocus() {\r\n const focusContainer = document.querySelectorAll('.hot-key-focus-container');\r\n\r\n for (const dom of focusContainer) {\r\n dom.classList.remove('hot-key-focus-container');\r\n }\r\n hotKeyFactory.log(true, { log: 'the focus container is clear' });\r\n },\r\n clickBefore() {\r\n const { clickBeforeProp } = hotKeyFactory;\r\n clickBeforeProp && clickBeforeProp();\r\n },\r\n unlock() {\r\n hotKeyFactory.lock = false;\r\n },\r\n getFocusId() {\r\n const focusContainer = document.querySelector('.hot-key-focus-container');\r\n if (!focusContainer) return hotKeyFactory.log(true, { waring: 'the focus container is not found' });\r\n\r\n let classList;\r\n const currentClassList = Array.from(focusContainer.classList) || [];\r\n if (currentClassList.includes('hot-key-id')) {\r\n classList = currentClassList;\r\n } else {\r\n const hotKeyIdNode = focusContainer.querySelector('.hot-key-id');\r\n hotKeyFactory.log(!hotKeyIdNode, { waring: 'not have any bind hot-key id node' });\r\n\r\n if (!hotKeyIdNode) return;\r\n\r\n classList = Array.from(hotKeyIdNode.classList) || [];\r\n }\r\n const [, id] = (classList.find(className => className.includes('hot-key-id=')) || '').split('=');\r\n this.focusId = id;\r\n\r\n return id;\r\n },\r\n bind(keys = [], callBack) {\r\n keyboard(keys.join(), callBack);\r\n },\r\n unbind(keys = []) {\r\n keys.forEach(key => keyboard.unbind(key));\r\n },\r\n handles: [],\r\n on(callback) {\r\n const handles = hotKeyFactory.handles || [];\r\n const isHaveEvent = handles.some(handle => handle === callback);\r\n\r\n if (!isHaveEvent) {\r\n handles.push(callback);\r\n }\r\n },\r\n off(callback) {\r\n const handles = hotKeyFactory.handles || [];\r\n const handleIndex = handles.findIndex(handle => handle === callback);\r\n\r\n if (~handleIndex) {\r\n handles.splice(handleIndex, 1);\r\n }\r\n },\r\n listener(callback, result = {}, index) {\r\n const node = result.nodeType === 1 ? result : result.currentNode;\r\n hotKeyFactory.handles.forEach(handle => handle(node, index));\r\n\r\n callback && callback(node, index);\r\n },\r\n log(isShowLog, { keyName, waring } = {}) {\r\n if (!this.showLog || !isShowLog) return;\r\n\r\n if (keyName) console.log(`[hot-key]: ${keyName}`);\r\n if (waring) console.log(`[hot-key-waring]: ${waring}`);\r\n },\r\n\r\n isShouldQuickKeyClicked() {\r\n const loadingImgs = document.querySelector(\"img.loading-img-symbol\");\r\n if(loadingImgs) return true\r\n }\r\n};\r\n\r\nfunction hotKey(option) {\r\n return hotKeyFactory.constructor.call(hotKeyFactory, option);\r\n}\r\n\r\nhotKey.hotKeyPart = function (partName, otherClassName = '') {\r\n return `${otherClassName} hot-key-part-${partName}`;\r\n};\r\n\r\nhotKey.hotKeyBindClass = function (id, otherClassName = '') {\r\n return `${otherClassName} hot-key-id hot-key-id=${id}`;\r\n};\r\n\r\nhotKey.hotKeyNotFilter = function (otherClassName = '') {\r\n return `${otherClassName} hot-key-not-filter`;\r\n};\r\n\r\nhotKey.hotKeyConfig = defaultHotKeyConfig;\r\nhotKey.operationControl = defaultOperationControl;\r\nhotKey.showHotKeyModal = showHotKeyModal;\r\nhotKey.classificationList = classificationList;\r\nhotKey.keyReplaceStringList = keyReplaceStringList\r\nhotKey.operationTypeName = operationTypeName\r\n\r\nexport default hotKey;\r\n"]}
|
@@ -183,7 +183,7 @@ var Tab = (0, _mutantsMicrofx.observer)(_class = function (_React$Component) {
|
|
183
183
|
_this2.loadingIcon = function () {
|
184
184
|
var theme = _mutantsUtil.localStore.get('theme');
|
185
185
|
var img = theme == 'blue' || theme == 'dark' ? _this2.sys_parms.blueloading : _this2.sys_parms.orangeloading;
|
186
|
-
return _react2.default.createElement('img', { src: img, style: { width: '90px', height: '90px' } });
|
186
|
+
return _react2.default.createElement('img', { src: img, className: 'loading-img-symbol', style: { width: '90px', height: '90px' } });
|
187
187
|
};
|
188
188
|
|
189
189
|
_this2.state = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["tplus-components-touch/components/inventorySearch/tab.js"],"names":["Tab","observer","props","sys_parms","orangeloading","window","ossAliyuncsFileURL","blueloading","onRowClick","record","index","type","setState","selectedRowIndex","resetPageNo","activePage","previous","state","store","searchMore","searchValue","next","getRowClassName","getNewColumnsList","searchDesigns","columns","push","title","width","dataIndex","key","ellipsis","render","text","map","item","OriginalTitle","FieldName","Precision","IsFormat","newItem","renderText","InventorySearchApi","formatNumber","tools","dateFormat","loadingIcon","theme","localStore","get","img","height","emptyHeight","setTableHeight","windowEvent","bind","addEventListener","removeEventListener","_this","setTimeout","Number","tabDom","clientHeight","tableHeight","dataSource","TotalPage","loading","dom","length","y","spinning","indicator","onClick","info","buttonVisible","fontSize","React","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;;;IAEqBA,G,OADpBC,wB;;;AAQC,eAAYC,KAAZ,EAAmB;AAAA;;AAAA,iIACXA,KADW;;AAAA,WALnBC,SAKmB,GALP;AACVC,qBAAkBC,OAAOC,kBAAzB,yBADU;AAEVC,mBAAgBF,OAAOC,kBAAvB;AAFU,KAKO;;AAAA,WA0BnBE,UA1BmB,GA0BN,UAACC,MAAD,EAASC,KAAT,EAAmB;AAC9B,aAAKR,KAAL,CAAWM,UAAX,IAAyB,OAAKN,KAAL,CAAWM,UAAX,CAAsBC,MAAtB,EAA8B,OAAKP,KAAL,CAAWS,IAAzC,CAAzB;AACA,aAAKC,QAAL,CAAc,EAAEC,kBAAkBH,KAApB,EAAd;AACD,KA7BkB;;AAAA,WA+BnBI,WA/BmB,GA+BL,YAAM;AAClB,aAAKF,QAAL,CAAc;AACZG,oBAAY;AADA,OAAd;AAGD,KAnCkB;;AAAA,WAqCnBC,QArCmB,GAqCR,YAAM;AACf,aAAKJ,QAAL,CAAc;AACZG,oBAAY,OAAKE,KAAL,CAAWF,UAAX,GAAwB;AADxB,OAAd,EAEG,YAAM;AACP,eAAKb,KAAL,CAAWgB,KAAX,CAAiBC,UAAjB,CAA4B,OAAKjB,KAAL,CAAWkB,WAAvC,EAAoD,OAAKH,KAAL,CAAWF,UAA/D,EAA2E,EAA3E,EAA+E,OAAKb,KAAL,CAAWS,IAA1F;AACD,OAJD;AAKD,KA3CkB;;AAAA,WA6CnBU,IA7CmB,GA6CZ,YAAM;AACX,aAAKT,QAAL,CAAc;AACZG,oBAAY,OAAKE,KAAL,CAAWF,UAAX,GAAwB;AADxB,OAAd,EAEG,YAAM;AACP,eAAKb,KAAL,CAAWgB,KAAX,CAAiBC,UAAjB,CAA4B,OAAKjB,KAAL,CAAWkB,WAAvC,EAAoD,OAAKH,KAAL,CAAWF,UAA/D,EAA2E,EAA3E,EAA+E,OAAKb,KAAL,CAAWS,IAA1F;AACD,OAJD;AAKD,KAnDkB;;AAAA,WAoDnBW,eApDmB,GAoDD,UAACb,MAAD,EAASC,KAAT,EAAmB;AAAA,UAC3BG,gBAD2B,GACN,OAAKI,KADC,CAC3BJ,gBAD2B;;AAEnC,UAAIA,oBAAoBH,KAAxB,EAA+B;AAC7B,eAAO,cAAP;AACD,OAFD,MAEO;AACL,eAAO,EAAP;AACD;AACF,KA3DkB;;AAAA,WA8DnBa,iBA9DmB,GA8DC,UAACZ,IAAD,EAAOa,aAAP,EAAyB;AAC3C,UAAIC,UAAU,EAAd;AACA;AACA,UAAId,QAAQ,GAAZ,EAAiB;AACfc,gBAAQC,IAAR,CAAa;AACXC,iBAAO,MADI;AAEXC,iBAAO,GAFI;AAGXC,qBAAW,eAHA;AAIXC,eAAK,eAJM;AAKX;AACAC,oBAAU,IANC,EAMK;AAChBC,kBAAQ,gBAACC,IAAD,EAAOxB,MAAP,EAAeC,KAAf,EAAyB;AAC/B,mBAAO;AAAA;AAAA,gBAAK,WAAU,qBAAf;AAAsCuB;AAAtC,aAAP;AACD;AATU,SAAb;AAWD;AACDT,oBAAcU,GAAd,CAAkB,gBAAQ;AAAA,mBACgCC,QAAQ,EADxC;AAAA,YAClBC,aADkB,QAClBA,aADkB;AAAA,YACHC,SADG,QACHA,SADG;AAAA,YACQC,SADR,QACQA,SADR;AAAA,YACmBC,QADnB,QACmBA,QADnB;;AAExB,YAAIC,UAAU;AACZb,iBAAOS,aADK;AAEZR,iBAAO,GAFK;AAGZC,qBAAWQ,SAHC;AAIZP,eAAKO,SAJO;AAKZC,qBAAWA,SALC;AAMZC,oBAAUA,QANE;AAOZR,oBAAU;AAPE,SAAd;AASA,gBAAQM,SAAR;AACE,eAAK,eAAL;AACEG,oBAAQZ,KAAR,GAAgB,GAAhB;AACAY,oBAAQR,MAAR,GAAiB,UAACC,IAAD,EAAOxB,MAAP,EAAeC,KAAf,EAAyB;AACxC,qBAAO;AAAA;AAAA,kBAAK,WAAU,qBAAf;AAAsCuB;AAAtC,eAAP;AACD,aAFD;AAGA;AACF,eAAK,eAAL;AAAsBO,oBAAQZ,KAAR,GAAgB,GAAhB,CAAqB;AAC3C,eAAK,sBAAL;AAA6BY,oBAAQZ,KAAR,GAAgB,EAAhB,CAAoB;AARnD;AAUA,YAAI,CAACU,aAAaA,aAAa,CAA3B,KAAiCC,QAArC,EAA+C;AAC7CC,kBAAQR,MAAR,GAAiB,UAACC,IAAD,EAAOxB,MAAP,EAAeC,KAAf,EAAyB;AACxC,gBAAI+B,aAAaC,cAAmBC,YAAnB,CAAgCV,IAAhC,EAAsCK,SAAtC,CAAjB;AACA,mBAAO;AAAA;AAAA;AAAOG;AAAP,aAAP;AACD,WAHD;AAID;AACD,YAAIJ,aAAa,gBAAb,IAAiCA,aAAa,YAAlD,EAAgE;AAC9DG,kBAAQR,MAAR,GAAiB,UAACC,IAAD,EAAOxB,MAAP,EAAeC,KAAf,EAAyB;AACxC,gBAAI+B,aAAaG,gBAAMC,UAAN,CAAiBZ,IAAjB,CAAjB;AACA,mBAAO;AAAA;AAAA;AAAOQ;AAAP,aAAP;AACD,WAHD;AAID;AACDhB,gBAAQC,IAAR,CAAac,OAAb;AACD,OAlCD;AAmCA,aAAOf,OAAP;AACD,KAlHkB;;AAAA,WAmHnBqB,WAnHmB,GAmHL,YAAM;AAClB,UAAMC,QAAQC,wBAAWC,GAAX,CAAe,OAAf,CAAd;AACA,UAAMC,MAAOH,SAAS,MAAT,IAAmBA,SAAS,MAA7B,GAAuC,OAAK5C,SAAL,CAAeI,WAAtD,GAAoE,OAAKJ,SAAL,CAAeC,aAA/F;AACA,aACE,uCAAK,KAAK8C,GAAV,EAAe,OAAO,EAAEtB,OAAO,MAAT,EAAiBuB,QAAQ,MAAzB,EAAtB,GADF;AAGD,KAzHkB;;AAEjB,WAAKlC,KAAL,GAAa;AACXF,kBAAY,CADD;AAEXqC,mBAAa,GAFF;AAGXvC,wBAAkB,CAAC;AAHR,KAAb;AAFiB;AAOlB;;;;wCACmB;AAClB,WAAKwC,cAAL;AACA,WAAKC,WAAL,GAAmB,KAAKD,cAAL,CAAoBE,IAApB,CAAyB,IAAzB,CAAnB;AACAlD,aAAOmD,gBAAP,CAAwB,QAAxB,EAAkC,KAAKF,WAAvC;AACD;;;2CAEsB;AACrBjD,aAAOoD,mBAAP,CAA2B,QAA3B,EAAqC,KAAKH,WAA1C;AACD;;;qCAEgB;AACf,UAAII,QAAQ,IAAZ;AACAC,iBAAW,YAAM;AACf,YAAIR,SAASS,OAAOF,MAAMG,MAAN,CAAaC,YAAb,GAA4B,GAAnC,CAAb;AACAJ,cAAM9C,QAAN,CAAe,EAAEmD,aAAaZ,MAAf,EAAf;AACD,OAHD,EAGG,CAHH;AAID;;AAqCD;;;;6BA8DS;AAAA;;AAAA,UACDpC,UADC,GACc,KAAKE,KADnB,CACDF,UADC;AAAA,mBAEuD,KAAKb,KAF5D;AAAA,UAED8D,UAFC,UAEDA,UAFC;AAAA,UAEWC,SAFX,UAEWA,SAFX;AAAA,UAEsBC,OAFtB,UAEsBA,OAFtB;AAAA,UAE+BvD,IAF/B,UAE+BA,IAF/B;AAAA,UAEqCa,aAFrC,UAEqCA,aAFrC;;AAGP,UAAIC,UAAU,KAAKF,iBAAL,CAAuBZ,IAAvB,EAA6Ba,aAA7B,CAAd;AACA,aACE;AAAA;AAAA,UAAK,KAAK,aAAC2C,GAAD,EAAS;AAAE,mBAAKN,MAAL,GAAcM,GAAd;AAAmB,WAAxC;AACE,sBAAcH,cAAcA,WAAWI,MAAX,GAAoB,CAAlC,GAAsC,gBAAtC,GAAyD,EAAvE,yBAA2FzD,QAAQ,GAAR,GAAc,QAAd,GAAyB,QAApH,CADF;AAGIqD,sBAAcA,WAAWI,MAAX,GAAoB,CAAlC,GACE;AACE,mBAAS3C,OADX;AAEE,sBAAYuC,UAFd;AAGE,kBAAQ,EAAEK,GAAG,sBAAL,EAHV;AAIE,mBAAS;AACPC,sBAAUJ,OADH;AAEPK,uBAAW,KAAKzB,WAAL;AAFJ,WAJX;AAQE,sBAAY,KARd;AASE,wBAAc,KAAKxB,eATrB;AAUE,iBAAO,eAACb,MAAD,EAASC,KAAT,EAAmB;AACxB,mBAAO;AACL8D,uBAAS;AAAA,uBAAM,OAAKhE,UAAL,CAAgBC,MAAhB,EAAwBC,KAAxB,CAAN;AAAA;AADJ,aAAP;AAGD,WAdH,GADF,GAiBE,8BAAC,oBAAD;AACE,iBAAOwD,UAAS,MAAT,GAAiB,OAD1B;AAEE,4BAAkB,EAAEf,QAAQ,MAAV,EAFpB;AAGE,iBAAO,EAAEsB,MAAM,QAAR,EAAkBC,eAAe,KAAjC,EAHT,GApBN;AAyBG,UAAET,aAAa,CAAb,IAAkB,CAACA,SAArB,KAAmC;AAAA;AAAA,YAAK,WAAU,eAAf,EAA+B,OAAO,EAAEU,UAAU,MAAZ,EAAtC;AAAA;AAAA,SAzBtC;AA0BE,sCAAC,WAAD;AACE,iBAAOV,SADT;AAEE,wBAAclD,UAFhB;AAGE,oBAAU,KAAKC,QAHjB;AAIE,gBAAM,KAAKK,IAJb;AAKE,qBAAU;AALZ;AA1BF,OADF;AAoCD;;;EA1K8BuD,gBAAMC,S;;kBAAlB7E,G","file":"tab.js","sourcesContent":["import React from 'react';\r\nimport { Table } from 'antd';\r\nimport { observer } from 'mutants-microfx';\r\nimport { localStore } from 'mutants-util';\r\nimport { Page, ProgressState } from '../../index';\r\nimport InventorySearchApi from './api';\r\nimport tools from '../../util/tools';\r\n@observer\r\nexport default class Tab extends React.Component {\r\n\r\n sys_parms = {\r\n orangeloading: `${window.ossAliyuncsFileURL}/bc_pos/loading3.gif`,\r\n blueloading: `${window.ossAliyuncsFileURL}/bc_pos/loading4.gif`,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activePage: 1,\r\n emptyHeight: 200,\r\n selectedRowIndex: -1\r\n };\r\n }\r\n componentDidMount() {\r\n this.setTableHeight();\r\n this.windowEvent = this.setTableHeight.bind(this);\r\n window.addEventListener('resize', this.windowEvent);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowEvent);\r\n }\r\n\r\n setTableHeight() {\r\n let _this = this;\r\n setTimeout(() => {\r\n let height = Number(_this.tabDom.clientHeight - 200);\r\n _this.setState({ tableHeight: height })\r\n }, 0)\r\n }\r\n\r\n onRowClick = (record, index) => {\r\n this.props.onRowClick && this.props.onRowClick(record, this.props.type)\r\n this.setState({ selectedRowIndex: index })\r\n }\r\n\r\n resetPageNo = () => {\r\n this.setState({\r\n activePage: 1\r\n })\r\n }\r\n\r\n previous = () => {\r\n this.setState({\r\n activePage: this.state.activePage - 1\r\n }, () => {\r\n this.props.store.searchMore(this.props.searchValue, this.state.activePage, 15, this.props.type)\r\n })\r\n }\r\n\r\n next = () => {\r\n this.setState({\r\n activePage: this.state.activePage + 1\r\n }, () => {\r\n this.props.store.searchMore(this.props.searchValue, this.state.activePage, 15, this.props.type)\r\n })\r\n }\r\n getRowClassName = (record, index) => {\r\n const { selectedRowIndex } = this.state;\r\n if (selectedRowIndex == index) {\r\n return 'row-selected'\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n // 获取列字段集合\r\n getNewColumnsList = (type, searchDesigns) => {\r\n let columns = [];\r\n //周边门店要显示门店名称\r\n if (type == '2') {\r\n columns.push({\r\n title: '门店名称',\r\n width: 120,\r\n dataIndex: 'WarehouseName',\r\n key: 'WarehouseName',\r\n // fixed: 'left', 注释掉,否则鼠标悬浮无效\r\n ellipsis: true, // 加上,否则鼠标悬浮无效\r\n render: (text, record, index) => {\r\n return <div className='text-2line-overflow'>{text}</div>\r\n }\r\n })\r\n }\r\n searchDesigns.map(item => {\r\n let { OriginalTitle, FieldName, Precision, IsFormat } = item || {};\r\n let newItem = {\r\n title: OriginalTitle,\r\n width: 100,\r\n dataIndex: FieldName,\r\n key: FieldName,\r\n Precision: Precision,\r\n IsFormat: IsFormat,\r\n ellipsis: true,\r\n }\r\n switch (FieldName) {\r\n case 'InventoryName':\r\n newItem.width = 160;\r\n newItem.render = (text, record, index) => {\r\n return <div className='text-2line-overflow'>{text}</div>\r\n }\r\n break;\r\n case 'InventoryCode': newItem.width = 160; break;\r\n case 'ExistingBaseQuantity': newItem.width = 80; break;\r\n }\r\n if ((Precision || Precision == 0) && IsFormat) {\r\n newItem.render = (text, record, index) => {\r\n let renderText = InventorySearchApi.formatNumber(text, Precision);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n if (FieldName == 'ProductionDate' || FieldName == 'ExpiryDate') {\r\n newItem.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(newItem);\r\n });\r\n return columns;\r\n }\r\n loadingIcon = () => {\r\n const theme = localStore.get('theme');\r\n const img = (theme == 'blue' || theme == 'dark') ? this.sys_parms.blueloading : this.sys_parms.orangeloading;\r\n return (\r\n <img src={img} style={{ width: '90px', height: '90px' }} />\r\n )\r\n }\r\n\r\n render() {\r\n let { activePage } = this.state;\r\n let { dataSource, TotalPage, loading, type, searchDesigns } = this.props;\r\n let columns = this.getNewColumnsList(type, searchDesigns);\r\n return (\r\n <div ref={(dom) => { this.tabDom = dom }}\r\n className={`${dataSource && dataSource.length > 0 ? 'inventoryTable' : ''} inventory-tab ${type == '2' ? 'table2' : 'table1'}`}>\r\n {\r\n dataSource && dataSource.length > 0 ?\r\n <Table\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={{ y: \"calc(~'100% - 43px')\" }}\r\n loading={{\r\n spinning: loading,\r\n indicator: this.loadingIcon()\r\n }}\r\n pagination={false}\r\n rowClassName={this.getRowClassName}\r\n onRow={(record, index) => {\r\n return {\r\n onClick: () => this.onRowClick(record, index)\r\n }\r\n }} />\r\n :\r\n <ProgressState\r\n state={loading? 'load': \"empty\"}\r\n stateCommonStyle={{ height: \"100%\" }}\r\n empty={{ info: '暂无数据~~', buttonVisible: false }} />\r\n }\r\n {!(TotalPage == 0 || !TotalPage) && <div className=\"primary-color\" style={{ fontSize: '13px'}}>温馨提示:点击选中该行商品可直接带入至开单页</div>}\r\n <Page\r\n total={TotalPage}\r\n currentIndex={activePage}\r\n previous={this.previous}\r\n next={this.next}\r\n className='inventory-page'\r\n />\r\n </div>\r\n )\r\n }\r\n}"]}
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/inventorySearch/tab.js"],"names":["Tab","observer","props","sys_parms","orangeloading","window","ossAliyuncsFileURL","blueloading","onRowClick","record","index","type","setState","selectedRowIndex","resetPageNo","activePage","previous","state","store","searchMore","searchValue","next","getRowClassName","getNewColumnsList","searchDesigns","columns","push","title","width","dataIndex","key","ellipsis","render","text","map","item","OriginalTitle","FieldName","Precision","IsFormat","newItem","renderText","InventorySearchApi","formatNumber","tools","dateFormat","loadingIcon","theme","localStore","get","img","height","emptyHeight","setTableHeight","windowEvent","bind","addEventListener","removeEventListener","_this","setTimeout","Number","tabDom","clientHeight","tableHeight","dataSource","TotalPage","loading","dom","length","y","spinning","indicator","onClick","info","buttonVisible","fontSize","React","Component"],"mappings":"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","file":"tab.js","sourcesContent":["import React from 'react';\r\nimport { Table } from 'antd';\r\nimport { observer } from 'mutants-microfx';\r\nimport { localStore } from 'mutants-util';\r\nimport { Page, ProgressState } from '../../index';\r\nimport InventorySearchApi from './api';\r\nimport tools from '../../util/tools';\r\n@observer\r\nexport default class Tab extends React.Component {\r\n\r\n sys_parms = {\r\n orangeloading: `${window.ossAliyuncsFileURL}/bc_pos/loading3.gif`,\r\n blueloading: `${window.ossAliyuncsFileURL}/bc_pos/loading4.gif`,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activePage: 1,\r\n emptyHeight: 200,\r\n selectedRowIndex: -1\r\n };\r\n }\r\n componentDidMount() {\r\n this.setTableHeight();\r\n this.windowEvent = this.setTableHeight.bind(this);\r\n window.addEventListener('resize', this.windowEvent);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowEvent);\r\n }\r\n\r\n setTableHeight() {\r\n let _this = this;\r\n setTimeout(() => {\r\n let height = Number(_this.tabDom.clientHeight - 200);\r\n _this.setState({ tableHeight: height })\r\n }, 0)\r\n }\r\n\r\n onRowClick = (record, index) => {\r\n this.props.onRowClick && this.props.onRowClick(record, this.props.type)\r\n this.setState({ selectedRowIndex: index })\r\n }\r\n\r\n resetPageNo = () => {\r\n this.setState({\r\n activePage: 1\r\n })\r\n }\r\n\r\n previous = () => {\r\n this.setState({\r\n activePage: this.state.activePage - 1\r\n }, () => {\r\n this.props.store.searchMore(this.props.searchValue, this.state.activePage, 15, this.props.type)\r\n })\r\n }\r\n\r\n next = () => {\r\n this.setState({\r\n activePage: this.state.activePage + 1\r\n }, () => {\r\n this.props.store.searchMore(this.props.searchValue, this.state.activePage, 15, this.props.type)\r\n })\r\n }\r\n getRowClassName = (record, index) => {\r\n const { selectedRowIndex } = this.state;\r\n if (selectedRowIndex == index) {\r\n return 'row-selected'\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n // 获取列字段集合\r\n getNewColumnsList = (type, searchDesigns) => {\r\n let columns = [];\r\n //周边门店要显示门店名称\r\n if (type == '2') {\r\n columns.push({\r\n title: '门店名称',\r\n width: 120,\r\n dataIndex: 'WarehouseName',\r\n key: 'WarehouseName',\r\n // fixed: 'left', 注释掉,否则鼠标悬浮无效\r\n ellipsis: true, // 加上,否则鼠标悬浮无效\r\n render: (text, record, index) => {\r\n return <div className='text-2line-overflow'>{text}</div>\r\n }\r\n })\r\n }\r\n searchDesigns.map(item => {\r\n let { OriginalTitle, FieldName, Precision, IsFormat } = item || {};\r\n let newItem = {\r\n title: OriginalTitle,\r\n width: 100,\r\n dataIndex: FieldName,\r\n key: FieldName,\r\n Precision: Precision,\r\n IsFormat: IsFormat,\r\n ellipsis: true,\r\n }\r\n switch (FieldName) {\r\n case 'InventoryName':\r\n newItem.width = 160;\r\n newItem.render = (text, record, index) => {\r\n return <div className='text-2line-overflow'>{text}</div>\r\n }\r\n break;\r\n case 'InventoryCode': newItem.width = 160; break;\r\n case 'ExistingBaseQuantity': newItem.width = 80; break;\r\n }\r\n if ((Precision || Precision == 0) && IsFormat) {\r\n newItem.render = (text, record, index) => {\r\n let renderText = InventorySearchApi.formatNumber(text, Precision);\r\n return <span>{renderText}</span>\r\n }\r\n }\r\n if (FieldName == 'ProductionDate' || FieldName == 'ExpiryDate') {\r\n newItem.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(newItem);\r\n });\r\n return columns;\r\n }\r\n loadingIcon = () => {\r\n const theme = localStore.get('theme');\r\n const img = (theme == 'blue' || theme == 'dark') ? this.sys_parms.blueloading : this.sys_parms.orangeloading;\r\n return (\r\n <img src={img} className=\"loading-img-symbol\" style={{ width: '90px', height: '90px' }} />\r\n )\r\n }\r\n\r\n render() {\r\n let { activePage } = this.state;\r\n let { dataSource, TotalPage, loading, type, searchDesigns } = this.props;\r\n let columns = this.getNewColumnsList(type, searchDesigns);\r\n return (\r\n <div ref={(dom) => { this.tabDom = dom }}\r\n className={`${dataSource && dataSource.length > 0 ? 'inventoryTable' : ''} inventory-tab ${type == '2' ? 'table2' : 'table1'}`}>\r\n {\r\n dataSource && dataSource.length > 0 ?\r\n <Table\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={{ y: \"calc(~'100% - 43px')\" }}\r\n loading={{\r\n spinning: loading,\r\n indicator: this.loadingIcon()\r\n }}\r\n pagination={false}\r\n rowClassName={this.getRowClassName}\r\n onRow={(record, index) => {\r\n return {\r\n onClick: () => this.onRowClick(record, index)\r\n }\r\n }} />\r\n :\r\n <ProgressState\r\n state={loading? 'load': \"empty\"}\r\n stateCommonStyle={{ height: \"100%\" }}\r\n empty={{ info: '暂无数据~~', buttonVisible: false }} />\r\n }\r\n {!(TotalPage == 0 || !TotalPage) && <div className=\"primary-color\" style={{ fontSize: '13px'}}>温馨提示:点击选中该行商品可直接带入至开单页</div>}\r\n <Page\r\n total={TotalPage}\r\n currentIndex={activePage}\r\n previous={this.previous}\r\n next={this.next}\r\n className='inventory-page'\r\n />\r\n </div>\r\n )\r\n }\r\n}"]}
|