From 6f2b0cab4c9a4dacfebb2d6fbd4ec2fdc14e22ba Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 29 四月 2024 15:29:58 +0800 Subject: [PATCH] 2024-04-29 --- src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx | 92 ++++++++++ src/menu/components/module/voucher/voucherTable/index.scss | 3 src/menu/components/table/normal-table/options.jsx | 53 +++++ src/utils/utils-custom.js | 19 + src/tabviews/custom/components/share/normalTable/index.scss | 3 src/tabviews/zshare/actionList/exceloutbutton/index.jsx | 2 src/menu/components/form/simple-form/index.jsx | 2 src/tabviews/custom/popview/index.jsx | 25 ++ src/menu/components/table/normal-table/columns/editColumn/index.jsx | 17 + src/tabviews/basetable/index.jsx | 20 - src/templates/modalconfig/index.jsx | 2 src/tabviews/custom/components/module/invoice/index.jsx | 8 src/tabviews/custom/components/card/data-card/index.jsx | 39 +-- src/menu/components/module/invoice/verifycard/customscript/index.jsx | 6 src/menu/components/form/step-form/index.jsx | 2 src/menu/components/card/data-card/options.jsx | 2 src/menu/components/form/tab-form/index.jsx | 2 src/tabviews/custom/components/module/voucher/voucherTable/index.scss | 3 src/tabviews/custom/components/table/normal-table/index.jsx | 83 +++++++-- src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx | 2 src/tabviews/custom/components/table/edit-table/normalTable/index.scss | 3 src/menu/modalconfig/index.scss | 12 + src/tabviews/custom/index.jsx | 45 +++- src/menu/modalconfig/index.jsx | 2 src/menu/components/module/invoice/verifycard/index.jsx | 6 src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx | 14 + src/menu/components/table/normal-table/index.jsx | 22 ++ src/tabviews/zshare/normalTable/index.scss | 5 28 files changed, 371 insertions(+), 123 deletions(-) diff --git a/src/menu/components/card/data-card/options.jsx b/src/menu/components/card/data-card/options.jsx index 4ea2fb5..2c480ad 100644 --- a/src/menu/components/card/data-card/options.jsx +++ b/src/menu/components/card/data-card/options.jsx @@ -746,7 +746,7 @@ width: '20%' }, { - title: '鑿滃崟', + title: '缁勪欢', dataIndex: 'nodes', inputType: 'cascader', editable: true, diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx index 3a0bf93..a394711 100644 --- a/src/menu/components/form/simple-form/index.jsx +++ b/src/menu/components/form/simple-form/index.jsx @@ -375,7 +375,7 @@ }) } - if (item.type === 'switch' || item.type === 'check') { + if (['switch', 'check', 'popSelect'].includes(item.type)) { _linksupFields.push({ field: item.field, label: item.label diff --git a/src/menu/components/form/step-form/index.jsx b/src/menu/components/form/step-form/index.jsx index dd919dc..b2a9e85 100644 --- a/src/menu/components/form/step-form/index.jsx +++ b/src/menu/components/form/step-form/index.jsx @@ -477,7 +477,7 @@ }) } - if (item.type === 'switch' || item.type === 'check') { + if (['switch', 'check', 'popSelect'].includes(item.type)) { _linksupFields.push({ field: item.field, label: item.label diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx index 66e8181..ecc6b22 100644 --- a/src/menu/components/form/tab-form/index.jsx +++ b/src/menu/components/form/tab-form/index.jsx @@ -482,7 +482,7 @@ }) } - if (item.type === 'switch' || item.type === 'check') { + if (['switch', 'check', 'popSelect'].includes(item.type)) { _linksupFields.push({ field: item.field, label: item.label diff --git a/src/menu/components/module/invoice/verifycard/customscript/index.jsx b/src/menu/components/module/invoice/verifycard/customscript/index.jsx index 6886fa1..fee69b5 100644 --- a/src/menu/components/module/invoice/verifycard/customscript/index.jsx +++ b/src/menu/components/module/invoice/verifycard/customscript/index.jsx @@ -78,11 +78,11 @@ Select @invoice_type='', @from_to_name='', @from_to_tax_no='', @from_to_addr='', @from_to_tel='', @from_to_bank_name='', @from_to_account_no='', @from_to_mob='', @from_to_email='', @from_to_code='', @orgname='', @tax_no='', @addr='', @tel='', @bank_name='', @account_no='', @remark='', @payee='', @reviewer='', @drawer='', @io='', @orgcode='', @total_net_amount=0, @total_tax=0, @total_amount=0 /* 鍙戠エ鏄庣粏涓存椂琛� */ - Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), invoice_lp Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50)) + Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), free_tax_mark Nvarchar(50), vat_special_management Nvarchar(50), invoice_lp Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50)) - Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, invoice_lp, jskey, data_type) + Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, free_tax_mark, vat_special_management, invoice_lp, jskey, data_type) - Select '', '', '', '', 0, 0, 0, '', '', 0, 0, '', '', '' + Select '', '', '', '', 0, 0, 0, '', '', 0, 0, '', '', '', '', '' ` diff --git a/src/menu/components/module/invoice/verifycard/index.jsx b/src/menu/components/module/invoice/verifycard/index.jsx index 5ffa0bd..0f51541 100644 --- a/src/menu/components/module/invoice/verifycard/index.jsx +++ b/src/menu/components/module/invoice/verifycard/index.jsx @@ -569,13 +569,13 @@ </p> <p className="note">{`/* 鍙戠エ鏄庣粏涓存椂琛� */`}</p> <p> - Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), invoice_lp Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50)) + Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), free_tax_mark Nvarchar(50), vat_special_management Nvarchar(50), invoice_lp Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50)) </p> <p> - Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, invoice_lp, jskey, data_type) + Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, free_tax_mark, vat_special_management, invoice_lp, jskey, data_type) </p> <p> - Select '', '', '', '', 0, 0, 0, '', '', 0, 0, '', '', '' + Select '', '', '', '', 0, 0, 0, '', '', 0, 0, '', '', '', '', '' </p> <p className="note">{`/* 鍓嶇疆鑴氭湰 */`}</p> <p> diff --git a/src/menu/components/module/voucher/voucherTable/index.scss b/src/menu/components/module/voucher/voucherTable/index.scss index c46fe8d..38a139c 100644 --- a/src/menu/components/module/voucher/voucherTable/index.scss +++ b/src/menu/components/module/voucher/voucherTable/index.scss @@ -10,9 +10,8 @@ position: absolute; bottom: 10px; } - >.ant-table-wrapper { + .ant-table-wrapper { position: relative; - z-index: 1; } .ant-table { color: inherit; diff --git a/src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx b/src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx index b50848d..49c4c7f 100644 --- a/src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx +++ b/src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx @@ -61,6 +61,9 @@ value: 'colspan', text: '鍚堝苟鍒�' }, { + value: 'extend', + text: '鎵╁睍鍒�' + }, { value: 'index', text: '搴忓彿' }] @@ -197,6 +200,95 @@ }] }, { + type: 'radio', + key: 'colUnit', + label: '鍗曚綅', + initVal: card.colUnit || 'day', + required: true, + options: [{ + value: 'day', + text: '澶�' + }, { + value: 'hour', + text: '灏忔椂' + }] + }, + { + type: 'number', + key: 'shift', + label: '鍋忕Щ閲�', + initVal: card.shift || 0, + min: -1000, + max: 1000, + decimal: 0, + required: true + }, + { + type: 'number', + key: 'quota', + label: '鎸囨爣鏁�', + initVal: card.quota || 7, + min: 1, + max: 1000, + decimal: 0, + required: true + }, + { + type: 'select', + key: 'dayFormat', + label: '鏍煎紡鍖�', + initVal: card.dayFormat || 'M/DD', + required: true, + options: [{ + value: 'M/DD', + label: 'M/DD锛�4/29锛�' + }, { + value: 'M-DD', + label: 'M-DD锛�4-29锛�' + }, { + value: 'M鏈圖D鏃�', + label: 'M鏈圖D鏃ワ紙4鏈�29鏃ワ級' + }, { + value: 'M/DD week', + label: 'M/DD week锛�4/29 鏄熸湡涓�锛�' + }, { + value: 'M-DD week', + label: 'M-DD week锛�4-29 鏄熸湡涓�锛�' + }, { + value: 'M鏈圖D鏃� week', + label: 'M鏈圖D鏃� week锛�4鏈�29鏃� 鏄熸湡涓�锛�' + }] + }, + { + type: 'select', + key: 'hourFormat', + label: '鏍煎紡鍖�', + initVal: card.hourFormat || 'H:00', + required: true, + options: [{ + value: 'H:00', + label: 'H:00锛�15:00锛�' + }, { + value: 'H point', + label: 'H锛�15鐐癸級' + }, { + value: 'h:00', + label: 'h:00锛�3:00 pm锛�' + }] + }, + { + type: 'text', + key: 'supField', + label: '涓婄骇瀛楁', + initVal: card.supField || '', + tooltip: '鏉ユ簮浜庝笂绾х粍浠剁殑瀛楁闆嗭紙涓婄骇缁勪欢涓虹┖鏃朵粠url鍙傛暟涓�夊彇锛夛紝璇ュ瓧娈靛�硷紙鐢ㄩ�楀彿鍒嗛殧锛夊彲鎺у埗鎵╁睍鍒楃殑鍒楀悕銆�', + required: false, + rules: [{ + pattern: /^[\u4E00-\u9FA50-9a-zA-Z_]*$/ig, + message: '瀛楁鍚嶅彧鍏佽鍖呭惈鏁板瓧銆佸瓧姣嶃�佹眽瀛椾互鍙奯' + }] + }, + { type: 'number', key: 'startTime', precision: 0, diff --git a/src/menu/components/table/normal-table/columns/editColumn/index.jsx b/src/menu/components/table/normal-table/columns/editColumn/index.jsx index 7104329..afa1f03 100644 --- a/src/menu/components/table/normal-table/columns/editColumn/index.jsx +++ b/src/menu/components/table/normal-table/columns/editColumn/index.jsx @@ -20,6 +20,7 @@ custom: ['label', 'type', 'Align', 'Width', 'blacklist', 'IsSort'], action: ['label', 'type', 'Align', 'Width'], formula: ['label', 'type', 'Align', 'Hide', 'Width', 'prefix', 'postfix', 'eval', 'formula', 'blacklist'], + extend: ['label', 'field', 'type', 'Align', 'Width', 'colUnit', 'shift', 'quota', 'supField'], index: ['label', 'type', 'Align', 'Width'] } @@ -97,6 +98,12 @@ _options.push('decimal') } else if (this.record.type === 'custom' && this.record.IsSort === 'true') { _options.push('sortField') + } else if (this.record.type === 'extend') { + if (this.record.colUnit === 'day') { + _options.push('dayFormat') + } else { + _options.push('hourFormat') + } } if (this.record.Hide !== 'true') { @@ -186,7 +193,7 @@ } } else if (key === 'format' && value === 'percent') { this.props.form.setFieldsValue({postfix: '%'}) - } else if (['perspective', 'eval', 'IsSort', 'textFormat'].includes(key)) { + } else if (['perspective', 'eval', 'IsSort', 'textFormat', 'colUnit'].includes(key)) { let _options = this.getOptions() this.setState({ @@ -211,12 +218,12 @@ if (item.hidden || item.forbid) return if (item.type === 'text') { - let rules = [] + let rules = item.rules || [] if (item.key !== 'linkurl') { - rules = [{ + rules.push({ max: formRule.input.max, message: formRule.input.message - }] + }) } fields.push( <Col span={12} key={index}> @@ -356,7 +363,7 @@ </Form.Item> </Col> ) - } else if (item.type === 'cascader') { // 澶氶�� + } else if (item.type === 'cascader') { fields.push( <Col span={12} key={index}> <Form.Item label={item.label}> diff --git a/src/menu/components/table/normal-table/index.jsx b/src/menu/components/table/normal-table/index.jsx index 6bdefb2..9286025 100644 --- a/src/menu/components/table/normal-table/index.jsx +++ b/src/menu/components/table/normal-table/index.jsx @@ -278,11 +278,11 @@ } getWrapForms = () => { - const { wrap, action, columns, cols } = this.state.card + const { card } = this.state let _actions = [] - cols.forEach(col => { + card.cols.forEach(col => { if (col.type === 'custom') { col.elements.forEach(cell => { if (cell.eleType !== 'button') return @@ -292,7 +292,7 @@ } }) - return getWrapForm(wrap, _actions, columns, action) + return getWrapForm(card.wrap, _actions, card.columns, card.action, card.supNodes || [], card.uuid) } updateWrap = (res) => { @@ -311,7 +311,21 @@ res.borderRadius = card.wrap.borderRadius || 0 res.resetContrl = card.wrap.resetContrl || 'init' - this.updateComponent({...card, wrap: res}) + let _card = {...card, wrap: res} + + if (res.supNodes) { + _card.supNodes = res.supNodes + _card.supNodes = _card.supNodes.map(item => { + item.componentId = item.nodes[item.nodes.length - 1] + return item + }) + + delete res.supNodes + } else { + delete _card.supNodes + } + + this.updateComponent(_card) } updatecolumn = (config) => { diff --git a/src/menu/components/table/normal-table/options.jsx b/src/menu/components/table/normal-table/options.jsx index 413b0cd..22662e1 100644 --- a/src/menu/components/table/normal-table/options.jsx +++ b/src/menu/components/table/normal-table/options.jsx @@ -1,7 +1,9 @@ +import MenuUtils from '@/utils/utils-custom.js' + /** * @description Wrap琛ㄥ崟閰嶇疆淇℃伅 */ -export default function (wrap, action = [], columns = [], toolBtns) { +export default function (wrap, action = [], columns = [], toolBtns, supNodes, id = '') { let roleList = sessionStorage.getItem('sysRoles') let appType = sessionStorage.getItem('appType') let isprint = sessionStorage.getItem('MenuType') === 'billPrint' @@ -16,6 +18,9 @@ } else { roleList = [] } + + let menu = window.GLOB.customMenu + let modules = MenuUtils.getSupModules(menu.components, id, menu.interfaces) const wrapForm = [ { @@ -302,6 +307,22 @@ }, { type: 'radio', + field: 'supType', + label: '涓婄骇绫诲瀷', + initval: wrap.supType || 'single', + tooltip: '涓婄骇缁勪欢涓哄崟涓�缁勪欢鎴栧涓粍浠躲��', + required: false, + forbid: appType === 'mob' || isprint, + options: [ + {value: 'single', label: '鍗曠粍浠�'}, + {value: 'multi', label: '澶氱粍浠�'}, + ], + controlFields: [ + {field: 'supNodes', values: ['multi']}, + ] + }, + { + type: 'radio', field: 'permission', label: '鏉冮檺楠岃瘉', initval: wrap.permission || (!appType ? 'true' : 'false'), @@ -346,6 +367,36 @@ options: roleList, forbid: !!appType || isprint }, + { + type: 'table', + field: 'supNodes', + label: '涓婄骇缁勪欢', + initval: supNodes, + required: true, + forbid: appType === 'mob' || isprint, + span: 24, + actions: ['edit', 'del', 'add', 'move'], + columns: [ + { + title: '搴忓彿', + dataIndex: '$index', + editable: false, + required: false, + width: '20%' + }, + { + title: '缁勪欢', + dataIndex: 'nodes', + inputType: 'cascader', + editable: true, + required: true, + extends: [{key: 'label', value: 'label'}], + width: '50%', + render: (text, record) => record.label, + options: modules + } + ] + } ] return wrapForm diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx index 8bb149f..6388269 100644 --- a/src/menu/modalconfig/index.jsx +++ b/src/menu/modalconfig/index.jsx @@ -135,7 +135,7 @@ }) } - if (item.type === 'switch' || item.type === 'check') { + if (['switch', 'check', 'popSelect'].includes(item.type)) { _linksupFields.push({ field: item.field, label: item.label diff --git a/src/menu/modalconfig/index.scss b/src/menu/modalconfig/index.scss index d73bd57..9449b04 100644 --- a/src/menu/modalconfig/index.scss +++ b/src/menu/modalconfig/index.scss @@ -76,8 +76,16 @@ height: 100%; overflow-y: hidden; background: #ffffff; - .ant-card-head { - min-height: 44px; + .ant-card { + padding-top: 45px; + .ant-card-head { + min-height: 44px; + position: fixed; + width: calc(100vw - 235px); + top: 48px; + z-index: 12; + background: #ffffff; + } } .ant-card-head-title { padding: 5px 0; diff --git a/src/tabviews/basetable/index.jsx b/src/tabviews/basetable/index.jsx index 51bb531..56d1f89 100644 --- a/src/tabviews/basetable/index.jsx +++ b/src/tabviews/basetable/index.jsx @@ -213,18 +213,6 @@ config.components.forEach(component => { if (component.type === 'tabs') return - if (param.$searchkey) { - component.search = component.search.map(item => { - if (['text', 'select', 'link', 'checkcard'].includes(item.type) && param.$searchkey === item.field.toLowerCase()) { - item.initval = param.$searchval - } - - return item - }) - - component.$searches = Utils.initMainSearch(component.search) - } - if (component.$searches.length) { component.$main = true @@ -358,6 +346,14 @@ // 鎼滅储鏉′欢鍒濆鍖� Utils.initSearchVal(item) + if (urlparam.$searchkey) { + item.search.forEach(cell => { + if (urlparam.$searchkey === cell.field.toLowerCase() && ['text', 'select', 'link', 'checkcard'].includes(cell.type)) { + cell.initval = urlparam.$searchval + } + }) + } + item.$searches = Utils.initMainSearch(item.search) let statFields = [] diff --git a/src/tabviews/custom/components/card/data-card/index.jsx b/src/tabviews/custom/components/card/data-card/index.jsx index e4ad7be..95c8bb2 100644 --- a/src/tabviews/custom/components/card/data-card/index.jsx +++ b/src/tabviews/custom/components/card/data-card/index.jsx @@ -42,12 +42,11 @@ precards: [], nextcards: [], selected: 'false', - supNodes: [], - supComs: null, pickup: false } loaded = false + supModules = [] UNSAFE_componentWillMount () { const { config } = this.props @@ -124,11 +123,6 @@ _config.wrap.selected = 'false' } - let supComs = null - if (_config.wrap.supType === 'multi') { - supComs = _config.supNodes.map(item => item.componentId) - } - _config.wrap.selStyle = _config.wrap.selStyle || 'active' _config.wrap.pagestyle = _config.wrap.pagestyle || 'page' _config.wrap.scale = _config.wrap.scale === 'true' ? 'scale' : '' @@ -197,7 +191,6 @@ this.setState({ pageSize: _config.setting.pageSize || 10, pageOptions, - supComs, selected, precards, nextcards, @@ -412,14 +405,14 @@ * @param {*} btn // 鎵ц鐨勬寜閽� */ refreshByButtonResult = (menuId, position, btn, id = '', lines) => { - const { config, BID, supComs, supNodes } = this.state + const { config, BID } = this.state if (config.uuid !== menuId) return - if (supComs) { - if (position === 'mainline' || position === 'popclose') { // 涓昏〃鍒锋柊锛屽幓闄ゅ悓姝ュ埛鏂扮粍浠� - let supNode = supNodes[supNodes.length - 1] - supComs.forEach((item, i) => { + if (config.supNodes) { + if (position === 'mainline' || position === 'popclose') { + let supNode = this.supModules[this.supModules.length - 1] + config.supNodes.forEach((item, i) => { setTimeout(() => { if (supNode && supNode.key === item) { MKEmitter.emit('reloadData', item, supNode.value) @@ -678,28 +671,26 @@ } resetParentParam = (MenuID, id, data) => { - const { config, supComs } = this.state + const { config } = this.state - if (supComs) { - if (!supComs.includes(MenuID)) return - let supNodes = this.state.supNodes.filter(item => item.key !== MenuID) + if (config.supNodes) { + if (!config.supNodes.includes(MenuID)) return + this.supModules = this.supModules.filter(item => item.key !== MenuID) let bid = '' let _data = null if (id) { - supNodes.push({key: MenuID, value: id, data}) + this.supModules.push({key: MenuID, value: id, data}) } - if (supNodes.length > 0) { - bid = supNodes[supNodes.length - 1].value - _data = supNodes[supNodes.length - 1].data + if (this.supModules.length > 0) { + bid = this.supModules[this.supModules.length - 1].value + _data = this.supModules[this.supModules.length - 1].data } if (bid !== this.state.BID || bid !== '') { - this.setState({ BID: bid, BData: _data, pageIndex: 1, supNodes }, () => { + this.setState({ BID: bid, BData: _data, pageIndex: 1 }, () => { this.loadData() }) - } else { - this.setState({ supNodes }) } } else { if (!config.setting.supModule || config.setting.supModule !== MenuID) return diff --git a/src/tabviews/custom/components/module/invoice/index.jsx b/src/tabviews/custom/components/module/invoice/index.jsx index e0ca568..363794d 100644 --- a/src/tabviews/custom/components/module/invoice/index.jsx +++ b/src/tabviews/custom/components/module/invoice/index.jsx @@ -469,7 +469,7 @@ let tax = 0 let lines = details.map(line => { - let _sql = `Select '${line.productcode}', '${line.productname}', '${line.spec}', '${line.unit}', ${line.bill_count}, ${line.unitprice}, ${line.amount_line}, '${line.tax_classify_code}', '${line.tax_classify_name}', ${line.tax_rate}, ${line.tax_amount}, '${line.invoice_lp || ''}', '${line.uuid}'` + let _sql = `Select '${line.productcode}', '${line.productname}', '${line.spec}', '${line.unit}', ${line.bill_count}, ${line.unitprice}, ${line.amount_line}, '${line.tax_classify_code}', '${line.tax_classify_name}', ${line.tax_rate}, ${line.tax_amount}, '${line.free_tax_mark || ''}', '${line.vat_special_management || ''}', '${line.invoice_lp || ''}', '${line.uuid}'` let data_type = 'add' price += line.amount_line * 100 @@ -494,7 +494,7 @@ if (options.length) { options.forEach(line => { - lines.push(`Select '${line.productcode}', '${line.productname}', '${line.spec}', '${line.unit}', ${line.bill_count}, ${line.unitprice}, ${line.amount_line}, '${line.tax_classify_code}', '${line.tax_classify_name}', ${line.tax_rate}, ${line.tax_amount}, '${line.invoice_lp || ''}', '${line.uuid}', 'del'`) + lines.push(`Select '${line.productcode}', '${line.productname}', '${line.spec}', '${line.unit}', ${line.bill_count}, ${line.unitprice}, ${line.amount_line}, '${line.tax_classify_code}', '${line.tax_classify_name}', ${line.tax_rate}, ${line.tax_amount}, '${line.free_tax_mark || ''}', '${line.vat_special_management || ''}', '${line.invoice_lp || ''}', '${line.uuid}', 'del'`) }) } @@ -520,9 +520,9 @@ /* 鍙戠エ鏄庣粏涓存椂琛� */ - Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), invoice_lp Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50)) + Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), free_tax_mark Nvarchar(50), vat_special_management Nvarchar(50), invoice_lp Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50)) - Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, invoice_lp, jskey, data_type) + Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, free_tax_mark, vat_special_management, invoice_lp, jskey, data_type) ${lines} diff --git a/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx b/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx index 46c3243..310b26f 100644 --- a/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx +++ b/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx @@ -321,6 +321,8 @@ item.unitprice = prod.unitprice item.tax_rate = prod.tax_rate || 0 item.tax_name = prod.tax_rate * 100 + '%' + item.free_tax_mark = prod.free_tax_mark || '' + item.vat_special_management = prod.vat_special_management || '' if (prod.vat_special_management && prod.free_tax_mark === 'true') { item.tax_name = prod.vat_special_management diff --git a/src/tabviews/custom/components/module/voucher/voucherTable/index.scss b/src/tabviews/custom/components/module/voucher/voucherTable/index.scss index 131b529..b25955b 100644 --- a/src/tabviews/custom/components/module/voucher/voucherTable/index.scss +++ b/src/tabviews/custom/components/module/voucher/voucherTable/index.scss @@ -10,9 +10,8 @@ position: absolute; bottom: 10px; } - >.ant-table-wrapper { + .ant-table-wrapper { position: relative; - z-index: 1; } .ant-table { color: inherit; diff --git a/src/tabviews/custom/components/share/normalTable/index.scss b/src/tabviews/custom/components/share/normalTable/index.scss index 805be57..a7688af 100644 --- a/src/tabviews/custom/components/share/normalTable/index.scss +++ b/src/tabviews/custom/components/share/normalTable/index.scss @@ -24,9 +24,8 @@ position: absolute; bottom: 10px; } - >.ant-table-wrapper { + .ant-table-wrapper { position: relative; - z-index: 1; } .ant-table { color: inherit; diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.scss b/src/tabviews/custom/components/table/edit-table/normalTable/index.scss index 1fdde89..52f01f0 100644 --- a/src/tabviews/custom/components/table/edit-table/normalTable/index.scss +++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.scss @@ -7,9 +7,8 @@ --mk-table-font-size: 14px; --mk-table-font-weight: normal; - >.ant-table-wrapper { + .ant-table-wrapper { position: relative; - // z-index: 1; } .ant-table-placeholder { border-top-color: var(--mk-table-border-color); diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx index 766cfd5..c2ba689 100644 --- a/src/tabviews/custom/components/table/normal-table/index.jsx +++ b/src/tabviews/custom/components/table/normal-table/index.jsx @@ -43,6 +43,7 @@ } loaded = false + supModules = [] /** * @description 鍒濆鍖栧鐞� @@ -754,20 +755,41 @@ } resetParentParam = (MenuID, id, data) => { - const { setting } = this.state + const { config, setting } = this.state - if (!setting.supModule || setting.supModule !== MenuID) return + if (config.supNodes) { + if (!config.supNodes.includes(MenuID)) return + this.supModules = this.supModules.filter(item => item.key !== MenuID) + let bid = '' + let _data = null - if (id !== this.state.BID || id !== '') { - this.setState({ - pageIndex: 1, - BID: id, - BData: data - }, () => { - if (!setting.checkBid) { + if (id) { + this.supModules.push({key: MenuID, value: id, data}) + } + if (this.supModules.length > 0) { + bid = this.supModules[this.supModules.length - 1].value + _data = this.supModules[this.supModules.length - 1].data + } + + if (bid !== this.state.BID || bid !== '') { + this.setState({ BID: bid, BData: _data, pageIndex: 1 }, () => { this.loadmaindata(true, 'true') - } - }) + }) + } + } else { + if (!setting.supModule || setting.supModule !== MenuID) return + + if (id !== this.state.BID || id !== '') { + this.setState({ + pageIndex: 1, + BID: id, + BData: data + }, () => { + if (!setting.checkBid) { + this.loadmaindata(true, 'true') + } + }) + } } } @@ -782,16 +804,41 @@ if (config.uuid !== menuId) return - if (position === 'line' || position === 'line_grid') { - if (lines && lines.length === 1) { - this.loadLinedata(lines[0].$$uuid, position) + if (config.supNodes) { + if (position === 'mainline' || position === 'popclose') { + let supNode = this.supModules[this.supModules.length - 1] + config.supNodes.forEach((item, i) => { + setTimeout(() => { + if (supNode && supNode.key === item) { + MKEmitter.emit('reloadData', item, supNode.value) + } else { + MKEmitter.emit('reloadData', item) + } + }, i * 10) + }) + } else { + if (position === 'line' || position === 'line_grid') { + if (lines && lines.length === 1) { + this.loadLinedata(lines[0].$$uuid, position) + } else { + this.reloadtable(btn, id) + } + } else { + this.reloadtable(btn, id) + } + } + } else { + if (position === 'line' || position === 'line_grid') { + if (lines && lines.length === 1) { + this.loadLinedata(lines[0].$$uuid, position) + } else { + this.reloadtable(btn, id) + } + } else if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� + MKEmitter.emit('reloadData', config.setting.supModule, BID) } else { this.reloadtable(btn, id) } - } else if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� - MKEmitter.emit('reloadData', config.setting.supModule, BID) - } else { - this.reloadtable(btn, id) } } diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index b8acc23..da25be6 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -267,18 +267,6 @@ config.components.forEach(component => { if (component.type !== 'search') return - if (param.$searchkey) { - component.search = component.search.map(item => { - if (['text', 'select', 'link', 'checkcard'].includes(item.type) && param.$searchkey === item.field.toLowerCase()) { - item.initval = param.$searchval - } - - return item - }) - - component.$searches = Utils.initMainSearch(component.search) - } - window.GLOB.SearchBox.set(MenuID, component.$searches) if (component.$s_req) { @@ -566,8 +554,14 @@ item.type = 'card' } - if (item.wrap && item.wrap.supType === 'multi') { // 鏁版嵁鍗″涓婄骇缁勪欢 - item.setting.supModule = item.supNodes[0].componentId + if (item.wrap && item.wrap.supType === 'multi') { // 鏁版嵁鍗°�乼able澶氫笂绾х粍浠� + item.supNodes = item.supNodes.map(node => node.componentId) + if (item.supNodes[0]) { + item.setting.supModule = item.supNodes[0] + } else { + item.supNodes = null + item.setting.supModule = '' + } } else if (item.setting && item.setting.supModule && typeof(item.setting.supModule) !== 'string') { let pid = item.setting.supModule.pop() if (pid && pid !== 'empty') { @@ -584,6 +578,14 @@ // 鎼滅储鏉′欢鍒濆鍖� if (item.search) { Utils.initSearchVal(item) + + if (urlparam.$searchkey) { + item.search.forEach(cell => { + if (urlparam.$searchkey === cell.field.toLowerCase() && ['text', 'select', 'link', 'checkcard'].includes(cell.type)) { + cell.initval = urlparam.$searchval + } + }) + } item.$searches = Utils.initMainSearch(item.search) @@ -958,7 +960,7 @@ if (cell.syncComponentId) { if (cell.syncComponentId === item.setting.supModule) { cell.syncComponentId = '' - if (cell.execSuccess === 'line' || cell.execSuccess === 'grid') { + if (['line', 'grid', 'line_grid'].includes(cell.execSuccess)) { cell.execSuccess = 'mainline' } } else if (cell.syncComponentId === 'multiComponent') { @@ -966,8 +968,17 @@ return m.syncComId.pop() || '' }) - if (item.setting.supModule && ids.includes(item.setting.supModule)) { - if (cell.execSuccess === 'line' || cell.execSuccess === 'grid') { + if (item.supNodes) { + item.supNodes.forEach(node => { + if (!ids.includes(node)) return + + if (['line', 'grid', 'line_grid'].includes(cell.execSuccess)) { + cell.execSuccess = 'mainline' + } + ids = ids.filter(id => id !== node) + }) + } else if (item.setting.supModule && ids.includes(item.setting.supModule)) { + if (['line', 'grid', 'line_grid'].includes(cell.execSuccess)) { cell.execSuccess = 'mainline' } ids = ids.filter(id => id !== item.setting.supModule) diff --git a/src/tabviews/custom/popview/index.jsx b/src/tabviews/custom/popview/index.jsx index 83c7cdf..935f765 100644 --- a/src/tabviews/custom/popview/index.jsx +++ b/src/tabviews/custom/popview/index.jsx @@ -314,8 +314,14 @@ } } - if (item.wrap && item.wrap.supType === 'multi') { // 鏁版嵁鍗″涓婄骇缁勪欢 - item.setting.supModule = item.supNodes[0].componentId + if (item.wrap && item.wrap.supType === 'multi') { // 鏁版嵁鍗°�乼able澶氫笂绾х粍浠� + item.supNodes = item.supNodes.map(node => node.componentId) + if (item.supNodes[0]) { + item.setting.supModule = item.supNodes[0] + } else { + item.supNodes = null + item.setting.supModule = '' + } } else if (item.setting && item.setting.supModule && typeof(item.setting.supModule) !== 'string') { let pid = item.setting.supModule.pop() if (pid && pid !== 'empty') { @@ -651,7 +657,7 @@ if (cell.syncComponentId) { if (cell.syncComponentId === item.setting.supModule) { cell.syncComponentId = '' - if (cell.execSuccess === 'line' || cell.execSuccess === 'grid') { + if (['line', 'grid', 'line_grid'].includes(cell.execSuccess)) { cell.execSuccess = 'mainline' } } else if (cell.syncComponentId === 'multiComponent') { @@ -659,8 +665,17 @@ return m.syncComId.pop() || '' }) - if (item.setting.supModule && ids.includes(item.setting.supModule)) { - if (cell.execSuccess === 'line' || cell.execSuccess === 'grid') { + if (item.supNodes) { + item.supNodes.forEach(node => { + if (!ids.includes(node)) return + + if (['line', 'grid', 'line_grid'].includes(cell.execSuccess)) { + cell.execSuccess = 'mainline' + } + ids = ids.filter(id => id !== node) + }) + } else if (item.setting.supModule && ids.includes(item.setting.supModule)) { + if (['line', 'grid', 'line_grid'].includes(cell.execSuccess)) { cell.execSuccess = 'mainline' } ids = ids.filter(id => id !== item.setting.supModule) diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx index c0fd989..f16a983 100644 --- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx +++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx @@ -780,7 +780,7 @@ const wb = XLSX.utils.book_new() XLSX.utils.book_append_sheet(wb, ws, btn.verify.sheet || 'Sheet1') - XLSX.writeFile(wb, `${btn.$menuName || ''}${moment().format('YYYYMMDDHHmmss')}.xlsx`) + XLSX.writeFile(wb, `${btn.verify.excelName || btn.$menuName || ''}${moment().format('YYYYMMDDHHmmss')}.xlsx`) this.execSuccess({ErrCode: ErrCode || 'S', message: msg || '瀵煎嚭鎴愬姛锛�'}) } diff --git a/src/tabviews/zshare/normalTable/index.scss b/src/tabviews/zshare/normalTable/index.scss index 75c4770..c65a3ae 100644 --- a/src/tabviews/zshare/normalTable/index.scss +++ b/src/tabviews/zshare/normalTable/index.scss @@ -10,11 +10,8 @@ position: absolute; bottom: 40px; } - >.ant-table-wrapper { - position: relative; - z-index: 1; - } .ant-table-wrapper { + position: relative; color: rgba(0, 0, 0, 0.65); font-size: 14px; .ant-table { diff --git a/src/templates/modalconfig/index.jsx b/src/templates/modalconfig/index.jsx index c8b2d92..3f2571f 100644 --- a/src/templates/modalconfig/index.jsx +++ b/src/templates/modalconfig/index.jsx @@ -264,7 +264,7 @@ }) } - if (item.type === 'switch' || item.type === 'check') { + if (['switch', 'check', 'popSelect'].includes(item.type)) { _linksupFields.push({ field: item.field, label: item.label diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx index f8240c3..02f31bc 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx @@ -248,6 +248,18 @@ </Col> : null} {btnType !== 'print' && excelHandle !== 'true' ? <Col span={8}> <Form.Item label={ + <Tooltip placement="topLeft" title="瀵煎嚭excel鐨勬枃浠跺悕锛岄粯璁や负鑿滃崟鍚�+缁勪欢鍚嶃��"> + <QuestionCircleOutlined className="mk-form-tip" /> + 鏂囦欢鍚� + </Tooltip> + }> + {getFieldDecorator('excelName', { + initialValue: setting.excelName || '' + })(<Input autoComplete="off" />)} + </Form.Item> + </Col> : null} + {btnType !== 'print' && excelHandle !== 'true' ? <Col span={8}> + <Form.Item label={ <Tooltip placement="topLeft" title="瀵煎嚭excel涓伐浣滆〃鍚嶇О锛岄粯璁や负Sheet1銆�"> <QuestionCircleOutlined className="mk-form-tip" /> 宸ヤ綔琛� @@ -255,7 +267,7 @@ }> {getFieldDecorator('sheet', { initialValue: setting.sheet || '' - })(<Input placeholder="" autoComplete="off" />)} + })(<Input autoComplete="off" />)} </Form.Item> </Col> : null} {btnType !== 'print' && excelHandle !== 'true' ? <Col span={8}> diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index 0bbb449..841817d 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -576,7 +576,16 @@ return cell }) } - } else if (item.type === 'table' && item.cols) { + } else if (item.type === 'table') { + if (item.supNodes && item.supNodes.length > 0) { + item.supNodes = item.supNodes.map(cell => { + cell.nodes = cell.nodes.map(n => md5(commonId + n)) + cell.componentId = cell.nodes[cell.nodes.length - 1] + + return cell + }) + } + let loopCol = (cols) => { return cols.map(col => { if (col.type === 'action') { @@ -614,7 +623,7 @@ }) } - item.cols = loopCol(item.cols) + item.cols = loopCol(item.cols || []) if (item.colsCtrls) { item.colsCtrls = item.colsCtrls.map(col => { @@ -882,7 +891,7 @@ return cell }) } - } else if (item.type === 'table' && item.cols) { + } else if (item.type === 'table') { let loopCol = (cols) => { return cols.map(col => { if (col.type === 'action') { @@ -923,7 +932,7 @@ }) } - item.cols = loopCol(item.cols) + item.cols = loopCol(item.cols || []) if (item.colsCtrls) { item.colsCtrls = item.colsCtrls.map(col => { @@ -1711,7 +1720,7 @@ } else if (!card.setting.supModule) { errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'}) } - } else if (card.type === 'card' && card.subtype === 'datacard') { // 鏁版嵁鍗★紝鍙兘鏈夊涓婄骇 + } else if ((card.type === 'card' && card.subtype === 'datacard') || card.subtype === 'normaltable') { // 鏁版嵁鍗°�乼able锛屽彲鑳芥湁澶氫笂绾� if (card.wrap.supType !== 'multi' && !card.setting.supModule) { errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'}) } -- Gitblit v1.8.0