🔀 merge: 合并分支

This commit is contained in:
wangsongsole 2023-11-23 15:06:36 +08:00
commit dc06f545a9
47 changed files with 8893 additions and 20 deletions

4
.gitignore vendored
View File

@ -8,8 +8,8 @@
# testing
/coverage
# production
/build
# # production
# /build
# misc
.DS_Store

41
build/asset-manifest.json Normal file
View File

@ -0,0 +1,41 @@
{
"files": {
"static/js/0.1d62adab.chunk.js": "/static/js/0.1d62adab.chunk.js",
"static/js/1.c838a238.chunk.js": "/static/js/1.c838a238.chunk.js",
"static/css/2.74e9175c.chunk.css": "/static/css/2.74e9175c.chunk.css",
"static/js/2.7833e104.chunk.js": "/static/js/2.7833e104.chunk.js",
"static/css/3.75be5fa1.chunk.css": "/static/css/3.75be5fa1.chunk.css",
"static/js/3.00ede3c3.chunk.js": "/static/js/3.00ede3c3.chunk.js",
"main.css": "/static/css/main.b0e33980.chunk.css",
"main.js": "/static/js/main.4bf14af3.chunk.js",
"runtime-main.js": "/static/js/runtime-main.577641d4.js",
"static/css/6.92b126a8.chunk.css": "/static/css/6.92b126a8.chunk.css",
"static/js/6.062efab7.chunk.js": "/static/js/6.062efab7.chunk.js",
"static/css/7.42d9ec9c.chunk.css": "/static/css/7.42d9ec9c.chunk.css",
"static/js/7.66f6e041.chunk.js": "/static/js/7.66f6e041.chunk.js",
"static/css/8.9a9b6f5c.chunk.css": "/static/css/8.9a9b6f5c.chunk.css",
"static/js/8.751f6ff7.chunk.js": "/static/js/8.751f6ff7.chunk.js",
"static/css/9.4e156c5f.chunk.css": "/static/css/9.4e156c5f.chunk.css",
"static/js/9.b7d21bd1.chunk.js": "/static/js/9.b7d21bd1.chunk.js",
"static/js/10.f012a795.chunk.js": "/static/js/10.f012a795.chunk.js",
"static/css/11.b1da7569.chunk.css": "/static/css/11.b1da7569.chunk.css",
"static/js/11.6dd129c8.chunk.js": "/static/js/11.6dd129c8.chunk.js",
"static/js/12.5d12f291.chunk.js": "/static/js/12.5d12f291.chunk.js",
"index.html": "/index.html",
"static/js/0.1d62adab.chunk.js.LICENSE.txt": "/static/js/0.1d62adab.chunk.js.LICENSE.txt",
"static/js/1.c838a238.chunk.js.LICENSE.txt": "/static/js/1.c838a238.chunk.js.LICENSE.txt",
"static/js/10.f012a795.chunk.js.LICENSE.txt": "/static/js/10.f012a795.chunk.js.LICENSE.txt",
"static/js/3.00ede3c3.chunk.js.LICENSE.txt": "/static/js/3.00ede3c3.chunk.js.LICENSE.txt",
"static/js/6.062efab7.chunk.js.LICENSE.txt": "/static/js/6.062efab7.chunk.js.LICENSE.txt",
"static/js/7.66f6e041.chunk.js.LICENSE.txt": "/static/js/7.66f6e041.chunk.js.LICENSE.txt",
"static/js/8.751f6ff7.chunk.js.LICENSE.txt": "/static/js/8.751f6ff7.chunk.js.LICENSE.txt",
"static/js/9.b7d21bd1.chunk.js.LICENSE.txt": "/static/js/9.b7d21bd1.chunk.js.LICENSE.txt"
},
"entrypoints": [
"static/js/runtime-main.577641d4.js",
"static/css/8.9a9b6f5c.chunk.css",
"static/js/8.751f6ff7.chunk.js",
"static/css/main.b0e33980.chunk.css",
"static/js/main.4bf14af3.chunk.js"
]
}

BIN
build/boxshow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

1
build/favicon.ico Normal file
View File

@ -0,0 +1 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480.34 346.93"><defs><style>.cls-1{fill:none;}.cls-2{fill:#bbe5fc;}.cls-3{fill:#a0d9fb;}.cls-4{fill:#296aef;}.cls-5{fill:#f2a43b;}</style></defs><title>营销平台logo</title><polygon class="cls-1" points="276.75 267.17 407.12 173.8 276.75 80.43 276.75 267.17"/><path class="cls-2" d="M247.42,375.58l43-30.77V158.07l-43.06-30.84A26.86,26.86,0,0,1,236.47,110v283.5A26.9,26.9,0,0,1,247.42,375.58Z" transform="translate(-13.64 -77.64)"/><path class="cls-2" d="M488.94,235.77h0l-.27-.35.49.68C489.08,236,489,235.88,488.94,235.77Z" transform="translate(-13.64 -77.64)"/><path class="cls-2" d="M489.24,236.22a27,27,0,0,1-.41,30.82h0a27,27,0,0,1-37.61,6.22l-30.46-21.82L290.38,344.81v52.36a27,27,0,0,1-26.95,27h0a27,27,0,0,1-27-27v-3.69a26.91,26.91,0,0,0,4.73,19.72h0a27,27,0,0,0,37.61,6.22l203.91-146A27,27,0,0,0,489.24,236.22Z" transform="translate(-13.64 -77.64)"/><path class="cls-2" d="M488,234.55l.18.23Z" transform="translate(-13.64 -77.64)"/><path class="cls-3" d="M263.43,424.13h0a27,27,0,0,0,26.95-27V344.81l-43,30.77a26.9,26.9,0,0,0-10.95,17.9v3.69A27,27,0,0,0,263.43,424.13Z" transform="translate(-13.64 -77.64)"/><path class="cls-2" d="M263.43,78.74h0a27,27,0,0,1,26.95,27v52.38l130.38,93.37,30.56-21.89a27,27,0,0,1,36.69,5,27.16,27.16,0,0,0-5.4-5.12l-203.9-146a27,27,0,0,0-37.61,6.22h0A26.86,26.86,0,0,0,236.47,110v-4.29A27,27,0,0,1,263.43,78.74Z" transform="translate(-13.64 -77.64)"/><path class="cls-2" d="M488.19,234.78l.48.64Z" transform="translate(-13.64 -77.64)"/><path class="cls-2" d="M489.16,236.1l.08.12Z" transform="translate(-13.64 -77.64)"/><path class="cls-3" d="M247.32,127.23l43.06,30.84V105.69a27,27,0,0,0-26.95-26.95h0a27,27,0,0,0-27,27V110A26.86,26.86,0,0,0,247.32,127.23Z" transform="translate(-13.64 -77.64)"/><path class="cls-3" d="M451.32,229.55l-30.56,21.89,30.46,21.82A27,27,0,0,0,488.83,267h0a27,27,0,0,0,.41-30.82l-.08-.12-.49-.68-.48-.64-.18-.23A27,27,0,0,0,451.32,229.55Z" transform="translate(-13.64 -77.64)"/><rect class="cls-4" x="81.58" y="168.94" width="53.92" height="278.52" rx="26.96" transform="translate(-5.14 541.62) rotate(-142.77)"/><rect class="cls-4" x="125.43" y="40.22" width="53.92" height="421.24" rx="26.96" transform="translate(-134.35 65.66) rotate(-37.23)"/><rect class="cls-5" x="217.04" y="71.86" width="53.92" height="116.14" rx="26.96" transform="translate(346.03 303.36) rotate(-142.77)"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

2235
build/goods_new_v3.js Normal file

File diff suppressed because it is too large Load Diff

5883
build/goods_new_v4.js Normal file

File diff suppressed because it is too large Load Diff

1
build/index.html Normal file
View File

@ -0,0 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/commonproductlogo/goods_new_v3.js?v3"></script><title>营销管理系统</title><style>#root,body,html{width:100%;height:100%;padding:0;margin:0;font-size:14px;overflow:hidden}</style><link href="/static/css/8.9a9b6f5c.chunk.css" rel="stylesheet"><link href="/static/css/main.b0e33980.chunk.css" rel="stylesheet"></head><body><script type="text/javascript">window.goods=product</script><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,o,c=t[0],i=t[1],f=t[2],s=0,d=[];s<c.length;s++)o=c[s],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&d.push(a[o][0]),a[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(t);d.length;)d.shift()();return u.push.apply(u,f||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(u.splice(t--,1),e=c(c.s=r[0]))}return e}var n={},o={5:0},a={5:0},u=[];function c(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,c),r.l=!0,r.exports}c.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{2:1,3:1,6:1,7:1,9:1,11:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"31d6cfe0",1:"31d6cfe0",2:"74e9175c",3:"75be5fa1",6:"92b126a8",7:"42d9ec9c",9:"4e156c5f",10:"31d6cfe0",11:"b1da7569",12:"31d6cfe0"}[e]+".chunk.css",a=c.p+n,u=document.getElementsByTagName("link"),i=0;i<u.length;i++){var f=(l=u[i]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(f===n||f===a))return t()}var s=document.getElementsByTagName("style");for(i=0;i<s.length;i++){var l;if((f=(l=s[i]).getAttribute("data-href"))===n||f===a)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var n=t&&t.target&&t.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=n,delete o[e],d.parentNode.removeChild(d),r(u)},d.href=a,document.getElementsByTagName("head")[0].appendChild(d)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,c.nc&&i.setAttribute("nonce",c.nc),i.src=function(e){return c.p+"static/js/"+({}[e]||e)+"."+{0:"1d62adab",1:"c838a238",2:"7833e104",3:"00ede3c3",6:"062efab7",7:"66f6e041",9:"b7d21bd1",10:"f012a795",11:"6dd129c8",12:"5d12f291"}[e]+".chunk.js"}(e);var f=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(s);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",f.name="ChunkLoadError",f.type=n,f.request=o,r[1](f)}a[e]=void 0}};var s=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},c.m=e,c.c=n,c.d=function(e,t,r){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(c.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)c.d(r,n,function(t){return e[t]}.bind(null,n));return r},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="/",c.oe=function(e){throw e};var i=this.webpackJsonpmarketingsystem=this.webpackJsonpmarketingsystem||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var s=0;s<i.length;s++)t(i[s]);var l=f;r()}([])</script><script src="/static/js/8.751f6ff7.chunk.js"></script><script src="/static/js/main.4bf14af3.chunk.js"></script></body></html>

BIN
build/logo192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
build/logo512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

25
build/manifest.json Normal file
View File

@ -0,0 +1,25 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

3
build/robots.txt Normal file
View File

@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

View File

@ -0,0 +1 @@
#errpage{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center}#errpage img{width:30%;margin-bottom:15px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.componentLib{width:180px;height:100%;background:#fff;position:absolute;top:0;right:-190px;padding:15px;box-sizing:border-box}.componentLib h4{padding:15px 0}.componentLib ul{display:flex;flex-wrap:wrap;justify-content:space-between}.componentLib ul li{margin:0 0 15px;border-radius:2px;width:72px;height:72px;font-size:12px;color:#666;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}.componentLib ul li:hover{background:#007aff;color:#fff}.componentLib ul li:hover i{color:#fff}.componentLib i{display:inline-block;color:#666;font-size:24px;padding-bottom:10px}.component-item{display:flex;flex-direction:column;padding:16px 8px;margin-bottom:8px;background:#f5faff}.component-item .v-editItem{font-size:14px;display:flex;justify-content:space-between;align-items:center}.component-item .v-editItem>span{color:#999}.component-item .showType{margin-right:10px;color:#333!important}.setConfig-title{font-weight:700}.bottomBar .form-compontent{padding-top:0}.bottomBar .form-compontent .choice-up-image{margin-right:15px}.bottomBar .form-compontent .choice-up-image .zent-image-upload-item[data-zv="9.12.7"],.bottomBar .form-compontent .choice-up-image .zent-image-upload-trigger[data-zv="9.12.7"]{width:60px;height:60px}.bottomBar .form-compontent .choice-up-image .zent-image-upload-tips[data-zv="9.12.7"]{text-align:center;color:#333}.bottomBar .form-compontent .colorItemfont{margin-top:0}.assembly .form-Item{margin-bottom:15px}.assembly .form-compontent{padding-top:0}.assembly .form-compontent .colorItemfont{margin-top:0}.tips{color:#999}.tips span{color:red}.color-control{margin-top:10px;display:flex;justify-content:space-between}.backpic-item{margin-bottom:30px}.control .back{cursor:pointer}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/** @license React v17.0.2
* react-is.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,21 @@
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/**!
* Sortable 1.13.0
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>
* @license MIT
*/

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,18 @@
/*!
* html2canvas 1.4.1 <https://html2canvas.hertzen.com>
* Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
* Released under MIT License
*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */

View File

@ -0,0 +1 @@
(this.webpackJsonpmarketingsystem=this.webpackJsonpmarketingsystem||[]).push([[11],{432:function(e,n,t){},474:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));var i=t(1),s=t.n(i),r=(t(432),t(175)),c=t(10),m="D:\\project\\\u8425\u9500\u7cfb\u7edf\\frontend\\src\\pages\\errpage\\errpage.js";class o extends s.a.Component{constructor(e){super(e),this.state={}}tick(){window.history.go(-1)}componentWillUnmount(){}render(){return Object(c.jsxDEV)("div",{id:"errpage",className:"maincenter",children:[Object(c.jsxDEV)("img",{src:"https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/404.png",alt:""},void 0,!1,{fileName:m,lineNumber:17,columnNumber:9},this),Object(c.jsxDEV)(r.a,{onClick:this.tick.bind(this),children:"\u8fd4\u56de\u4e0a\u4e00\u9875"},void 0,!1,{fileName:m,lineNumber:21,columnNumber:9},this)]},void 0,!0,{fileName:m,lineNumber:16,columnNumber:7},this)}}}}]);

View File

@ -0,0 +1 @@
(this.webpackJsonpmarketingsystem=this.webpackJsonpmarketingsystem||[]).push([[12],{476:function(t,e,n){"use strict";n.r(e),n.d(e,"getCLS",(function(){return d})),n.d(e,"getFCP",(function(){return y})),n.d(e,"getFID",(function(){return k})),n.d(e,"getLCP",(function(){return F})),n.d(e,"getTTFB",(function(){return C}));var i,a,r,o,u=function(t,e){return{name:t,value:void 0===e?-1:e,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(t,e){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){if("first-input"===t&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(t){return t.getEntries().map(e)}));return n.observe({type:t,buffered:!0}),n}}catch(t){}},s=function(t,e){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(t(i),e&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},f=function(t){addEventListener("pageshow",(function(e){e.persisted&&t(e)}),!0)},m="function"==typeof WeakSet?new WeakSet:new Set,p=function(t,e,n){var i;return function(){e.value>=0&&(n||m.has(e)||"hidden"===document.visibilityState)&&(e.delta=e.value-(i||0),(e.delta||void 0===i)&&(i=e.value,t(e)))}},d=function(t,e){var n,i=u("CLS",0),a=function(t){t.hadRecentInput||(i.value+=t.value,i.entries.push(t),n())},r=c("layout-shift",a);r&&(n=p(t,i,e),s((function(){r.takeRecords().map(a),n()})),f((function(){i=u("CLS",0),n=p(t,i,e)})))},v=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){s((function(t){var e=t.timeStamp;v=e}),!0)},g=function(){return v<0&&(v=l(),h(),f((function(){setTimeout((function(){v=l(),h()}),0)}))),{get timeStamp(){return v}}},y=function(t,e){var n,i=g(),a=u("FCP"),r=function(t){"first-contentful-paint"===t.name&&(s&&s.disconnect(),t.startTime<i.timeStamp&&(a.value=t.startTime,a.entries.push(t),m.add(a),n()))},o=performance.getEntriesByName("first-contentful-paint")[0],s=o?null:c("paint",r);(o||s)&&(n=p(t,a,e),o&&r(o),f((function(i){a=u("FCP"),n=p(t,a,e),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))})))},S={passive:!0,capture:!0},E=new Date,w=function(t,e){i||(i=e,a=t,r=new Date,b(removeEventListener),L())},L=function(){if(a>=0&&a<r-E){var t={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+a};o.forEach((function(e){e(t)})),o=[]}},T=function(t){if(t.cancelable){var e=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,e){var n=function(){w(t,e),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,S),removeEventListener("pointercancel",i,S)};addEventListener("pointerup",n,S),addEventListener("pointercancel",i,S)}(e,t):w(e,t)}},b=function(t){["mousedown","keydown","touchstart","pointerdown"].forEach((function(e){return t(e,T,S)}))},k=function(t,e){var n,r=g(),d=u("FID"),v=function(t){t.startTime<r.timeStamp&&(d.value=t.processingStart-t.startTime,d.entries.push(t),m.add(d),n())},l=c("first-input",v);n=p(t,d,e),l&&s((function(){l.takeRecords().map(v),l.disconnect()}),!0),l&&f((function(){var r;d=u("FID"),n=p(t,d,e),o=[],a=-1,i=null,b(addEventListener),r=v,o.push(r),L()}))},F=function(t,e){var n,i=g(),a=u("LCP"),r=function(t){var e=t.startTime;e<i.timeStamp&&(a.value=e,a.entries.push(t)),n()},o=c("largest-contentful-paint",r);if(o){n=p(t,a,e);var d=function(){m.has(a)||(o.takeRecords().map(r),o.disconnect(),m.add(a),n())};["keydown","click"].forEach((function(t){addEventListener(t,d,{once:!0,capture:!0})})),s(d,!0),f((function(i){a=u("LCP"),n=p(t,a,e),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))}))}},C=function(t){var e,n=u("TTFB");e=function(){try{var e=performance.getEntriesByType("navigation")[0]||function(){var t=performance.timing,e={entryType:"navigation",startTime:0};for(var n in t)"navigationStart"!==n&&"toJSON"!==n&&(e[n]=Math.max(t[n]-t.navigationStart,0));return e}();if(n.value=n.delta=e.responseStart,n.value<0)return;n.entries=[e],t(n)}catch(t){}},"complete"===document.readyState?setTimeout(e,0):addEventListener("pageshow",e)}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
//! moment.js

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,13 @@
//! 1:直冲 2:立减金 3:红包
//!type 1:权益商品 2:立减金 3:红包
//!以下注释相关路由、组件(未使用/引用)待系统稳定上线运行一个版本后,请进行相关代码、文件删除
//!以下注释相关路由(未使用/引用)待系统稳定上线运行一个版本后,请进行相关代码、文件删除
//!提取动态删除核销状态条件
//!状态筛选
//!获取订单列表

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,13 @@
//! 1:直冲 2:立减金 3:红包
//!type 1:权益商品 2:立减金 3:红包
//!以下注释相关路由、组件(未使用/引用)待系统稳定上线运行一个版本后,请进行相关代码、文件删除
//!以下注释相关路由(未使用/引用)待系统稳定上线运行一个版本后,请进行相关代码、文件删除
//!提取动态删除核销状态条件
//!状态筛选
//!获取订单列表

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,88 @@
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/
/** @license React v0.20.2
* scheduler-tracing.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v0.20.2
* scheduler.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react-is.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-dom.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-jsx-dev-runtime.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-jsx-runtime.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
//!优惠券

View File

@ -0,0 +1 @@
(this.webpackJsonpmarketingsystem=this.webpackJsonpmarketingsystem||[]).push([[4],{36:function(e,n,t){},45:function(e,n,t){},46:function(e,n,t){},54:function(e,n,t){},55:function(e,n,t){"use strict";t.r(n);var i=t(1),o=t(24),l=t.n(o),c=(t(45),t(25)),m=t(5),s=(t(46),t(36),t(58)),r=t(10),a="D:\\project\\\u8425\u9500\u7cfb\u7edf\\frontend\\src\\App.js";const u=Object(i.lazy)((()=>Promise.all([t.e(0),t.e(1),t.e(3),t.e(2),t.e(6)]).then(t.bind(null,491)))),b=Object(i.lazy)((()=>Promise.all([t.e(0),t.e(1),t.e(3),t.e(2),t.e(7)]).then(t.bind(null,503)))),d=Object(i.lazy)((()=>Promise.all([t.e(0),t.e(11)]).then(t.bind(null,474)))),h=Object(i.lazy)((()=>Promise.all([t.e(0),t.e(1),t.e(10),t.e(2),t.e(9)]).then(t.bind(null,479))));class N extends i.Component{constructor(...e){super(...e),this.state={pathname:""}}componentWillMount(){const e=window.location.href.lastIndexOf("/"),n=window.location.href.substr(e);this.setState({pathname:`${n}`})}render(){return Object(r.jsxDEV)(c.a,{children:Object(r.jsxDEV)(i.Suspense,{fallback:Object(r.jsxDEV)(s.a,{loading:!0,icon:"circle",iconText:"\u52a0\u8f7d\u4e2d..."},void 0,!1,{fileName:a,lineNumber:29,columnNumber:13},this),children:[Object(r.jsxDEV)(m.b,{path:"/login",exact:!0,component:b},void 0,!1,{fileName:a,lineNumber:31,columnNumber:11},this),Object(r.jsxDEV)(m.b,{path:"/edittemplate",exact:!0,component:h},void 0,!1,{fileName:a,lineNumber:32,columnNumber:11},this),Object(r.jsxDEV)(m.b,{path:"/home",component:u},void 0,!1,{fileName:a,lineNumber:33,columnNumber:11},this),Object(r.jsxDEV)(m.b,{exact:!0,path:"/",render:()=>Object(r.jsxDEV)(m.a,{to:"/login"},void 0,!1,{fileName:a,lineNumber:37,columnNumber:27},this)},void 0,!1,{fileName:a,lineNumber:34,columnNumber:11},this),Object(r.jsxDEV)(m.b,{component:d},void 0,!1,{fileName:a,lineNumber:38,columnNumber:11},this)]},void 0,!0,{fileName:a,lineNumber:27,columnNumber:9},this)},void 0,!1,{fileName:a,lineNumber:26,columnNumber:7},this)}}var j=e=>{e&&e instanceof Function&&t.e(12).then(t.bind(null,476)).then((({getCLS:n,getFID:t,getFCP:i,getLCP:o,getTTFB:l})=>{n(e),t(e),i(e),o(e),l(e)}))};t(53),t(54);l.a.render(Object(r.jsxDEV)(N,{},void 0,!1,{fileName:"D:\\project\\\u8425\u9500\u7cfb\u7edf\\frontend\\src\\index.js",lineNumber:10,columnNumber:5},void 0),document.getElementById("root")),j()}},[[55,5,8]]]);

View File

@ -0,0 +1 @@
!function(e){function t(t){for(var n,o,c=t[0],i=t[1],f=t[2],s=0,d=[];s<c.length;s++)o=c[s],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&d.push(a[o][0]),a[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(t);d.length;)d.shift()();return u.push.apply(u,f||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(u.splice(t--,1),e=c(c.s=r[0]))}return e}var n={},o={5:0},a={5:0},u=[];function c(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,c),r.l=!0,r.exports}c.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{2:1,3:1,6:1,7:1,9:1,11:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"31d6cfe0",1:"31d6cfe0",2:"74e9175c",3:"75be5fa1",6:"92b126a8",7:"42d9ec9c",9:"4e156c5f",10:"31d6cfe0",11:"b1da7569",12:"31d6cfe0"}[e]+".chunk.css",a=c.p+n,u=document.getElementsByTagName("link"),i=0;i<u.length;i++){var f=(l=u[i]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(f===n||f===a))return t()}var s=document.getElementsByTagName("style");for(i=0;i<s.length;i++){var l;if((f=(l=s[i]).getAttribute("data-href"))===n||f===a)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var n=t&&t.target&&t.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=n,delete o[e],d.parentNode.removeChild(d),r(u)},d.href=a,document.getElementsByTagName("head")[0].appendChild(d)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,c.nc&&i.setAttribute("nonce",c.nc),i.src=function(e){return c.p+"static/js/"+({}[e]||e)+"."+{0:"1d62adab",1:"c838a238",2:"7833e104",3:"00ede3c3",6:"062efab7",7:"66f6e041",9:"b7d21bd1",10:"f012a795",11:"6dd129c8",12:"5d12f291"}[e]+".chunk.js"}(e);var f=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(s);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",f.name="ChunkLoadError",f.type=n,f.request=o,r[1](f)}a[e]=void 0}};var s=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},c.m=e,c.c=n,c.d=function(e,t,r){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},c.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(c.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)c.d(r,n,function(t){return e[t]}.bind(null,n));return r},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="/",c.oe=function(e){throw e};var i=this.webpackJsonpmarketingsystem=this.webpackJsonpmarketingsystem||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var s=0;s<i.length;s++)t(i[s]);var l=f;r()}([]);

View File

@ -30,6 +30,7 @@ import MobileComponent from "./mobileComponent"
import rules from "./rules"
import WangEditor from "./wangEditor"
import YSFMobileComponent from "./ysf-mobileComponent"
import ZFBMobileComponent from "./zfb-mobileComponent"
const cardTypeList = [
{ key: "1", text: "借记卡" },
{ key: "2", text: "信用卡" }
@ -102,7 +103,8 @@ export default class addKnockGold extends Component {
irregularTime: [[]], //
ruleDate: [[]], //
ruleWeek: [], //
provider: "voucher_wechat_lsxd" //
provider: "voucher_wechat_lsxd", //
receive_mode: 1
},
TimeDiffer: "",
visible: false, //
@ -204,6 +206,7 @@ export default class addKnockGold extends Component {
model.card_type = this.props.data.card_type.map((item) => String(item))
model.receive_number = this.props.data.receive_conf.num
model.receive_type = this.props.data.receive_conf.type
model.receive_mode = this.props.data.receive_mode
model.timer[0] = this.props.data.time_limit.receive_time.start_time
model.timer[1] = this.props.data.time_limit.receive_time.end_time
model.timer_type = !this.props.data.time_limit.receive_time?.start_time ? "1" : "2"
@ -470,6 +473,7 @@ export default class addKnockGold extends Component {
const transformData = {}
transformData.channel = this.state.model.channel
transformData.provider = this.state.model.provider
transformData.receive_mode = this.state.model.receive_mode
/* 是支付宝立减金 才进行模板赋值操作 */
if (transformData.channel == 1) {
transformData.temp_no = this.state.model.temp_no
@ -740,6 +744,16 @@ export default class addKnockGold extends Component {
if (newData.length < 1) this.setState({ warningInput: "" })
}
switchComponents() {
if (this.state.model.channel == 1 && this.state.model.receive_mode === 2) {
return <ZFBMobileComponent data={this.state.model} />
}
if (this.state.model.channel == 3) {
return <YSFMobileComponent data={this.state.model} />
}
return <MobileComponent data={this.state.model} />
}
render() {
return (
<div id="addKnockGold">
@ -758,8 +772,10 @@ export default class addKnockGold extends Component {
} else {
this.onHandleChange("", "instruction")
}
/* 云闪付渠道时 重置主体value */
if (target.value === 3) {
if (target.value != 1) {
this.onHandleChange(1, "receive_mode")
}
if (target.value != 2) {
this.onHandleChange("voucher_wechat_lsxd", "provider")
}
}}
@ -782,6 +798,26 @@ export default class addKnockGold extends Component {
<RadioButton value={"voucher_wechat_fjxw"}>福建兴旺</RadioButton>
</RadioGroup>
</FormItem>
{this.state.model.channel == 1 && !this.props.ysf ? (
<FormItem
labelname="领取方式"
prop="receive_mode"
id="receive_mode"
key="receive_mode"
>
<RadioGroup
onChange={({ target }) => {
this.onHandleChange(target.value, "receive_mode")
}}
value={this.state.model.receive_mode}
>
<RadioButton value={1}>官方领取</RadioButton>
<RadioButton value={2}>账号领取</RadioButton>
</RadioGroup>
</FormItem>
) : (
<></>
)}
<FormItem labelname="立减金平台批次号" prop="channel_activity_id" id="batch_number">
<Ipt
onChange={(value) => {
@ -1483,12 +1519,7 @@ export default class addKnockGold extends Component {
</FormItem>
</Form>
</Card>
{this.state.model.channel != 3 ? (
<MobileComponent data={this.state.model} />
) : (
<YSFMobileComponent data={this.state.model} />
)}
{this.switchComponents()}
</div>
)
}

View File

@ -638,6 +638,16 @@
}
}
.zfb-knockGoldViews {
background-color: #418be0 !important;
.left,
.right,
.form-button {
background: #418be0 !important;
}
}
.r-f {
margin: 5px 0;
font-size: 11px;

View File

@ -0,0 +1,91 @@
import { Placeholder } from "zent"
import "./index.less"
import TimeComponent from "./timeComponent"
const widths = [24, 100, 100, 100, 80, 100, 100, 100, 80, 100, 100, 100, 80, 100, 100, 100, 100]
export default ({ data }) => {
/* 动态font */
function fonts() {
const { denomination, reduce_amount } = data
const defaultCss = { a: "30px" }
const count =
String(parseFloat(denomination)).length + String(parseFloat(reduce_amount)).length + 1
if (count > 12) {
return {
a: 30 - (count - 12) * 1.8 + "px"
}
} else {
return defaultCss
}
}
return (
<div id="ysf-knockGoldViews" className="mobile zfb-knockGoldViews">
<img
className="bubble"
src="https://lsxd-zfb-reduction.oss-cn-hangzhou.aliyuncs.com/img/logo.png"
alt=""
/>
<div className="content">
<p className="title">{data.batch_goods_name || "支付宝立减金"}</p>
<div className="information">
<p className="money" style={{ fontSize: fonts().a }}>
{data.denomination ? parseFloat(data.denomination) : 100.1}元减
{data.reduce_amount ? parseFloat(data.reduce_amount) : 99.99}
</p>
<p className="information-p2">
请在&nbsp;
{data.entry_time[0] || "2023-12-30 59:59:59"} ~{" "}
{data.entry_time[1] || "2023-12-30 59:59:59"}
&nbsp;内领取
</p>
<p className="type">
<span>
{data?.card_type.length > 0
? data.card_type.map((item) => (item === "1" ? "借记卡" : "信用卡") + " ")
: "xxx"}
</span>
</p>
</div>
<div className="form">
<p className="form-label">支付宝账号</p>
<input className="form-input" disabled type="text" placeholder="请输入支付宝账号" />
<input
className="form-input mt0"
disabled
type="text"
placeholder="请再次输入支付宝账号"
/>
<p className="form-note">您可在支付宝的个人信息中查看支付宝账号</p>
<button className="form-button">立即领取</button>
</div>
<div className="segmentation">
<i className="left"></i>
<i className="middle"></i>
<i className="right"></i>
</div>
<div className="illustrate">
{data.instruction || data.usable_time ? (
<>
<TimeComponent data={data} />
<h3 className="illustrate-title">活动说明</h3>
<p
className="illustrate-text"
dangerouslySetInnerHTML={{
__html: data.instruction
}}
></p>
</>
) : (
<Placeholder.TextBlock
className="TextBlock"
animate
widths={widths}
rows={12}
dashed={false}
/>
)}
</div>
</div>
</div>
)
}

View File

@ -30,6 +30,7 @@ import rules, { additionalRules } from "./rules"
import { earlyPerList, model, receiveTypeList, week, ysf } from "./static"
import WangEditor from "./wangEditor"
import YSFMobileComponent from "./ysf-mobileComponent"
import ZFBMobileComponent from "./zfb-mobileComponent"
const initArray = (targetNum) => {
return Array.from({ length: targetNum }, (_, index) => index)
}
@ -234,7 +235,7 @@ export default class addKnockGold extends Component {
echoFun(UserSelectList = []) {
const model = cloneDeep(this.props.data)
if (model) {
const { early_notifier, early_per, begin_time, end_time } = model
const { early_notifier, early_per, begin_time, end_time, receive_mode } = model
model.early_notifier = early_notifier
.map((item) => {
return UserSelectList.map((items) => {
@ -246,6 +247,7 @@ export default class addKnockGold extends Component {
.filter((item1) => item1)
model.effect_date = []
model.effect_date[0] = begin_time
model.receive_mode = receive_mode || 1
model.effect_date[1] = end_time
model.copy && (model.cash_activity_id = uuid(8)) /* 是否是复制 */
/* 以下操作 筛选出输入框的预警值并经行填充 */
@ -506,6 +508,16 @@ export default class addKnockGold extends Component {
return "请输入"
}
switchComponents() {
if (this.state.model.channel == 1 && this.state.model.receive_mode === 2) {
return <ZFBMobileComponent data={this.state.model} />
}
if (this.state.model.channel == 3) {
return <YSFMobileComponent data={this.state.model} />
}
return <MobileComponent data={this.state.model} />
}
render() {
return (
<div id="redPackets">
@ -522,6 +534,9 @@ export default class addKnockGold extends Component {
} else {
this.onHandleChange("", "instruction")
}
if (target.value !== 1) {
this.onHandleChange(1, "receive_mode")
}
}}
value={this.state.model.channel}
>
@ -547,6 +562,26 @@ export default class addKnockGold extends Component {
<RadioButton value={"2"}>随机</RadioButton>
</RadioGroup>
</FormItem>
{this.state.model.channel === 1 ? (
<FormItem
labelname="领取方式"
prop="receive_mode"
id="receive_mode"
key="receive_mode"
>
<RadioGroup
onChange={({ target }) => {
this.onHandleChange(target.value, "receive_mode")
}}
value={this.state.model.receive_mode}
>
<RadioButton value={1}>官方领取</RadioButton>
<RadioButton value={2}>账号领取</RadioButton>
</RadioGroup>
</FormItem>
) : (
<></>
)}
<FormItem labelname="红包批次号" prop="channel_activity_id" id="batch_number">
<Ipt
disabled={true}
@ -1100,12 +1135,7 @@ export default class addKnockGold extends Component {
</FormItem>
</Form>
</Card>
{this.state.model.channel !== 3 ? (
<MobileComponent data={this.state.model} />
) : (
<YSFMobileComponent data={this.state.model} />
)}
{this.switchComponents()}
</div>
)
}

View File

@ -388,8 +388,6 @@
}
}
#redPackets {
& {
border: 0;
@ -635,4 +633,234 @@
}
}
}
#zfb-mobileComponent {
position: fixed !important;
top: 130px !important;
right: 90px !important;
border: 1px solid #e4e4e4;
border-radius: 5px;
font-size: 16px;
width: 375px !important;
box-sizing: border-box;
padding: 0 !important;
z-index: 1003;
overflow: auto;
scrollbar-width: none;
background-color: rgb(250, 67, 59);
&::-webkit-scrollbar {
display: none
}
.form {
margin: -20px 0 30px;
color: #fff;
.but {
max-width: 100%;
}
}
.mt0 {
margin-top: 0 !important;
}
.form-label {
font-size: 18px;
margin-left: 5px;
}
.form-input {
width: 100%;
height: 40px;
border-radius: 50px;
outline: 0;
border: .16px solid rgb(217, 216, 218);
background: #fffefe;
padding: 0 14px;
box-sizing: border-box;
margin: 10px 0;
font-size: 12px;
}
.form-input::placeholder {
color: #a3a3a3;
font-size: 14px;
}
.form-note {
font-size: 12px;
margin-left: 5px;
margin-bottom: 20px;
}
.top {
height: 500px;
position: relative;
}
.box {
padding: 15px 8px 20px;
box-sizing: border-box;
min-height: 667px;
width: 100%;
background: url('https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/zfb-red-banner.png') no-repeat top center;
background-size: 100%;
}
.effect_date {
font-size: 11px;
color: #FFC49C;
position: absolute;
top: 16%;
width: 100%;
text-align: center;
}
.effect_date>span {
background: linear-gradient(to left top, #ff6049, #fd322a);
border: 1px solid #ffc3a5;
border-radius: 20px;
padding: 4px 12px;
}
.bt {
top: 62%;
left: 22.5%;
position: absolute;
width: 200px;
}
.title {
font-size: 28px;
font-weight: bold;
color: #fff;
width: 100%;
text-align: center;
position: absolute;
top: 5%;
}
.type {
color: #FD3B2D;
font-size: 10px;
top: 40.2%;
width: 100%;
text-align: center;
position: absolute;
}
.type>span {
padding: 4px 12px;
background-color: #fdc9a2;
border-radius: 20px;
}
.money {
font-weight: bold;
color: #FE0F0B;
font-size: 40px;
top: 29.5%;
position: absolute;
width: 100%;
height: 42px;
display: flex;
align-items: flex-end;
justify-content: center;
}
.tag {
font-size: 16px;
display: inline-block;
margin-bottom: 4px;
}
.available_time {
text-align: left;
margin-bottom: 8px;
h3 {
font-size: 14px;
color: #171717;
padding-bottom: 5px;
margin-top: 5px;
box-sizing: border-box;
}
.timeList {
display: grid;
grid-template-columns: repeat(3, 33.33%);
text-align: center;
li {
margin: 3px 0;
font-size: 12px;
color: #a8a8a8;
}
}
}
.instruction-text {
font-size: 14px;
color: #171717;
padding-bottom: 5px;
margin-top: 5px;
box-sizing: border-box;
}
.instruction-box {
width: 100%;
display: flex;
flex-direction: column;
}
.instruction {
width: 100%;
background: url('https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/redPacktes/common_img_text.png') no-repeat top center;
background-size: 100% 100%;
font-size: 12px;
color: #959595;
padding: 0 10px 10px;
box-sizing: border-box;
line-height: 20px;
}
.instruction-header {
width: 100%;
height: 43px;
background: url('https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/redPacktes/common_img_header.png') no-repeat;
background-size: 100%;
}
.TextBlock {
margin-top: 20px;
}
.notice {
width: 170px;
margin-bottom: 2px;
}
.instruction-2 {
margin-top: 10px;
}
.scroll {
height: 380px;
overflow: auto;
scrollbar-width: none;
&::-webkit-scrollbar {
display: none
}
}
.center {
text-align: center;
}
}

View File

@ -54,6 +54,7 @@ export function model({ data }) {
end_time: "" /* 生效结束时间 */,
receive_type: 0, //领取时间类型
wishing: "",
receive_mode: 1,
/* 不规则时间 */
receive_irregular: [
{

View File

@ -0,0 +1,101 @@
import { Placeholder } from "zent"
import "./index.less"
import TimeComponent from "./timeComponent"
const widths = [24, 100, 100, 100, 80, 100, 100, 100, 80, 100, 100, 100, 80, 100, 100, 100, 100]
export default ({ data }) => {
/* 动态font */
function fonts() {
const { cash_amount_type, min_denomination, max_denomination } = data
const defaultCss = { b: "20px", a: "40px" }
if (cash_amount_type === "2") {
const count =
String(parseFloat(min_denomination)).length +
String(parseFloat(max_denomination)).length +
1
if (count > 6) {
return {
a: 32 - (count - 6) * 1.1 + "px",
b: 20 - (count - 6) + "px"
}
} else {
return defaultCss
}
} else {
return defaultCss
}
}
return (
<div id="zfb-mobileComponent" className="mobile">
<div className="box">
<div className="top">
<p className="title">{data.batch_goods_name || <span>福利来袭 &nbsp;红包兑换</span>}</p>
<p className="effect_date">
<span>
红包有限期截止:
{data.effect_date[1] || "2023-12-30 23:59:59"}
</span>
</p>
<p className="money" style={{ fontSize: fonts().a }}>
<span className="tag" style={{ fontSize: fonts().b }}>
</span>
{data.cash_amount_type === "1"
? parseFloat(data.denomination || 0.01)
: `${parseFloat(data.min_denomination || 0.01)}~${parseFloat(
data.max_denomination || 88.88
)}`}
</p>
<p className="type">
<span>{data.cash_amount_type === "1" ? "固额红包" : "随机红包"}</span>
</p>
</div>
<div className="form">
<input className="form-input" disabled type="text" placeholder="请输入真实姓名" />
<input className="form-input mt0" disabled type="text" placeholder="请输入支付宝账号" />
<p className="form-note">您可在支付宝的个人信息中查看支付宝账号</p>
<img
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/zfb-red-but.png"
class="but"
alt=""
/>
</div>
<div className="instruction-box">
<div className="instruction-header"></div>
<div className="instruction">
<div className="instruction-1">
<p className="center">
<img
className="notice"
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/redPacktes/common_title_notice.png"
alt=""
/>
</p>
{data.instruction || [1, 2, 3].includes(data.receive_type) ? (
<>
<TimeComponent data={data} />
<h3 className="instruction-text">使用规则</h3>
<p
className="scroll"
dangerouslySetInnerHTML={{
__html: data.instruction
}}
></p>
</>
) : (
<Placeholder.TextBlock
className="TextBlock"
animate
widths={widths}
rows={20}
dashed={false}
/>
)}
</div>
</div>
</div>
</div>
</div>
)
}