编码 {{ bianhao }}
推荐
{{ clock }}
配置
类 目
配置列表
数量
价格
{{ element.name }}
{{ props.option.desc }}
x
其 它
备 注
到手价格
{{finallyPricePrev}}
优惠
商品总价
{{finallyPrice}}
鲁大师跑分
综合评分:
{{sumRanking}}分
处理器
{{ cpuGoodsFraction }}分
显卡
{{ gpuGoodsFraction }}分
电源
{{ sumWattage }}W
各主流游戏FPS
名称
FPS
内存
显卡
{{ props.option.title }}
{{ props.option.title }}
{{ gameFirstFps}}
{{ gameFirstRAM}}G
{{gameFirstGPU}}G
CSGO
{{ csgoFps }}
{{ csgoRAM }}G
{{csgoGPU}}G
英雄联盟
{{ lolFps }}
{{lolRAM}}G
{{ lolGPU }}G
绝地求生
{{ cfFps }}
{{cfRAM}}G
{{cfGPU}}G
提交配置
保存配置
更新数据
重置
智融
{{ props.option.desc }}
x
订单
{{ props.option.desc }}
x
{{o.name_bm}}
{{o.user_remarks}}
价格:
{{o.reality_price}}
调用配置
基本
文件
流程
错误
SQL
调试
请求信息 : 2025-10-18 02:48:14 HTTP/2.0 GET : https://demo.czmt.net/home/index/zxpj_person
运行时间 : 0.027990s [ 吞吐率:35.73req/s ] 内存消耗:1,126.20kb 文件加载:171
查询信息 : 13 queries
缓存信息 : 19 reads,0 writes
会话信息 : SESSION_ID=96faf344eaac1b17f1d8fae74ef157f2
/www/wwwroot/demo.czmt.net/public/index.php ( 0.58 KB )
/www/wwwroot/demo.czmt.net/vendor/autoload.php ( 0.17 KB )
/www/wwwroot/demo.czmt.net/vendor/composer/autoload_real.php ( 2.49 KB )
/www/wwwroot/demo.czmt.net/vendor/composer/platform_check.php ( 0.90 KB )
/www/wwwroot/demo.czmt.net/vendor/composer/ClassLoader.php ( 15.69 KB )
/www/wwwroot/demo.czmt.net/vendor/composer/autoload_static.php ( 17.34 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-php80/bootstrap.php ( 1.50 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 7.33 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-php72/bootstrap.php ( 1.89 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/deprecation-contracts/function.php ( 0.98 KB )
/www/wwwroot/demo.czmt.net/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-php73/bootstrap.php ( 0.99 KB )
/www/wwwroot/demo.czmt.net/vendor/guzzlehttp/psr7/src/functions_include.php ( 0.15 KB )
/www/wwwroot/demo.czmt.net/vendor/guzzlehttp/psr7/src/functions.php ( 13.09 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 0.79 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-intl-normalizer/bootstrap.php ( 0.71 KB )
/www/wwwroot/demo.czmt.net/vendor/guzzlehttp/promises/src/functions_include.php ( 0.16 KB )
/www/wwwroot/demo.czmt.net/vendor/guzzlehttp/promises/src/functions.php ( 9.89 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-intl-idn/bootstrap.php ( 4.52 KB )
/www/wwwroot/demo.czmt.net/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
/www/wwwroot/demo.czmt.net/vendor/guzzlehttp/guzzle/src/functions.php ( 9.70 KB )
/www/wwwroot/demo.czmt.net/vendor/adbario/php-dot-notation/src/helpers.php ( 0.57 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-helper/src/helper.php ( 7.35 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Facade.php ( 2.71 KB )
/www/wwwroot/demo.czmt.net/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php ( 0.10 KB )
/www/wwwroot/demo.czmt.net/vendor/symfony/polyfill-ctype/bootstrap.php ( 1.56 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-captcha/src/helper.php ( 1.37 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/ObApiClient.php ( 33.34 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/secache.php ( 23.11 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/secache_no.php ( 0.50 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/curl.class.php ( 14.44 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/ObApiDB.php ( 6.51 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/ObApiCache.php ( 26.52 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/ObApiHelper.php ( 29.34 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/ObApiLog.php ( 10.08 KB )
/www/wwwroot/demo.czmt.net/extend/onebound/item/item_base.php ( 2.49 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/App.php ( 14.17 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Container.php ( 15.38 KB )
/www/wwwroot/demo.czmt.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
/www/wwwroot/demo.czmt.net/app/provider.php ( 0.16 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Http.php ( 6.12 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.28 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Env.php ( 4.64 KB )
/www/wwwroot/demo.czmt.net/app/common.php ( 28.35 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/helper.php ( 18.44 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Config.php ( 5.03 KB )
/www/wwwroot/demo.czmt.net/config/aliyun.php ( 0.58 KB )
/www/wwwroot/demo.czmt.net/config/app.php ( 2.25 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
/www/wwwroot/demo.czmt.net/config/cache.php ( 1.05 KB )
/www/wwwroot/demo.czmt.net/config/captcha.php ( 0.98 KB )
/www/wwwroot/demo.czmt.net/config/console.php ( 0.58 KB )
/www/wwwroot/demo.czmt.net/config/cookie.php ( 0.49 KB )
/www/wwwroot/demo.czmt.net/config/database.php ( 3.12 KB )
/www/wwwroot/demo.czmt.net/config/filesystem.php ( 0.66 KB )
/www/wwwroot/demo.czmt.net/config/gateway_worker.php ( 1.95 KB )
/www/wwwroot/demo.czmt.net/config/lang.php ( 0.81 KB )
/www/wwwroot/demo.czmt.net/config/log.php ( 2.55 KB )
/www/wwwroot/demo.czmt.net/config/middleware.php ( 0.19 KB )
/www/wwwroot/demo.czmt.net/config/route.php ( 1.54 KB )
/www/wwwroot/demo.czmt.net/config/session.php ( 0.57 KB )
/www/wwwroot/demo.czmt.net/config/trace.php ( 0.34 KB )
/www/wwwroot/demo.czmt.net/config/view.php ( 1.20 KB )
/www/wwwroot/demo.czmt.net/config/worker.php ( 1.58 KB )
/www/wwwroot/demo.czmt.net/config/worker_server.php ( 1.93 KB )
/www/wwwroot/demo.czmt.net/config/zjm.php ( 4.04 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Lang.php ( 7.60 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/lang/zh-cn.php ( 12.88 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Event.php ( 6.96 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.27 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
/www/wwwroot/demo.czmt.net/vendor/services.php ( 0.25 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Service.php ( 1.67 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/service/ModelService.php ( 1.76 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-captcha/src/CaptchaService.php ( 0.52 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-multi-app/src/Service.php ( 1.08 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Middleware.php ( 6.78 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-worker/src/Service.php ( 0.96 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Console.php ( 22.65 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/Paginator.php ( 11.80 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Validate.php ( 46.10 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/Model.php ( 25.28 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 17.61 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 26.12 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.27 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/model/concern/TimeStamp.php ( 5.70 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 10.41 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Db.php ( 2.87 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/DbManager.php ( 8.49 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Log.php ( 8.50 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Manager.php ( 3.98 KB )
/www/wwwroot/demo.czmt.net/vendor/psr/log/Psr/Log/LoggerInterface.php ( 3.04 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Cache.php ( 4.79 KB )
/www/wwwroot/demo.czmt.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.50 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-helper/src/helper/Arr.php ( 15.54 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.42 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/cache/Driver.php ( 8.06 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 2.25 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Request.php ( 54.04 KB )
/www/wwwroot/demo.czmt.net/app/middleware.php ( 0.56 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-trace/src/TraceDebug.php ( 2.94 KB )
/www/wwwroot/demo.czmt.net/app/middleware/DatabaseMiddleware.php ( 9.10 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/facade/Cache.php ( 2.02 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.94 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 4.39 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.45 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/Connection.php ( 7.67 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.56 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 15.93 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/Builder.php ( 41.58 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/Query.php ( 10.64 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 36.47 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.50 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 16.06 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 6.29 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.85 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 16.22 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 6.86 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.36 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.51 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/log/driver/File.php ( 6.17 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/log/Channel.php ( 6.54 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 0.86 KB )
/www/wwwroot/demo.czmt.net/app/middleware/WeblogMiddleware.php ( 2.40 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 2.06 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.28 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/session/Store.php ( 7.26 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-multi-app/src/MultiApp.php ( 7.07 KB )
/www/wwwroot/demo.czmt.net/app/home/common.php ( 41.00 KB )
/www/wwwroot/demo.czmt.net/app/home/event.php ( 0.07 KB )
/www/wwwroot/demo.czmt.net/app/home/middleware.php ( 0.48 KB )
/www/wwwroot/demo.czmt.net/app/home/middleware/Install.php ( 0.51 KB )
/www/wwwroot/demo.czmt.net/app/home/middleware/Auth.php ( 0.91 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Route.php ( 23.96 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.33 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/Domain.php ( 5.55 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 13.61 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/Rule.php ( 22.85 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 8.81 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/dispatch/Url.php ( 3.42 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 6.61 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 6.49 KB )
/www/wwwroot/demo.czmt.net/app/home/controller/Index.php ( 297.81 KB )
/www/wwwroot/demo.czmt.net/app/home/BaseController.php ( 6.00 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/facade/Request.php ( 8.92 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/facade/Config.php ( 1.37 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/facade/Session.php ( 1.15 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/facade/View.php ( 1.71 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/View.php ( 4.41 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-helper/src/Collection.php ( 16.10 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Response.php ( 8.60 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/response/View.php ( 3.27 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/framework/src/think/Cookie.php ( 6.28 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-view/src/Think.php ( 8.42 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-template/src/Template.php ( 46.85 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.33 KB )
/www/wwwroot/demo.czmt.net/runtime/home/temp/c3bc338af0bfc2ee7019c88cf9ad5d5a.php ( 183.77 KB )
/www/wwwroot/demo.czmt.net/vendor/topthink/think-trace/src/Html.php ( 4.49 KB )
CONNECT:[ UseTime:0.000536s ] mysql:host=127.0.0.1;port=3306;dbname=bj_demo;charset=utf8mb4
SHOW FULL COLUMNS FROM `mt_config_corporate` [ RunTime:0.001164s ]
SELECT `usage_time` FROM `mt_config_corporate` WHERE `pc_domain_name` = 'demo.czmt.net' LIMIT 1 [ RunTime:0.000481s ]
SELECT `usage_time` FROM `mt_config_corporate` WHERE `pc_domain_name` = 'demo.czmt.net' LIMIT 1 [ RunTime:0.000433s ]
SHOW FULL COLUMNS FROM `mt_config` [ RunTime:0.000693s ]
SELECT * FROM `mt_config` WHERE `id` = 6 LIMIT 1 [ RunTime:0.000437s ]
SELECT * FROM `mt_config` WHERE `id` = 7 LIMIT 1 [ RunTime:0.000423s ]
SELECT * FROM `mt_config` WHERE `id` = 8 LIMIT 1 [ RunTime:0.000430s ]
SELECT * FROM `mt_config` WHERE `id` = 9 LIMIT 1 [ RunTime:0.000408s ]
SELECT * FROM `mt_config` WHERE `id` = 10 LIMIT 1 [ RunTime:0.000424s ]
SHOW FULL COLUMNS FROM `mt_web_config_img` [ RunTime:0.000689s ]
SELECT `id`,`img_url`,`b_name` FROM `mt_web_config_img` WHERE `delete_time` = 0 ORDER BY `id` ASC [ RunTime:0.000489s ]
SHOW FULL COLUMNS FROM `mt_web_log` [ RunTime:0.000718s ]
INSERT INTO `mt_web_log` SET `method` = 'GET' , `url` = '/home/index/zxpj_person' , `params` = '[]' , `headers` = '{\"accept-encoding\":\"gzip, br, zstd, deflate\",\"user-agent\":\"Mozilla\\/5.0 AppleWebKit\\/537.36 (KHTML, like Gecko; compatible; ClaudeBot\\/1.0; +claudebot@anthropic.com)\",\"accept\":\"*\\/*\",\"host\":\"demo.czmt.net\",\"content-length\":\"\",\"content-type\":\"\"}' , `ip` = '216.73.216.2' , `body` = '' , `time` = 1760726894 , `isAjax` = '' , `returndata` = '<!DOCTYPE html> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <meta name=\"renderer\" content=\"webkit\"/> <meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge,chrome=1\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\"> <link rel=\"mobile-prefetch\" href=\"\"/> <title>明天电脑</title> <meta name=\"keywords\" content=\"明天电脑报价系统\"/> <meta name=\"description\" content=\" 明天惠选报价系统 用心服务 \"/> <link rel=\"stylesheet\" href=\"/static/home/css/common.css?v=1.0.1\" media=\"all\"> <link rel=\"stylesheet\" href=\"/static/assets/gougu/css/gougu.css\" media=\"all\"> <script defer src=\"/static/home/js/layer/layer.js\"></script> <script src=\"/static/assets/layui/layui.js\"></script> <script src=\"/static/assets/gougu/gouguInit.js\"></script> <script src=\"/static/assets/gougu/module/tool.js\"></script> <script src=\"/static/assets/gougu/module/tableChild.js\"></script> <script src=\"/static/assets/gougu/module/soulTable.slim.js\"></script> <script src=\"/static/assets/gougu/module/xm-select.js\"></script> <!--<script src=\"/static/assets/gougu/module/indexdb.js\"></script>--> <script src=\"/static/assets/gougu/module/pinyin.js\"></script> <script src=\"/static/assets/gougu/module/initials.js\"></script> </head> <body class=\"main-body\"> <!-- 主体 --> <style> html body { padding: 0; background-image: url(https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710701637003.jpg); background-repeat: no-repeat; background-size: 100% 100%; margin: 0; width: 100%; height: 100%; min-width: 800px; overflow-x: auto; overflow-y: hidden; } .fly-case-list li { width: 160px; margin: 0 5px 5px 0; padding: 5px; } .fly-case-info .layui-btn { /* position: absolute; */ right: 0; top: 0px; padding: 0 15px; } .layui-table td, .layui-table th { position: relative; padding: 0; min-height: 20px; line-height: 20px; font-size: 14px; } .xm-select.selected { background-color: #F7F7F7; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none !important; } input[type=\"number\"] { -moz-appearance: textfield; } .top { background-color: white; border-radius: 20px; } .round { border-radius: 20px; } .title { text-align: center; } .xuxian { border-right: 1px dashed black; } .xuxian2 { border: 1px dashed rgb(178, 178, 178); font-weight: 400; font-size: 17px; padding: 0 2px; height: 30px; line-height: 30px; text-align: center; } .xuxian2 input { text-align: center; } merged-cell { display: block; width: 100%; padding-left: 50%; margin-left: -50%; box-sizing: border-box; } table { width: 100%; /* 设置表格宽度为父元素的100% */ table-layout: fixed; /* 为了让列宽固定,避免内容推动列宽 */ } th, td { overflow: hidden; /* 防止内容溢出单元格 */ white-space: nowrap; /* 防止内容换行 */ } table, th, td { border: 1px dashed #000; /* 设置虚线边框 */ } em { color: red; font-weight: 900; } .underline { text-decoration: underline; text-decoration-color: black; text-decoration-thickness: 2px; /* 可以根据需要调整粗细 */ } button { background-color: red; color: white; } .table_title { text-align: center; border-left: none; line-height: 30px; } .table_botton { border-right: none; text-align: center; line-height: 30px; } .table_botton input { text-align: center; } .font-grey-color { color: rgb(102, 102, 102); font-size: 15px; } .selectFocus { /* background-color: blue !important; */ border: 1px solid red !important; ; } .option__title_ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; } [v-cloak] { display: none; } .time { font-size: 13px; color: #999; } .bottom { margin-top: 13px; line-height: 12px; } .button { padding: 0; float: right; } .image { width: 100%; display: block; } .clearfix:before, .clearfix:after { display: table; content: \"\"; } .clearfix:after { clear: both } .imageSelect .multiselect__content-wrapper { width: 100%; text-align: center; } .imageSelect .multiselect__single { text-align: center; line-height: 22px; font-size: 12px; } .imageSelect .multiselect__tags { height: 21px !important; } .gameOptionsLabel .multiselect__single { padding-left: 8px; } .ramColor { color: blue } .gpuColor { color: rgb(143, 103, 44); } .showImageClass .el-dialog__body { padding: 0px 20px 30px 20px; } .setting .multiselect__tags { height: 22px; } .setting .multiselect__single { height: 22px; font-size: 12px; } .bj-button .layui-btn-sm { height: 26px; line-height: 2px; } .moveBorder { border: 1px solid black; } .mask { /* background: gray; */ position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; /* display: none; */ z-index: 9999998; filter: alpha(opacity=60); opacity: 0.9 !important; } .partMask { width: 100%; height: 100%; /* display: none; */ /* z-index: 99999999; */ filter: alpha(opacity=60); /* opacity: 0.5 !important; */ } .remove { cursor: pointer; /* 鼠标悬停时变为手形图标 */ color: red; /* 通常为红色 */ font-weight: bold; /* 加粗显示 */ padding: 0 5px; /* 添加一些内边距 */ /* 根据需要调整以下属性以进行定位 */ position: absolute; right: 0; /* 将其定位到 input 框的右侧 */ top: 50%; /* 垂直居中 */ transform: translateY(-50%); /* 垂直居中调整 */ line-height: 1; /* 确保图标垂直居中 */ } .app-wrapper { .el-dialog__wrapper { pointer-events: none; } } .is-active span{ color:red; } </style> <div id=\"bj-vue\" style=\" margin: 0 auto;margin-right: 10px;\" :class=\"{layuiFluid:1,mask:mask}\" @mousemove=\"getMove\" @mouseup=\"getMouseUpChat\" @mouseleave=\"getMouseUpChat\"> <div class=\"layui-row layui-col-space8\"> <!-- <div class=\"layui-col-xs7 layui-col-xs-offset3\"> <div style=\"border: none;font-size:36px;font-weight: 900;color:white;text-align: center;width: 100%;\"><input type=\"text\" style=\"border: none;font-size:36px;font-weight: 900;color:white;text-align: center;width: 100%;background-color: rgba(255, 255, 255, 0); \" v-model=\"title\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur(\'title\')\"></div> </div> --> <div class=\"layui-col-xs2 layui-col-xs-offset5\" style=\"margin-top: 8px;\"> <img style=\"width: 60%;\" src=\"/static/home/images/dbb.png\" /> </div> </div> <div class=\"layui-row layui-col-space8\"> <div class=\"layui-col-xs12\"> <div class=\"layui-row layui-col-space8\"> <div class=\"layui-col-xs12\"> <div class=\"layui-row layui-col-space18\" style=\"margin-left: 5px;\"> <div class=\"top\" style=\"padding-right: 16px;height: 18px;font-size: 16px;font-weight: 900;width: 96%;\"> <div class=\"layui-col-xs2 \"> <div style=\"border-right: 1px dashed black;width: 90%;\" v-cloak> 编码 {{ bianhao }} </div> </div> <!-- <div class=\"layui-col-xs3\"> <div style=\"border-right: 1px dashed black;width: 90%;\"> <div class=\"layui-row layui-col-space14\"> <div class=\"layui-col-xs4\" style=\"width: 45px;padding-right: 0;\">昵称</div> <div class=\"layui-col-xs8\" style=\"padding-left: 0;\"><input type=\"text\" style=\"border: none;width: 100%;\" v-model=\"nickname\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\"> </div> </div> </div> </div> --> <div class=\"layui-col-xs6 \" style=\"text-align: left;border-right: 1px dashed black;\"> <button style=\"background-color: red !important;color:white;height: 22px;width: 55px; line-height: 2px;\" class=\"layui-btn layui-btn-sm layui-btn-primary layui-bg-red\" @click=\"recommend\">推荐</button> <span id=\"time\" v-cloak>{{ clock }}</span> </div> <div class=\"layui-col-xs1 \"> <div style=\"width: 80%;text-align: center;\"> 配置 </div> </div> <div class=\"layui-col-xs3 setting\"> <div style=\"\"> <multiselect v-model=\"templateId\" :options=\"templateOptions\" :searchable=\"false\" :allow-empty=\"false\" @open=\"multiselectOpen\" @close=\"multiselectClose\" placeholder=\"请选择模版配置\" label=\"name\" track-by=\"moban_id\" select-label=\"\" deselect-label=\"\" selected-label=\"\"></multiselect> </div> </div> </div> </div> </div> </div> <div class=\"layui-row layui-col-space2\" style=\"margin-top: 10px;\"> <div class=\"layui-col-xs9\"> <div class=\"\" style=\"padding: 0 8px;border-radius: 20px;background-color: white;color: #000;\"> <div class=\"layui-row layui-col-space8\"> <div class=\"layui-col-xs1 xuxian2 table_title\">类 目</div> <div class=\"layui-col-xs9 xuxian2\" style=\"text-align: center;\">配置列表</div> <div class=\"layui-col-xs1 xuxian2\">数量</div> <div class=\"layui-col-xs1 xuxian2 table_botton\">价格</div> </div> <draggable v-model=\"categoryLists\" chosen-class=\"chosen\" force-fallback=\"true\" group=\"people\" delay=\"500\" animation=\"1000\" @start=\"onDragableStart\" @end=\"onDragableEnd\"> <transition-group> <div class=\"layui-row layui-col-space8\" v-for=\"element in categoryLists\" :key=\"element.id\"> <div v-if=\"!$data[element.id + \'TitleEditStatus\']\" :index=\"element.id\" class=\"layui-col-xs1 xuxian2 table_title\" @click=\"showImage(element.id,true)\" v-cloak> {{ element.name }} </div> <div v-else class=\"layui-col-xs1 xuxian2 table_title\"> <input :ref=\"element.id + \'TitleEditInputRef\'\" type=\"text\" style=\"border: none;text-align: center;width: 100%;\" v-model=\"element.name\" @focus=\"titleEditFocus(element.id,$event)\" @blur=\"titleEditBlur(element.id,$event)\"> </div> <div class=\"layui-col-xs9 xuxian2\" style=\"position: relative;\"> <Multiselect :ref=\"element.id + \'Ref\'\" :id=\"element.id\" v-model=\"$data[element.id]\" :options=\"$data[element.id + \'Options\']\" @search-change=\"onChange\" label=\"name\" track-by=\"id\" :internal-search=\"false\" :reset-after=\"clear\" deselect-label=\"\" selected-label=\"\" select-label=\"\" :preserve-search=\"true\" :clear-on-select=\"true\" placeholder=\"请选择\" :max-height=\"300\" @select=\"select\" @remove=\"removeSelect\" :allow-empty=\"false\" @open=\"multiselectOpen\" @focus.native=\"handleFocus\" @close=\"multiselectClose\"> <template slot=\"singleLabel\" slot-scope=\"props\"> <span class=\"option__desc\"><span class=\"option__title option__title_ellipsis\" v-html=\"props.option.name \"></span></span> </template> <template slot=\"option\" slot-scope=\"props\"> <div class=\"option__desc\"><span class=\"option__title\" v-html=\"props.option.name \"></span><span class=\"option__small\">{{ props.option.desc }}</span></div> </template> </Multiselect> <div v-if=\"($data[element.id].id && $data[element.id].costPrice != 0) || ($data[element.id].id != 0 && $data[element.id].costPrice == 0)\" @click=\"removeSelect(\'\',element.id)\" class=\"remove\" v-cloak>x</div> </div> <div class=\"layui-col-xs1 xuxian2\" style=\"text-align: center;\"><input type=\"number\" style=\"border: none;text-align: center;width: 100%;\" v-model=\"$data[element.id + \'Num\']\" @input=\"numChange(event,element.id)\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\"> </div> <div class=\"layui-col-xs1 xuxian2 table_botton\"><input type=\"number\" style=\"border: none;text-align: center;width: 100%;\" v-model=\"$data[element.id + \'Price\']\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\"></div> </div> </transition-group> </draggable> <div class=\"layui-row layui-col-space8\"> <div class=\"layui-col-xs1 xuxian2 table_title\">其 它</div> <div class=\"layui-col-xs9 xuxian2\"> <input type=\"text\" style=\"border: none;width: 100%;height: 26px; line-height: 26px;text-align: left;\" v-model=\"other2\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\"> </div> <div class=\"layui-col-xs1 xuxian2\" style=\"text-align: center;\"><input type=\"number\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\" style=\"border: none;text-align: center;width: 100%;\" v-model=\"other2Num\" @input=\"numChange(event,\'other2\')\"></div> <div class=\"layui-col-xs1 xuxian2 table_botton\"><input type=\"number\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\" style=\"border: none;text-align: center;width: 100%;\" v-model=\"other2Price\"></div> </div> <div class=\"layui-row layui-col-space8\"> <div class=\"layui-col-xs1 xuxian2 table_title\">备 注</div> <div class=\"layui-col-xs11 xuxian2 table_botton\"> <input type=\"text\" style=\"border: none;width: 100%;height: 26px; line-height: 26px;text-align: left;\" v-model=\"userRemarks\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\"> </div> </div> <div class=\"layui-row layui-col-space8\" style=\"font-size: 15px;font-weight: bold;\"> <div class=\"layui-col-xs2 \">到手价格</div> <div class=\"layui-col-xs4\" style=\" border-right: 1px dashed black;\"> <div style=\"border: none;width: 100%;color:red;font-weight:900;font-size: 30px;height: 26px; line-height: 26px;text-align: right;\" v-cloak> {{finallyPricePrev}} </div> </div> <div class=\"layui-col-xs6 \"> <div class=\"layui-row layui-col-space2\"> <div class=\"layui-col-xs10\" style=\"border-right: 1px dashed black;border-bottom: 1px dashed black;\" v-cloak> 优惠 </div> <div class=\"layui-col-xs2\" style=\"border-bottom: 1px dashed black;\" v-cloak> <input type=\"number\" @focus=\"handleInputFocus\" @blur=\"handleInputBlur\" style=\"border: none;text-align: left;width: 100%;\" v-model=\"discount\" @input=\"changeDiscount\"> </div> </div> <div class=\"layui-row layui-col-space2\"> <div class=\"layui-col-xs10\" style=\"border-right: 1px dashed black;\" v-cloak> 商品总价 </div> <div class=\"layui-col-xs2\" v-cloak> {{finallyPrice}}</div> </div> </div> </div> </div> </div> <div class=\"layui-col-xs3\"> <div class=\"layui-row layui-col-space2\"> <div class=\"layui-col-xs12\"> <div style=\"background-color: white; height: 178px;text-align: center;font-size: 16px;font-weight: 900;\" class=\"round\"> <div class=\"layui-col-xs12 imageSelect\"> <Multiselect ref=\"chassisImageRef\" id=\"chassisImage\" v-model=\"chassisImage\" :options=\"categoryImageOptions\" @search-change=\"onChange\" label=\"name\" track-by=\"id\" :internal-search=\"false\" select-label=\"\" deselect-label=\"\" selected-label=\"\" placeholder=\"\" :max-height=\"300\" @select=\"select\" @remove=\"removeSelect\" :allow-empty=\"true\" @open=\"multiselectOpen\" style=\"width: 86%;margin: 0 auto;\" @close=\"multiselectClose\"> </div> <div @click=\"showImage(\'chassis\',true,true)\" class=\"layui-col-xs12\" :style=\"{\'backgroundImage\': `url(${chassisImg})`, \'backgroundSize\': \'100% 100%\',\'height\':\'91%\',\'borderRadius\': \'0 0 20px 20px\',\'cursor\': \'pointer\'}\"> </div> </div> </div> </div> <div class=\"layui-row layui-col-space2\"> <div class=\"layui-col-xs12\"> <div style=\"background-color: white; height: 178px;text-align: center;font-size: 16px;font-weight: 900;\" class=\"round\"> <div class=\"layui-col-xs12 imageSelect\"> <Multiselect ref=\"memoryImageRef\" id=\"memoryImage\" v-model=\"memoryImage\" :options=\"categoryImageOptions\" @search-change=\"onChange\" label=\"name\" track-by=\"id\" :internal-search=\"false\" select-label=\"\" deselect-label=\"\" selected-label=\"\" placeholder=\"\" :max-height=\"300\" @select=\"select\" style=\"width: 86%;margin: 0 auto;\" @remove=\"removeSelect\" :allow-empty=\"true\" @open=\"multiselectOpen\" @close=\"multiselectClose\"> </div> <div @click=\"showImage(\'memory\',true,true)\" class=\"layui-col-xs12\" :style=\"{\'backgroundImage\': `url(${memoryImg})`, \'backgroundSize\': \'100% 100%\',\'height\':\'91%\',\'borderRadius\': \'0 0 20px 20px\',\'cursor\': \'pointer\'}\"> </div> </div> </div> </div> <div class=\"layui-row layui-col-space2\"> <div class=\"layui-col-xs12\"> <div style=\"background-color: white;height: 178px;text-align: center;font-size:16px;font-weight: 900;\" class=\"round\"> <div class=\"layui-col-xs12 imageSelect\"> <Multiselect ref=\"heatDissipationImageRef\" id=\"heatDissipationImage\" v-model=\"heatDissipationImage\" :options=\"categoryImageOptions\" @search-change=\"onChange\" label=\"name\" track-by=\"id\" :internal-search=\"false\" select-label=\"\" deselect-label=\"\" selected-label=\"\" placeholder=\"\" :max-height=\"300\" style=\"width: 86%;margin: 0 auto;\" @select=\"select\" @remove=\"removeSelect\" :allow-empty=\"true\" @open=\"multiselectOpen\" @close=\"multiselectClose\"> </div> <div @click=\"showImage(\'heatDissipation\',true,true)\" class=\"layui-col-xs12\" :style=\"{\'backgroundImage\': `url(${heatDissipationImg})`, \'backgroundSize\': \'100% 100%\',\'height\':\'91%\',\'borderRadius\': \'0 0 20px 20px\',\'cursor\': \'pointer\'}\"> </div> </div> </div> </div> </div> </div> <div class=\"layui-row layui-col-space8\"> <div class=\"layui-col-xs9\"> <div class=\"layui-row layui-col-space6\"> <div class=\"layui-col-xs6 round\" v-cloak ref=\"ludashiBox\" style=\"font-size:16px;font-weight: 900;padding-top: 0;\"> <div :style=\"ludashiStyle\" :class=\"{round:round, moveBorder:moveBorder,partMask:partMask}\" ref=\"ludashi\" @mousedown=\"getDown($event,\'moveLudashiStatus\')\" @mouseup=\"getUp($event)\"> <el-row> <el-col :span=\"24\"> <div style=\"text-align: center;padding: 0;font-size:16px;font-weight: 900;\"> 鲁大师跑分</div> </el-col> </el-row> <el-row> <el-col :span=\"8\" style=\"text-align: center;height:43px;\"><el-progress type=\"dashboard\" :percentage=\"maxRankingPercent\" color=\"red\" width=\"47\" stroke-width=\"5\"></el-progress></el-col> <el-col :span=\"16\" style=\"line-height: 50px;\">综合评分:<em v-cloak>{{sumRanking}}分</em></el-col> </el-row> <el-row style=\"color:red;text-align: center;font-size: 13px;\"> <el-col :span=\"8\"> <el-row> <el-col> <img style=\"width: 50px;padding: 0 20px;\" v-cloak src=\"https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1712543072693.png\" /> </el-col> </el-row> <el-row> <el-col> <div style=\"color: rgb(102,102,102);font-size: 14px;\"> 处理器</div> </el-col> </el-row> <el-row> <el-col> <div v-cloak> {{ cpuGoodsFraction }}分</div> </el-col> </el-row> </el-col> <el-col :span=\"8\"> <el-row> <el-col> <img v-cloak style=\"width: 50px;padding: 0 20px;\" src=\"https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1712543066044.png\" /> </el-col> </el-row> <el-row> <el-col> <div style=\"color: rgb(102,102,102);font-size: 14px;\"> 显卡</div> </el-col> </el-row> <el-row> <el-col> <div v-cloak> {{ gpuGoodsFraction }}分</div> </el-col> </el-row> </el-col> <el-col :span=\"8\"> <el-row> <el-col> <img v-cloak style=\"width: 50px;padding: 0 20px;\" src=\"https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1712543076487.png\" /> </el-col> </el-row> <el-row> <el-col> <div style=\"color: rgb(102,102,102);font-size: 14px;\"> 电源</div> </el-col> </el-row> <el-row> <el-col> <div v-cloak> {{ sumWattage }}W</div> </el-col> </el-row> </el-col> </el-row> </div> </div> <div class=\"layui-col-xs6 round\" v-cloak style=\"font-size:16px;font-weight: 900;\" ref=\"FPSBox\"> <div :style=\"FPSStyle\" :class=\"{round:round, moveBorder:moveBorder}\" @mousedown=\"getDown($event,\'moveFPSStatus\')\" @mouseup=\"getUp($event)\"> <div class=\"layui-row \"> <div class=\"layui-col-xs12\" style=\"text-align: center;padding: 0;\"> 各主流游戏FPS </div> </div> <div class=\"layui-row \"> <div class=\"layui-col-xs12 font-grey-color\" style=\"text-align: center;padding: 0px;\"> <div style=\"margin: 0 10px;font-size:16px;font-weight: 900;\"> <el-row> <el-col :span=\"9\">名称</el-col> <el-col :span=\"5\"> <em>FPS</em> </el-col> <el-col :span=\"5\" class=\"ramColor\"> 内存 </el-col> <el-col :span=\"5\" calss=\"gpuColor\"> 显卡 </el-col> </el-row> </div> </div> </div> <div class=\"layui-row gameOptionsLabel\"> <div class=\"layui-col-xs12 font-grey-color\" style=\"text-align: center;padding: 2px 0;\" v-cloak> <el-row> <el-col :span=\"9\"> <multiselect v-model=\"gameFirstValue\" placeholder=\"请选择游戏\" label=\"title\" track-by=\"title\" :options=\"gamesOptions\" :option-height=\"50\" :allow-empty=\"false\" deselect-label=\"\" selected-label=\"\" :show-no-results=\"false\" select-label=\"\" :show-labels=\"false\" @open=\"multiselectOpen\" @close=\"multiselectClose\"> <template slot=\"singleLabel\" slot-scope=\"props\"> <img class=\"option__image\" style=\"width: 24px;height: 24px;border-radius: 50px;\" :src=\"props.option.img\" alt=\"\"> <span class=\"option__desc\"> <span class=\"option__title font-grey-color\" style=\"font-size: 15px;overflow: hidden;white-space: nowrap;width: 66%;display: inline-flex;\"> {{ props.option.title }} </span> </span> </template> <template slot=\"option\" slot-scope=\"props\"> <div style=\"display: flex;justify-content: flex-start;\"> <img class=\"option__image\" style=\"width: 30px;height: 30px;border-radius: 50px;margin-right: 10px;\" :src=\"props.option.img\" alt=\"\"> <div class=\"option__desc\"> <span class=\"option__title\"> {{ props.option.title }} </span> </div> </div> </template> </multiselect> </el-col> <el-col :span=\"5\"> <em>{{ gameFirstFps}}</em> </el-col> <el-col :span=\"5\" class=\"ramColor\"> {{ gameFirstRAM}}G </el-col> <el-col :span=\"4\" class=\"gpuColor\"> {{gameFirstGPU}}G </el-col> </el-row> </div> </div> <div class=\"layui-row\" v-cloak> <div class=\"layui-col-xs12 font-grey-color\" style=\"text-align: center;padding: 3px;\"> <div style=\"margin: 0 10px;\"> <el-row> <el-col :span=\"3\"> <image style=\"width: 24px;\" src=\"https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702077340.png\" /> </el-col> <el-col :span=\"6\" style=\"text-align: left;\">CSGO</el-col> <el-col :span=\"5\"> <em>{{ csgoFps }}</em> </el-col> <el-col :span=\"5\" class=\"ramColor\"> {{ csgoRAM }}G </el-col> <el-col :span=\"5\" class=\"gpuColor\"> {{csgoGPU}}G </el-col> </el-row> </div> </div> </div> <div class=\"layui-row\" v-cloak> <div class=\"layui-col-xs12 font-grey-color\" style=\"text-align: center;padding: 1px;\"> <div style=\"margin: 0 10px;\"> <el-row> <el-col :span=\"3\"> <image style=\"width: 24px;\" src=\"https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702053034.png\" /> </el-col> <el-col :span=\"6\" style=\"text-align: left;\">英雄联盟</el-col> <el-col :span=\"5\"> <em>{{ lolFps }}</em> </el-col> <el-col :span=\"5\" class=\"ramColor\"> {{lolRAM}}G </el-col> <el-col :span=\"5\" class=\"gpuColor\"> {{ lolGPU }}G </el-col> </el-row> </div> </div> </div> <div class=\"layui-row\" v-cloak> <div class=\"layui-col-xs12 font-grey-color\" style=\"text-align: center;padding: 1px;\"> <div style=\"margin: 0 10px;\"> <el-row> <el-col :span=\"3\"> <image style=\"width: 24px;\" src=\"https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1712625305735.png\" /> </el-col> <el-col :span=\"6\" style=\"text-align: left;\">绝地求生</el-col> <el-col :span=\"5\"> <em>{{ cfFps }}</em> </el-col> <el-col :span=\"5\" class=\"ramColor\"> {{cfRAM}}G </el-col> <el-col :span=\"5\" class=\"gpuColor\"> {{cfGPU}}G </el-col> </el-row> </div> </div> </div> </div> </div> </div> </div> <div class=\"layui-col-xs3 round\"> <div class=\"layui-row\"> <div class=\"layui-col-xs12 bj-button\" style=\"font-size:16px;font-weight: 900;padding-top: 5px;padding-bottom: 12px;\"> <div style=\"background-color: white;height: 170px;text-align: center;\" class=\"round\"> <div class=\"layui-row layui-col-space8\"> <button style=\"background-color: red !important;color:white;margin: 6px;width: 86px;\" class=\"layui-btn layui-btn-sm layui-bg-red\" @click=\"addOrder\">提交配置</button> </div> <div class=\"layui-row layui-col-space8\"> <button style=\"background-color: red !important;color:white;margin: 6px;width: 86px;\" class=\"layui-btn layui-btn-sm layui-bg-red\" @click=\"saveTemplate\">保存配置</button> </div> <div class=\"layui-row layui-col-space8\"> <button style=\"background-color: red !important;color:white;margin: 6px;width: 86px;\" class=\"layui-btn layui-btn-sm layui-bg-red\" @click=\"updateOrderPrice\">更新数据</button> </div> <div class=\"layui-row layui-col-space8\"> <button style=\"background-color: red !important;color:white;margin: 6px;width: 86px;\" class=\"layui-btn layui-btn-sm layui-bg-red\" @click=\"reset\">重置</button> </div> <!-- <div class=\"layui-row layui-col-space8\"> <div style=\"margin: 6px;font-size: 87%;\" v-cloak> {{todayDate}}{{sumCoastPrice}}-{{profit}} </div> </div> --> </div> </div> </div> </div> </div> </div> </div> <div class=\"layui-row \" style=\"display: none;\"> <div class=\"layui-col-xs12\"> <div class=\"layui-row layui-col-space12 top\"> <div class=\"layui-col-xs1 \" style=\"font-size:16px;font-weight: 900;\">智融 </div> <div class=\"layui-col-xs5 imageSelect\" style=\"font-size:16px;font-weight: 900;border-right: 1px dashed black;\"> <Multiselect ref=\"userRef\" id=\"user\" v-model=\"userId\" :options=\"userOptions\" label=\"name\" track-by=\"id\" select-label=\"\" :allow-empty=\"true\" deselect-label=\"\" selected-label=\"\" placeholder=\"请选择\" :max-height=\"300\" @select=\"select\" @remove=\"removeSelect\" :allow-empty=\"false\" @open=\"multiselectOpen\" @close=\"multiselectClose\"> <template slot=\"singleLabel\" slot-scope=\"props\"> <span class=\"option__desc\"><span class=\"option__title option__title_ellipsis\" v-html=\"props.option.name \"></span></span> </template> <template slot=\"option\" slot-scope=\"props\"> <div class=\"option__desc\"><span class=\"option__title\" style=\"\" v-html=\"props.option.name \"></span><span class=\"option__small\">{{ props.option.desc }}</span></div> </template> </Multiselect> <div v-if=\"userId.id && userId.id != undefined && userId.id != \'\' \" @click=\"removeSelect(\'\',\'user\')\" class=\"remove\" v-cloak>x</div> </div> <div class=\"layui-col-xs1\" style=\"font-size:16px;font-weight: 900;\">订单 </div> <div class=\"layui-col-xs5 imageSelect\" style=\"font-size:16px;font-weight: 900;border-right: 1px dashed black;z-index: 999999999;\"> <Multiselect ref=\"orderRef\" id=\"order\" v-model=\"orderValue\" :options=\"orderOptions\" @search-change=\"onChange\" label=\"name\" track-by=\"id\" :internal-search=\"false\" select-label=\"\" deselect-label=\"\" selected-label=\"\" placeholder=\"请选择\" :max-height=\"300\" @select=\"select\" @remove=\"removeSelect\" :allow-empty=\"true\" @open=\"multiselectOpen\" @close=\"multiselectClose\"> <template slot=\"singleLabel\" slot-scope=\"props\"> <span class=\"option__desc\"><span class=\"option__title option__title_ellipsis\" v-html=\"props.option.name \"></span></span> </template> <template slot=\"option\" slot-scope=\"props\"> <div class=\"option__desc\"><span class=\"option__title\" style=\"\" v-html=\"props.option.name \"></span><span class=\"option__small\">{{ props.option.desc }}</span></div> </template> </Multiselect> <div v-if=\"orderValue.id\" @click=\"removeSelect(\'\',\'order\')\" class=\"remove\" v-cloak style=\"right:20px;\">x </div> </div> </div> </div> </div> <el-dialog title=\"推荐配置\" :visible.sync=\"dialogTableVisible\" width=\"90%\"> <el-row> <el-col :span=\"5\" v-for=\"(o, index) in recommendList\" :key=\"o\" :offset=\"index > 0 ? 1 : 1\" style=\"margin-top: 10px;\"> <el-card :body-style=\"{ padding: \'0px\' }\"> <el-row> <el-col :span=\"24\"> <img style=\"width: 100%;height: 139px;\" :src=\"o.img\" class=\"image\"> </el-col> </el-row> <el-row> <el-col :span=\"24\" style=\"text-align: center;font-size: 16px;font-weight: bold;height: 30px;\"> <div style=\"display: inline-block;white-space: nowrap;overflow: hidden;\">{{o.name_bm}} </div> </el-col> </el-row> <el-row> <el-col :span=\"24\" style=\"height: 35px;\"> <div style=\"display: inline-block;padding: 0 6px;overflow: hidden;height: 35px;\"> {{o.user_remarks}} </div> </el-col> </el-row> <el-row> <el-col :span=\"8\" style=\"padding-left: 3px;\"> 价格: </el-col> <el-col :span=\"16\" style=\"line-height: 20px;\"> <b style=\"color: #ff142a\">{{o.reality_price}} </b> </el-col> </el-row> <el-row> <el-col :span=\"24\" style=\"display: flex;justify-content: space-evenly;\"> <el-button type=\"text\" class=\"button\" @click=\"selectRecommend(o.id)\">调用配置</el-button> </el-col> </el-row> </el-card> </el-col> </el-row> </el-dialog> <el-dialog v-dialog-drag title=\"图片\" :visible.sync=\"privewImage\" style=\"\" custom-class=\"showImageClass\"> <el-carousel height=\"350px\" :autoplay=\"false\"> <el-carousel-item v-for=\"item in tmpImage\" :value=\"item\" ref=\"imageListRef\"> <!-- <image :src=\"item\" style=\"width:100%;height:100%;\" /> --> <el-image style=\"width:100%;height:100%;\" :src=\"item\" :preview-src-list=\"tmpImage\"> </el-image> </el-carousel-item> </el-carousel> </el-dialog> </div> <script src=\"/static/home/js/vue.min.js\"></script> <!-- 引入 Vue-multiselect CSS --> <link rel=\"stylesheet\" href=\"/static/home/css/vue-multiselect.min.css\"> <!-- 引入 Vue-multiselect 组件 --> <script src=\"/static/home/js/vue-multiselect.min.js\"></script> <script src=\"/static/home/js/axios.min.js\"></script> <!-- 引入样式 --> <link rel=\"stylesheet\" href=\"/static/home/css/elementUI.css\"> <!-- 引入组件库 --> <script src=\"/static/home/js/elementUI.js\"></script> <script src=\"/static/home/js/Sortable.min.js\"></script> <script src=\"/static/home/js/vuedraggable.umd.min.js\"></script> </head> <!-- { --> <!-- /block} --> <!-- /主体 --> <!-- { block name=\"script\" } --> <script> function tipMsg(msg) { layui.use(\'layer\', function () { var layer = layui.layer; layer.msg(msg); }); } const bj = new Vue({ directives: { dialogDrag: { bind: function (el) { const dialogHeaderEl = el.querySelector(\'.el-dialog__header\'); const dragDom = el.querySelector(\'.el-dialog\'); dialogHeaderEl.style.cursor = \'move\'; // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null); const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null); dialogHeaderEl.onmousedown = (e) => { // 鼠标按下,计算当前元素距离可视区的距离 const disX = e.clientX - dialogHeaderEl.offsetLeft; const disY = e.clientY - dialogHeaderEl.offsetTop; // 获取到的值带px 正则匹配替换 let styL, styT; // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px if (sty.left.includes(\'%\')) { styL = +document.body.clientWidth * (+sty.left.replace(/\\%/g, \'\') / 100); styT = +document.body.clientHeight * (+sty.top.replace(/\\%/g, \'\') / 100); } else { styL = +sty.left.replace(/\\px/g, \'\'); styT = +sty.top.replace(/\\px/g, \'\'); } document.onmousemove = function (e) { // 通过事件委托,计算移动的距离 const l = e.clientX - disX; const t = e.clientY - disY; // 移动当前元素 dragDom.style.left = `${l + styL}px`; dragDom.style.top = `${t + styT}px`; // 将此时的位置传出去 // binding.value({x:e.pageX,y:e.pageY}) }; document.onmouseup = function () { document.onmousemove = null; document.onmouseup = null; }; }; } } }, el: \'#bj-vue\', data: { //cpu cpu: \'\', cpuOptions: [], cpuOptionsPrev: [], cpuPrice: 0, cpuCostPrice: 0, cpuNum: 1, cpuStockNum: 0, cpuSkuNum: \'\', cpuWattage: 0, cpuRemark: \'\', cpuTitle: \'\', cpuTitleEditStatus: false, //散热 heatDissipation: \'\', heatDissipationOptions: [], heatDissipationOptionsPrev: [], heatDissipationPrice: 0, heatDissipationCostPrice: 0, heatDissipationNum: 1, heatDissipationStockNum: 0, heatDissipationSkuNum: \'\', heatDissipationWattage: 0, heatDissipationRemark: \'\', heatDissipationTitle: \'\', heatDissipationTitleEditStatus: false, //主板 motherboard: \'\', motherboardOptions: [], motherboardOptionsPrev: [], motherboardPrice: 0, motherboardCostPrice: 0, motherboardNum: 1, motherboardStockNum: 0, motherboardSkuNum: \'\', motherboardWattage: 0, motherboardRemark: \'\', motherboardTitle: \'\', motherboardTitleEditStatus: false, //内存 memory: \'\', memoryOptions: [], memoryOptionsPrev: [], memoryPrice: 0, memoryCostPrice: 0, memoryNum: 1, memoryStockNum: 0, memorySkuNum: \'\', memoryWattage: 0, memoryRemark: \'\', memoryTitle: \'\', memoryTitleEditStatus: false, //机械 mhd: \'\', mhdOptions: [], mhdOptionsPrev: [], mhdPrice: 0, mhdCostPrice: 0, mhdNum: 1, mhdStockNum: 0, mhdSkuNum: \'\', mhdWattage: 0, mhdRemark: \'\', mhdTitle: \'\', mhdTitleEditStatus: false, //风扇 fan: \'\', fanOptions: [], fanOptionsPrev: [], fanPrice: 0, fanCostPrice: 0, fanNum: 1, fanStockNum: 0, fanSkuNum: \'\', fanWattage: 0, fanRemark: \'\', fanTitle: \'\', fanTitleEditStatus: false, //固态 solidState: \'\', solidStateOptions: [], solidStateOptionsPrev: [], solidStatePrice: 0, solidStateCostPrice: 0, solidStateNum: 1, solidStateStockNum: 0, solidStateSkuNum: \'\', solidStateWattage: 0, solidStateRemark: \'\', solidStateTitle: \'\', solidStateTitleEditStatus: false, //显示器 monitor: \'\', monitorOptions: [], monitorOptionsPrev: [], monitorPrice: 0, monitorCostPrice: 0, monitorNum: 1, monitorStockNum: 0, monitorSkuNum: \'\', monitorWattage: 0, monitorRemark: \'\', monitorTitle: \'\', monitorTitleEditStatus: false, //显卡 gpu: \'\', gpuOptions: [], gpuOptionsPrev: [], gpuPrice: 0, gpuCostPrice: 0, gpuNum: 1, gpuStockNum: 0, gpuSkuNum: \'\', gpuWattage: 0, gpuRemark: \'\', gpuTitle: \'\', gpuTitleEditStatus: false, //机箱 chassis: \'\', chassisOptions: [], chassisOptionsPrev: [], chassisPrice: 0, chassisCostPrice: 0, chassisNum: 1, chassisStockNum: 0, chassisSkuNum: \'\', chassisWattage: 0, chassisRemark: \'\', chassisTitle: \'\', chassisTitleEditStatus: false, //电源 power: \'\', powerOptions: [], powerOptionsPrev: [], powerPrice: 0, powerCostPrice: 0, powerNum: 1, powerStockNum: 0, powerSkuNum: \'\', powerWattage: 0, powerRemark: \'\', powerTitle: \'\', powerTitleEditStatus: false, //键标 keybordAndMouse: \'\', keybordAndMouseOptions: [], keybordAndMouseOptionsPrev: [], keybordAndMousePrice: 0, keybordAndMouseCostPrice: 0, keybordAndMouseNum: 1, keybordAndMouseStockNum: 0, keybordAndMouseSkuNum: \'\', keybordAndMouseWattage: 0, keybordAndMouseRemark: \'\', keybordAndMouseTitle: \'\', keybordAndMouseTitleEditStatus: false, //其他 other: \'\', otherOptions: [], otherOptionsPrev: [], otherPrice: 0, otherCostPrice: 0, otherNum: 1, otherStockNum: 0, otherSkuNum: \'\', otherWattage: 0, otherRemark: \'\', otherTitle: \'\', otherTitleEditStatus: false, //其他1 other1: \'\', other1Options: [], other1OptionsPrev: [], other1Price: 0, other1CostPrice: 0, other1Num: 1, other1StockNum: 0, other1SkuNum: \'\', other1Wattage: 0, other1Remark: \'\', other1Title: \'\', other1TitleEditStatus: false, //其他2 other2: \'\', other2Num: 1, other2Price: 0, other2CostPrice: 0, other2SkuNum: \'\', other2Remark: \'\', //综合 sumPrice: 0,//合计 sumCoastPrice: 0,//总成本 point: 0, //扣点 pointPrice: 0, //扣点价 finallyPrice: 0, //到手价 finallyPricePrev: 0, profit: 0, //利润 categoryLists: [{ \"id\": \"cpu\", \"name\": \"CPU\" }, { \"id\": \"heatDissipation\", \"name\": \"散 热\" }, { \"id\": \"motherboard\", \"name\": \"主 板\" }, { \"id\": \"memory\", \"name\": \"内 存\" }, { \"id\": \"solidState\", \"name\": \"固 态\" }, { \"id\": \"mhd\", \"name\": \"机 械\" }, { \"id\": \"monitor\", \"name\": \"屏 幕\" }, { \"id\": \"gpu\", \"name\": \"显 卡\" }, { \"id\": \"chassis\", \"name\": \"机 箱\" }, { \"id\": \"power\", \"name\": \"电 源\" }, { \"id\": \"fan\", \"name\": \"风扇\" }, { \"id\": \"keybordAndMouse\", \"name\": \"键 鼠\" }, { \"id\": \"other\", \"name\": \"其 他\" }, { \"id\": \"other1\", \"name\": \"其 他\" }], selectDomArr: [\'cpuRef\', \'heatDissipationRef\', \'motherboardRef\', \'memoryRef\', \'solidStateRef\', \'mhdRef\', \'monitorRef\', \'gpuRef\' , \'chassisRef\', \'powerRef\', \'fanRef\', \'keybordAndMouseRef\', \'otherRef\', \'other1Ref\'], selectNameArr: { \'cpu\': \'CPU\', \'heatDissipation\': \'散热\', \'motherboard\': \'主板\', \'memory\': \'内存\', \'solidState\': \'固态硬盘\', \'monitor\': \'显示器\', \'gpu\': \'显卡\' , \'chassis\': \'机箱\', \'power\': \'电源\', \'keybordAndMouse\': \'键鼠\', \'other\': \'其他\', \'other1\': \'其他\', \'mhd\': \'机械硬盘\', \'fan\': \'风扇\' }, categoryImageOptions: [{ \"id\": \"cpu\", \"name\": \"CPU\" }, { \"id\": \"heatDissipation\", \"name\": \"散热\" }, { \"id\": \"motherboard\", \"name\": \"主板\" }, { \"id\": \"memory\", \"name\": \"内存\" }, { \"id\": \"solidState\", \"name\": \"固态硬盘\" }, { \"id\": \"monitor\", \"name\": \"显示器\" }, { \"id\": \"gpu\", \"name\": \"显卡\" }, { \"id\": \"chassis\", \"name\": \"机箱\" }, { \"id\": \"power\", \"name\": \"电源\" }, { \"id\": \"keybordAndMouse\", \"name\": \"键鼠\" }, { \"id\": \"other\", \"name\": \"其他\" }, { \"id\": \"other1\", \"name\": \"其他\" }, { \"id\": \"mhd\", \"name\": \"机械硬盘\" }, { \"id\": \"fan\", \"name\": \"风扇\" }], focusDom: -1, isOpen: false, isInputOpen: false, cpuGoodsFraction: \'0\', //鲁大师跑分 cpuGoodsRanking: \'0\', //鲁大师排名, gpuGoodsFraction: \'0\', //鲁大师跑分 gpuGoodsRanking: \'0\', //鲁大师排名, sumRanking: \'0\', memoryImg: \'\', memoryImage: { id: \'memory\', name: \'内存展示\' }, heatDissipationImg: \'\', heatDissipationImage: { id: \'heatDissipation\', name: \'散热展示\' }, chassisImg: \'\', chassisImage: { id: \'chassis\', name: \'机箱展示\' }, clock: \'03/16 22:12:37\', //智融用户 userOptions: [], userOptionsPrev: [], userId: \'\', bianhao: \'\', templateBianhao: \'\', nickname: \'\', //模版配置 templateOptions: [], templateId: { id: 0, name: \'\' }, templateOrderId: \'\', discount: 0,//优惠 //订单 orderKeywords: \'\', //订单关键词 orderOptions: [], // orderOptionsPrev:[], orderValue: \'\', todayDate: \'0316\', orderId: \'\', title: \'\', zxpj_illustrate: \'\', inptFocusDom: \'\', editTitleInputDom: \'\', //编辑标题DOM sumWattage: 0, clear: false, // finallyPriceTmp: 0, //订单编辑 order: \'\', cpuOrderGoodsId: \'\', heatDissipationOrderGoodsId: \'\', motherboardOrderGoodsId: \'\', memoryOrderGoodsId: \'\', solidStateOrderGoodsId: \'\', mhdOrderGoodsId: \'\', monitorOrderGoodsId: \'\', gpuOrderGoodsId: \'\', chassisOrderGoodsId: \'\', powerOrderGoodsId: \'\', fanOrderGoodsId: \'\', keybordAndMouseOrderGoodsId: \'\', otherOrderGoodsId: \'\', other1OrderGoodsId: \'\', other2OrderGoodsId: \'\', dialogTableVisible: false, //推荐 recommendList: [], recommendOrderId: \'\', tmpImage: \'\', privewImage: false, queryParams: {}, userRemarks: \'\', //游戏FPS gamesOptions: [{ title: \'永劫无间\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702059235.png\', fps: 0, ram: 0, gpu: 0 }, { title: \'CSGO\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702077340.png\', fps: 0, ram: 0, gpu: 0 }, { title: \'英雄联盟\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702053034.png\', fps: 0, ram: 0, gpu: 0 }, { title: \'绝地求生\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1712625305735.png\', fps: 0, ram: 0, gpu: 0 }], gameFirstValue: { title: \'永劫无间\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702059235.png\', fps: 0, ram: 0, gpu: 0 }, gameFirstFps: 0, gameFirstRAM: 0, gameFirstGPU: 0, // gameFirstFpsPercent: 0, csgoFps: 0, csgoRAM: 0, csgoGPU: 0, // csgoFpsPercent: 0, lolFps: 0, // lolFpsPercent: 0, lolRAM: 0, lolGPU: 0, cfFps: 0, cfRAM: 0, cfGPU: 0, // cfFpsPercent: 0, // maxFps: 0, maxRanking: 0, maxRankingPercent: 0, //鲁大师样式 ludashiPrev: \'\', ludashiWidth: 0, ludashiTop: 0, ludashiLeft: 0, moveLudashiStatus: false, moveBorder: false, round: true, mask: false, partMask: true, //FPS样式 FPSPrev: \'\', moveFPSStatus: false, FPSWidth: 0, FPSTop: 0, FPSLeft: 0, moveImageStatus: false, imageDialogPrev: \'\', isInstall:false, // imageTop: \'150px\', // imageLeft: 0, leftStatus: true, //左侧显示状态 leftStyle: { height: \'100%\' }, //配机是否有焦点 isPjFocusStatus: false, //聊天 chatMoveStatus: false, chatPostitionPrev: \'\', chatHight: \'100%\', addOrderStatus:true }, components: { multiselect: window.VueMultiselect.default, axios: window.axios, vuedraggable: window.vuedraggable, }, computed: { ludashiStyle() { return { cursor: \'pointer\', position: \'fixed\', backgroundColor: \'white\', height: \'170px\', width: `${this.ludashiWidth}px`, top: `${this.ludashiTop}px`, left: `${this.ludashiLeft}px` } }, FPSStyle() { return { cursor: \'pointer\', position: \'fixed\', backgroundColor: \'white\', height: \'170px\', width: `${this.FPSWidth}px`, top: `${this.FPSTop}px`, left: `${this.FPSLeft}px` } } }, watch: { //修改价格 cpuPrice(newval, oldVal) { this.cpuPrice = Math.abs(newval) if (this.cpu == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.cpuPrice = 0 return false } if (this.cpu.costPrice == 0 && this.isInputOpen) { this.cpuCostPrice = this.cpuPrice } this.heji() }, heatDissipationPrice(newval, oldVal) { this.heatDissipationPrice = Math.abs(newval) if (this.heatDissipation == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.heatDissipationPrice = 0 return false } if (this.heatDissipation.costPrice == 0 && this.isInputOpen) { this.heatDissipationCostPrice = this.heatDissipationPrice } this.heji() }, motherboardPrice(newval, oldVal) { this.motherboardPrice = Math.abs(newval) if (this.motherboard == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.motherboardPrice = 0 return false } if (this.motherboard.costPrice == 0 && this.isInputOpen) { this.motherboardCostPrice = this.motherboardPrice } this.heji() }, memoryPrice(newval, oldVal) { this.memoryPrice = Math.abs(newval) if (this.memory == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.memoryPrice = 0 return false } if (this.memory.costPrice == 0 && this.isInputOpen) { this.memoryCostPrice = this.memoryPrice } this.heji() }, solidStatePrice(newval, oldVal) { this.solidStatePrice = Math.abs(newval) if (this.solidState == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.solidStatePrice = 0 return false } if (this.solidState.costPrice == 0 && this.isInputOpen) { this.solidStateCostPrice = this.solidStatePrice } this.heji() }, monitorPrice(newval, oldVal) { this.monitorPrice = Math.abs(newval) if (this.monitor == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.monitorPrice = 0 return false } if (this.monitor.costPrice == 0 && this.isInputOpen) { this.monitorCostPrice = this.monitorPrice } this.heji() }, gpuPrice(newval, oldVal) { this.gpuPrice = Math.abs(newval) if (this.gpu == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.gpuPrice = 0 return false } if (this.gpu.costPrice == 0 && this.isInputOpen) { this.gpuCostPrice = this.gpuPrice } this.heji() }, chassisPrice(newval, oldVal) { this.chassisPrice = Math.abs(newval) if (this.chassis == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.chassisPrice = 0 return false } if (this.chassis.costPrice == 0 && this.isInputOpen) { this.chassisCostPrice = this.chassisPrice } this.heji() }, powerPrice(newval, oldVal) { this.powerPrice = Math.abs(newval) if (this.power == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.powerPrice = 0 return false } if (this.power.costPrice == 0 && this.isInputOpen) { this.powerCostPrice = this.powerPrice } this.heji() }, keybordAndMousePrice(newval, oldVal) { this.keybordAndMousePrice = Math.abs(newval) if (this.keybordAndMouse == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.keybordAndMousePrice = 0 return false } if (this.keybordAndMouse.costPrice == 0 && this.isInputOpen) { this.keybordAndMouseCostPrice = this.keybordAndMousePrice } this.heji() }, otherPrice(newval, oldVal) { this.otherPrice = Math.abs(newval) if (this.other == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.otherPrice = 0 return false } if (this.other.costPrice == 0 && this.isInputOpen) { this.otherCostPrice = this.otherPrice } this.heji() }, other1Price(newval, oldVal) { this.other1Price = Math.abs(newval) if (this.other1 == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.other1Price = 0 return false } if (this.other1.costPrice == 0 && this.isInputOpen) { this.other1CostPrice = this.other1Price } this.heji() }, other2Price(newval, oldVal) { this.other2Price = Math.abs(newval) if (this.other2 == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.other2Price = 0 return false } if (this.isInputOpen) { this.other2CostPrice = this.other2Price } this.heji() }, mhdPrice(newval, oldVal) { this.mhdPrice = Math.abs(newval) if (this.mhd == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.mhdPrice = 0 return false } if (this.mhd.costPrice == 0 && this.isInputOpen) { this.mhdCostPrice = this.mhdPrice } this.heji() }, fanPrice(newval, oldVal) { this.fanPrice = Math.abs(newval) if (this.fan == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.fanPrice = 0 return false } if (this.fan.costPrice == 0 && this.isInputOpen) { this.fanCostPrice = this.fanPrice } this.heji() }, //修改成本价格 cpuCostPrice(newval, oldVal) { this.cpuCostPrice = Math.abs(newval) if (this.cpu == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.cpuCostPrice = 0 return false } this.heji() }, heatDissipationCostPrice(newval, oldVal) { this.heatDissipationCostPrice = Math.abs(newval) if (this.heatDissipation == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.heatDissipationCostPrice = 0 return false } this.heji() }, motherboardCostPrice(newval, oldVal) { this.motherboardCostPrice = Math.abs(newval) if (this.motherboard == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.motherboardCostPrice = 0 return false } this.heji() }, memoryCostPrice(newval, oldVal) { this.memoryCostPrice = Math.abs(newval) if (this.memory == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.memoryCostPrice = 0 return false } this.heji() }, solidStateCostPrice(newval, oldVal) { this.solidStateCostPrice = Math.abs(newval) if (this.solidState == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.solidStateCostPrice = 0 return false } this.heji() }, monitorCostPrice(newval, oldVal) { this.monitorCostPrice = Math.abs(newval) if (this.monitor == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.monitorCostPrice = 0 return false } this.heji() }, gpuCostPrice(newval, oldVal) { this.gpuCostPrice = Math.abs(newval) if (this.gpu == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.gpuCostPrice = 0 return false } this.heji() }, chassisCostPrice(newval, oldVal) { this.chassisCostPrice = Math.abs(newval) if (this.chassis == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.chassisCostPrice = 0 return false } this.heji() }, powerCostPrice(newval, oldVal) { this.powerCostPrice = Math.abs(newval) if (this.power == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.powerCostPrice = 0 return false } this.heji() }, keybordAndMouseCostPrice(newval, oldVal) { this.keybordAndMouseCostPrice = Math.abs(newval) if (this.keybordAndMouse == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.keybordAndMouseCostPrice = 0 return false } this.heji() }, otherCostPrice(newval, oldVal) { this.otherCostPrice = Math.abs(newval) if (this.other == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.otherCostPrice = 0 return false } this.heji() }, other1CostPrice(newval, oldVal) { this.other1CostPrice = Math.abs(newval) if (this.other1 == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.other1CostPrice = 0 return false } this.heji() }, other2CostPrice(newval, oldVal) { this.other2CostPrice = Math.abs(newval) if (this.other2 == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.other2CostPrice = 0 return false } this.heji() }, mhdCostPrice(newval, oldVal) { this.mhdCostPrice = Math.abs(newval) if (this.mhd == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.mhdCostPrice = 0 return false } this.heji() }, fanCostPrice(newval, oldVal) { this.fanCostPrice = Math.abs(newval) if (this.fan == \'\' && newval != 0) { tipMsg(\'未选择商品不能修改价格\') this.fanCostPrice = 0 return false } this.heji() }, //下拉框选择 cpu(newval, oldVal) { //console.log(newval) this.cpuWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getGoodsRanking(newval.id, \'cpu\') this.getErpGoods(newval.id, \'cpu\') this.updateImage(newval.id, \'cpu\') this.getFps() } else { this.getGoodsRanking(newval.id ? newval.id : -1, \'cpu\') this.updateImage(0, \'cpu\') this.getErpGoods(newval.id ? newval.id : 0, \'cpu\', false) } }, heatDissipation(newval, oldVal) { this.heatDissipationWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.updateImage(newval.id, \'heatDissipation\') this.getErpGoods(newval.id, \'heatDissipation\') } else { this.updateImage(0, \'heatDissipation\') this.getErpGoods(newval.id ? newval.id : 0, \'heatDissipation\', false) } }, motherboard(newval, oldVal) { this.motherboardWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'motherboard\') this.updateImage(newval.id, \'motherboard\') } else { this.updateImage(0, \'motherboard\') this.getErpGoods(newval.id ? newval.id : 0, \'motherboard\', false) } }, memory(newval, oldVal) { this.memoryWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.updateImage(newval.id, \'memory\') this.getErpGoods(newval.id, \'memory\') } else { this.updateImage(0, \'memory\') this.getErpGoods(newval.id ? newval.id : 0, \'memory\', false) } }, solidState(newval, oldVal) { this.solidStateWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.updateImage(newval.id, \'solidState\') this.getErpGoods(newval.id, \'solidState\') } else { this.updateImage(0, \'solidState\') this.getErpGoods(newval.id ? newval.id : 0, \'solidState\', false) } }, monitor(newval, oldVal) { this.monitorWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'monitor\') this.updateImage(newval.id, \'monitor\') this.getFps() } else { this.updateImage(0, \'monitor\') this.getErpGoods(newval.id ? newval.id : 0, \'monitor\', false) } }, gpu(newval, oldVal) { this.gpuWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getGoodsRanking(newval.id, \'gpu\') this.getErpGoods(newval.id, \'gpu\') this.updateImage(newval.id, \'gpu\') this.getFps() } else { this.getGoodsRanking(newval.id ? newval.id : -1, \'gpu\') this.updateImage(0, \'gpu\') this.getErpGoods(newval.id ? newval.id : 0, \'gpu\', false) } }, chassis(newval, oldVal) { this.chassisWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.updateImage(newval.id, \'chassis\') this.getErpGoods(newval.id, \'chassis\') } else { this.updateImage(0, \'chassis\') this.getErpGoods(newval.id ? newval.id : 0, \'chassis\', false) } }, power(newval, oldVal) { this.powerWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getGoodsRanking(newval.id, \'power\') this.getErpGoods(newval.id, \'power\') this.updateImage(newval.id, \'power\') } else { this.getGoodsRanking(newval.id ? newval.id : -1, \'power\') this.updateImage(0, \'power\') this.getErpGoods(newval.id ? newval.id : 0, \'power\', false) } }, keybordAndMouse(newval, oldVal) { this.keybordAndMouseWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'keybordAndMouse\') this.updateImage(newval.id, \'keybordAndMouse\') } else { this.updateImage(0, \'keybordAndMouse\') this.getErpGoods(newval.id ? newval.id : 0, \'keybordAndMouse\', false) } }, other(newval, oldVal) { this.otherWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'other\') this.updateImage(newval.id, \'other\') } else { this.updateImage(0, \'other\') this.getErpGoods(newval.id ? newval.id : 0, \'other\', false) } }, other1(newval, oldVal) { this.other1Wattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'other1\') this.updateImage(newval.id, \'other1\') } else { this.updateImage(0, \'other1\') this.getErpGoods(newval.id ? newval.id : 0, \'other1\', false) } }, mhd(newval, oldVal) { this.mhdWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'mhd\') this.updateImage(newval.id, \'mhd\') } else { this.updateImage(0, \'mhd\') this.getErpGoods(newval.id ? newval.id : 0, \'mhd\', false) } }, fan(newval, oldVal) { this.fanWattage = newval.wattage ?? 0 this.heji() if (newval.id != undefined && newval.costPrice != 0) { this.getErpGoods(newval.id, \'fan\') this.updateImage(newval.id, \'fan\') } else { this.updateImage(0, \'fan\') this.getErpGoods(newval.id ? newval.id : 0, \'fan\', false) } }, //监听方向 focusDom: { handler(newVal, oldVal) { this.$nextTick(() => { this.$refs[this.categoryLists[newVal].id + \'Ref\'][0].$el.children[1].querySelector(\'input\').focus() if (oldVal != -1 && oldVal != undefined) { this.$refs[this.categoryLists[oldVal].id + \'Ref\'][0].$el.children[1].querySelector(\'input\').blur() } }) }, immediate: false }, //到手价输入框 finallyPricePrev(newVal, oldVal) { this.discount = Number(this.finallyPrice) - Number(newVal) console.log(\'finallyPrice\', newVal) console.log(\'discount\', this.discount) //计算利润 this.calculateProfit() }, //优惠 finallyPrice(newVal, oldVal) { this.finallyPricePrev = Number(newVal) - Number(this.discount) }, orderKeywords(newVal, oldVal) { this.getOrderLists() }, templateId(newVal, oldVal) { if (newVal != \'\' && newVal.id != 0) { this.getTemplate(newVal) } if (newVal.id == 0) { this.reset(false) } }, // userId(newVal, oldVal) { // if (newVal.length > 1) { // this.userId = [newVal[newVal.length - 1]] // } // }, // orderValue(newVal, oldVal) { // if (newVal.length > 1) { // this.orderValue = [newVal[newVal.length - 1]] // } // }, //choose image of category chassisImage(newVal, oldVal) { if (newVal != \'\') { this.getGoodsImage(this.$data[newVal.id]?.id, \'chassis\') } }, memoryImage(newVal, oldVal) { if (newVal != \'\') { this.getGoodsImage(this.$data[newVal.id]?.id, \'memory\') } }, heatDissipationImage(newVal, oldVal) { if (newVal != \'\') { this.getGoodsImage(this.$data[newVal.id]?.id, \'heatDissipation\') } }, gameFirstValue: { handler(newVal, oldVal) { this.gameFirstFps = newVal.fps ?? 0 this.gameFirstRAM = newVal.ram ?? 0 this.gameFirstGPU = newVal.gpu ?? 0 // this.computeFpsPercent() }, deep: true } }, methods: { onChange(query, id) { if (id == \'order\') { this.orderKeywords = query } else if (query != \'\') { //保留搜索后的值 const res = this.searchTitles(query, this.$data[id + \'OptionsPrev\']) let searchOptions = [] if (res.length == 0) { searchOptions = [{ name: \'【\' + this.selectNameArr[id] + \'】\' + query, price: 0, costPrice: 0, wattage: 0 }] } else { searchOptions = res } this.$data[id + \'Options\'] = searchOptions } }, select(select, id) { if (id == \'user\') { } else if (id == \'order\') { this.reset(false) this.getOrderInfo(select.id) this.updateScreenWidth(4) } else { this.$data[id + \'Price\'] = select.price this.$data[id + \'CostPrice\'] = select.costPrice this.$data[id + \'Wattage\'] = select.wattage this.updatePrice(id,select.id) if (select.id == undefined && select.costPrice == 0) { this.getErpGoods(select.id ? select.id : 0, id, true) } } }, numChange(event, type) { if (this.$data[type] == \'\') { this.$data[type + \'Num\'] = 1 tipMsg(\'未选择商品不能修改数量\') return false } this.$data[type + \'Num\'] = Math.abs(event.target.value) this.heji() }, multiselectOpen(id) { this.isOpen = true for (let i = 0; i < this.categoryLists.length; i++) { if (id == this.categoryLists[i].id) { this.focusDom = i } } this.$nextTick(() => { if (id != \'order\' && id != \'user\') { const selectedOptionElement = this.$refs[id + \'Ref\']?.$el?.children[2].querySelector(\'.multiselect__option--selected\')?.parentNode if (selectedOptionElement) { console.log(selectedOptionElement.offsetTop) // selectedOptionElement.scrollIntoView({ behavior: \'smooth\' }) selectedOptionElement.parentNode.parentNode.scrollTop = selectedOptionElement.offsetTop } } }); }, multiselectClose(value, id) { this.isOpen = false }, saveToCache(key, value, expiration = 28800) { const data = { value: value, expiration: expiration ? new Date().getTime() + expiration * 1000 : null }; localStorage.setItem(key, JSON.stringify(data)); }, getFromCache(key) { var data = localStorage.getItem(key); if (data) { var parsedData = JSON.parse(data); var value = parsedData.value; var expiration = parsedData.expiration; var currentTime = new Date().getTime(); if (expiration == null || expiration > currentTime) { let optionOther = [] value.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); return optionOther; } else { localStorage.removeItem(key); // 过期数据删除 } } return null; }, removeSelect(select, id) { this.$data[id] = \'\' this.$data[id + \'Price\'] = 0 this.$data[id + \'CostPrice\'] = 0 this.$data[id + \'Num\'] = 1 this.$data[id + \'Wattage\'] = 0 this.$data[id + \'SkuNum\'] = 0 this.$data[id + \'StockNum\'] = 0 // this.$data[id + \'OrderGoodsId\'] = \'\' if (id == \'heatDissipation\') { this.heatDissipationImg = \'\' } if (id == \'memory\') { this.memoryImg = \'\' } if (id == \'chassis\') { this.chassisImg = \'\' } if (id == \'cpu\') { this.cpuGoodsFraction = \'0\' } if (id == \'gpu\') { this.gpuGoodsFraction = \'0\' } if (id == \'order\') { this.reset() } if (id == \'user\') { this.userId = \'\' return } this.heji() this.sumRanking = (parseInt(this.cpuGoodsFraction.replace(/,/g, \'\')) + parseInt(this.gpuGoodsFraction?this.gpuGoodsFraction.replace(/,/g, \'\'):0)).toLocaleString() this.maxRankingPercent = Math.floor((parseInt(this.cpuGoodsFraction.replace(/,/g, \'\')) + parseInt(this.gpuGoodsFraction?this.gpuGoodsFraction.replace(/,/g, \'\'):0)) / Number(this.maxRanking) * 100) }, heji() { let sumPrice = 0 this.sumPrice = Math.floor(Number(this.cpuNum) * Number(this.cpuPrice) + Number(this.heatDissipationNum) * Number(this.heatDissipationPrice) + Number(this.motherboardNum) * Number(this.motherboardPrice) + Number(this.memoryNum) * Number(this.memoryPrice) + Number(this.solidStateNum) * Number(this.solidStatePrice) + Number(this.monitorNum) * Number(this.monitorPrice) + Number(this.gpuNum) * Number(this.gpuPrice) + Number(this.chassisNum) * Number(this.chassisPrice) + Number(this.powerNum) * Number(this.powerPrice) + Number(this.keybordAndMouseNum) * Number(this.keybordAndMousePrice) + Number(this.otherNum) * Number(this.otherPrice) + Number(this.mhdNum) * Number(this.mhdPrice) + Number(this.fanNum) * Number(this.fanPrice) + Number(this.other1Num) * Number(this.other1Price) + Number(this.other2Num) * Number(this.other2Price)) this.sumCoastPrice = Math.floor(Number(this.cpuNum) * Number(this.cpuCostPrice) + Number(this.heatDissipationNum) * Number(this.heatDissipationCostPrice) + Number(this.motherboardNum) * Number(this.motherboardCostPrice) + Number(this.memoryNum) * Number(this.memoryCostPrice) + Number(this.solidStateNum) * Number(this.solidStateCostPrice) + Number(this.monitorNum) * Number(this.monitorCostPrice) + Number(this.gpuNum) * Number(this.gpuCostPrice) + Number(this.chassisNum) * Number(this.chassisCostPrice) + Number(this.powerNum) * Number(this.powerCostPrice) + Number(this.keybordAndMouseNum) * Number(this.keybordAndMouseCostPrice) + Number(this.otherNum) * Number(this.otherCostPrice) + Number(this.mhdNum) * Number(this.mhdCostPrice) + Number(this.fanNum) * Number(this.fanCostPrice) + Number(this.other1Num) * Number(this.other1CostPrice) + Number(this.other2Num) * Number(this.other2CostPrice)) this.sumWattage = Number(this.cpuNum) * Number(this.cpuWattage) + Number(this.heatDissipationNum) * Number(this.heatDissipationWattage) + Number(this.motherboardNum) * Number(this.motherboardWattage) + Number(this.memoryNum) * Number(this.memoryWattage) + Number(this.solidStateNum) * Number(this.solidStateWattage) + Number(this.monitorNum) * Number(this.monitorWattage) + Number(this.gpuNum) * Number(this.gpuWattage) + Number(this.chassisNum) * Number(this.chassisWattage) + Number(this.powerNum) * Number(this.powerWattage) + Number(this.keybordAndMouseNum) * Number(this.keybordAndMouseWattage) + Number(this.otherNum) * Number(this.otherWattage) + Number(this.mhdNum) * Number(this.mhdWattage) + Number(this.fanNum) * Number(this.fanWattage) + Number(this.other1Num) * Number(this.other1Wattage) //扣点价格 this.pointPrice = Math.floor(Number(this.sumPrice) * Number(this.point)) //this.finallyPricePrev = this.finallyPrice = Math.floor(Number(this.sumPrice) + Number(this.pointPrice)) this.calculateProfit() }, calculateProfit() { //自建商品总价 let selfGoodsSumPrice = 0 selfGoodsSumPrice = Math.floor(Number(this.cpuNum) * (Number(this.cpuCostPrice) == 0 ? Number(this.cpuPrice) : 0) + Number(this.heatDissipationNum) * (Number(this.heatDissipationCostPrice) == 0 ? Number(this.heatDissipationPrice) : 0) + Number(this.motherboardNum) * (Number(this.motherboardCostPrice) == 0 ? Number(this.motherboardPrice) : 0) + Number(this.memoryNum) * (Number(this.memoryCostPrice) == 0 ? Number(this.memoryPrice) : 0) + Number(this.solidStateNum) * (Number(this.solidStateCostPrice) == 0 ? Number(this.solidStatePrice) : 0) + Number(this.monitorNum) * (Number(this.monitorCostPrice) == 0 ? Number(this.monitorPrice) : 0) + Number(this.gpuNum) * (Number(this.gpuCostPrice) == 0 ? Number(this.gpuPrice) : 0) + Number(this.chassisNum) * (Number(this.chassisCostPrice) == 0 ? Number(this.chassisPrice) : 0) + Number(this.powerNum) * (Number(this.powerCostPrice) == 0 ? Number(this.powerPrice) : 0) + Number(this.keybordAndMouseNum) * (Number(this.keybordAndMouseCostPrice) == 0 ? Number(this.keybordAndMousePrice) : 0) + Number(this.otherNum) * (Number(this.otherCostPrice) == 0 ? Number(this.otherPrice) : 0) + Number(this.other1Num) * (Number(this.other1CostPrice) == 0 ? Number(this.other1Price) : 0) + Number(this.other2Num) * (Number(this.other2CostPrice) == 0 ? Number(this.other2Price) : 0) + Number(this.mhdNum) * (Number(this.mhdCostPrice) == 0 ? Number(this.mhdPrice) : 0) + Number(this.fanNum) * (Number(this.fanCostPrice) == 0 ? Number(this.fanPrice) : 0)) //利润 this.profit = Math.floor(Number(this.finallyPricePrev) - Number(this.sumCoastPrice) - Number(selfGoodsSumPrice)) }, searchTitles(searchInput, titles) { // 将搜索条件按空格分割成关键字数组 var keywords = searchInput.toLowerCase().split(\" \"); // 创建一个新的二维数组,用于存储符合条件的title var matchedTitles = []; // 遍历二维数组中的每个元素 for (var i = 0; i < titles.length; i++) { var title = titles[i][\'name\']; // 判断该title是否包含所有关键字 var isMatched = true; for (var j = 0; j < keywords.length; j++) { var keyword = keywords[j]; // 如果关键字为空格,则跳过匹配过程 if (keyword.trim() === \"\") continue; // 判断title中是否包含关键字 if (title.toLowerCase().indexOf(keyword) === -1) { isMatched = false; break; } } // 如果该title符合条件 if (isMatched) { // 高亮匹配的关键字 for (var k = 0; k < keywords.length; k++) { var keyword = keywords[k]; // 如果关键字为空格,则跳过替换过程 if (keyword.trim() === \"\") continue; var regex = new RegExp(`(?<!<[^<>]*)${keyword}(?![^<>]*>)`, \'gi\'); title = title.replace(regex, \'<em>$&</em>\'); } // 创建一个新的对象,将带有高亮关键字的title存入新的二维数组中 var matchedTitle = Object.assign({}, titles[i]); matchedTitle[\'name\'] = title; matchedTitles.push(matchedTitle); } } return matchedTitles; }, initData() { const cpu = this.getFromCache(\'cpu\') if (!cpu) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'cpu\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.cpuOptionsPrev = this.cpuOptions = optionOther this.saveToCache(\'cpu\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.cpuOptionsPrev = this.cpuOptions = cpu } const dissipate_heat = this.getFromCache(\'dissipate_heat\') if (!dissipate_heat) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'dissipate_heat\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, imgSrc: element.img_src, wattage: element.wattage }) }); this.heatDissipationOptionsPrev = this.heatDissipationOptions = optionOther this.saveToCache(\'dissipate_heat\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.heatDissipationOptionsPrev = this.heatDissipationOptions = dissipate_heat } const a_main_board = this.getFromCache(\'a_main_board\') if (!a_main_board) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'a_main_board\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.motherboardOptionsPrev = this.motherboardOptions = optionOther this.saveToCache(\'a_main_board\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.motherboardOptionsPrev = this.motherboardOptions = a_main_board } const memory = this.getFromCache(\'memory\') if (!memory) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'memory\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, imgSrc: element.img_src, wattage: element.wattage }) }); this.memoryOptionsPrev = this.memoryOptions = optionOther this.saveToCache(\'memory\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.memoryOptionsPrev = this.memoryOptions = memory } const ssd = this.getFromCache(\'ssd\') if (!ssd) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'ssd\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.solidStateOptionsPrev = this.solidStateOptions = optionOther this.saveToCache(\'ssd\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.solidStateOptionsPrev = this.solidStateOptions = ssd } const mhd = this.getFromCache(\'mechanical_hard_disk\') if (!mhd) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'mechanical_hard_disk\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.mhdOptionsPrev = this.mhdOptions = optionOther this.saveToCache(\'mechanical_hard_disk\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.mhdOptionsPrev = this.mhdOptions = mhd } const screen = this.getFromCache(\'screen\') if (!screen) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'screen\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.monitorOptionsPrev = this.monitorOptions = optionOther this.saveToCache(\'screen\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.monitorOptionsPrev = this.monitorOptions = screen } const graphics_card = this.getFromCache(\'graphics_card\') if (!graphics_card) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'graphics_card\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.gpuOptionsPrev = this.gpuOptions = optionOther this.saveToCache(\'graphics_card\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.gpuOptionsPrev = this.gpuOptions = graphics_card } const chassis = this.getFromCache(\'chassis\') if (!chassis) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'chassis\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, imgSrc: element.img_src, wattage: element.wattage }) }); this.chassisOptionsPrev = this.chassisOptions = optionOther this.saveToCache(\'chassis\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.chassisOptionsPrev = this.chassisOptions = chassis } const power_supply = this.getFromCache(\'power_supply\') if (!power_supply) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'power_supply\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.powerOptionsPrev = this.powerOptions = optionOther this.saveToCache(\'power_supply\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.powerOptionsPrev = this.powerOptions = power_supply } const fan = this.getFromCache(\'fan\') if (!fan) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'fan\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.fanOptionsPrev = this.fanOptions = optionOther this.saveToCache(\'fan\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.fanOptionsPrev = this.fanOptions = fan } const key_mouse = this.getFromCache(\'key_mouse\') if (!key_mouse) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'key_mouse\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.keybordAndMouseOptionsPrev = this.keybordAndMouseOptions = optionOther this.saveToCache(\'key_mouse\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.keybordAndMouseOptionsPrev = this.keybordAndMouseOptions = key_mouse } const other = this.getFromCache(\'other\') if (!other) { axios.post(\'/home/index/goods_data_json_v2\', { \'type\': \'other\' }) .then(response => { let optionOther = [] response.data.msg.forEach(element => { optionOther.push({ name: element.title, id: element.id, price: element.price, costPrice: element.c_price, wattage: element.wattage }) }); this.other1OptionsPrev = this.other1Options = this.otherOptionsPrev = this.otherOptions = optionOther this.saveToCache(\'other\', response.data.msg) // 处理响应数据 }) .catch(error => { console.error(error); // 处理错误 }); } else { this.other1OptionsPrev = this.other1Options = this.otherOptionsPrev = this.otherOptions = other } }, getGoodsRanking(goods_id, type) { axios.post(\'/home/index/ludashi\', { \'goods_id\': goods_id }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.maxRanking = response.data.data.maxRanking this.$data[type + \'GoodsRanking\'] = response.data.data.goodsRankingRow.goods_ranking ? parseInt(response.data.data.goodsRankingRow.goods_ranking).toLocaleString() : 0 this.$data[type + \'GoodsFraction\'] = response.data.data.goodsRankingRow.goods_fraction ? parseInt(response.data.data.goodsRankingRow.goods_fraction).toLocaleString() : 0 this.sumRanking = (parseInt(this.cpuGoodsFraction == 0 ? 0 : this.cpuGoodsFraction.replace(/,/g, \'\')) + parseInt(this.gpuGoodsFraction == 0 ? 0 : this.gpuGoodsFraction.replace(/,/g, \'\'))).toLocaleString() this.maxRankingPercent = Math.floor((parseInt(this.cpuGoodsFraction == 0 ? 0 : this.cpuGoodsFraction.replace(/,/g, \'\')) + parseInt(this.gpuGoodsFraction == 0 ? 0 : this.gpuGoodsFraction.replace(/,/g, \'\'))) / Number(this.maxRanking) * 100) } }) .catch(error => { //console.log(error); // 处理错误 }); }, startClock() { const timeInterval = setInterval(() => { const now = new Date(); const month = (now.getMonth() + 1).toString().padStart(2, \'0\'); // 月份是从0开始的 const day = now.getDate().toString().padStart(2, \'0\');; const hours = now.getHours(); const minutes = now.getMinutes(); const seconds = now.getSeconds(); // 格式化时间显示 this.clock = `${month}/${day} ${hours.toString().padStart(2, \'0\')}:${minutes.toString().padStart(2, \'0\')}:${seconds.toString().padStart(2, \'0\')}`; this.todayDate = `${month}${day}` }, 1000); }, peiji() { axios.post(\'/home/index/zxpj_czy_zhibo_ajax\', {}) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.bianhao = response.data.data.bianhao response.data.data.user_zxpj_moban.unshift({ id: 0, name: \'取消\' }) this.templateOptions = response.data.data.user_zxpj_moban this.zxpj_illustrate = response.data.data.zxpj_config.zxpj_illustrate // this.point = response.data.data.zxpj_config.zxpj_tax_points this.title = response.data.data.tite.name this.recommendList = response.data.data.list this.categoryLists = response.data.data.template.categoryLists ?? this.categoryLists } }) .catch(error => { console.error(error); // 处理错误 }); }, user_mthx_id(orderId) { axios.post(\'/home/index/user_mthx_id\', { id: orderId }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { let options = [] let selectOptions = [] response.data.msg.forEach(element => { options.push({ name: element.customerName, id: element.customerId }) if (element.selected) { selectOptions = { name: element.customerName, id: element.customerId } } }) this.userOptions = this.userOptionsPrev = options this.userId = selectOptions } }) .catch(error => { console.error(error); // 处理错误 }); }, edit_zxpj_order_list_search() { }, handleInputFocus(e) { this.inptFocusDom = e.target this.isInputOpen = true; }, handleInputBlur(type) { this.inptFocusDom = \'\' this.isInputOpen = false; if (type == \'title\') { this.updateTitle() } }, getErpGoods(id, type, isUpdate = true) { axios.post(\'/home/ScheduledTasks/bh_kl\', { id: id }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { if (isUpdate) { //普通商品 this.$data[type + \'StockNum\'] = response.data.data.stocks this.$data[type + \'SkuNum\'] = response.data.data.mt_goods_sn } else { //自建商品 // //console.log(\'id\',id == 0) // //console.log(\'orderId\',this.orderId == \'\') // //console.log(\'templateId\',this.templateId) // //console.log(type + \'SkuNum\',this.$data[type + \'SkuNum\']) // if(this.orderId == \'\' && this.templateId.id == 0 && id == 0){ // this.$data[type + \'StockNum\'] = response.data.data.stocks // this.$data[type + \'SkuNum\'] = response.data.data.mt_goods_sn // }else if(this.orderId != \'\' && this.templateId == \'\' && id != 0 && (this.$data[type + \'SkuNum\'] == 0 || this.$data[type + \'SkuNum\'] == \'\')){ // this.$data[type + \'StockNum\'] = response.data.data.stocks // this.$data[type + \'SkuNum\'] = response.data.data.mt_goods_sn // }else if(this.orderId != \'\' && this.templateId == \'\' && id == 0 && (this.$data[type + \'SkuNum\'] != 0 || this.$data[type + \'SkuNum\'] == \'\')){ // this.$data[type + \'StockNum\'] = response.data.data.stocks // this.$data[type + \'SkuNum\'] = response.data.data.mt_goods_sn // } // if(this.$data[type + \'SkuNum\'] != 0 || this.$data[type + \'SkuNum\'] != \'\'){ // }else{ // this.$data[type + \'StockNum\'] = response.data.data.stocks // this.$data[type + \'SkuNum\'] = response.data.data.mt_goods_sn // } // if ((this.$data[type + \'SkuNum\'] != 0 || this.$data[type + \'SkuNum\'] != \'\')) { // } } //console.log(\'finallyPriceTmp\', this.finallyPriceTmp) // if (this.orderId != \'\' && this.templateId == \'\' && this.finallyPriceTmp > 0) { //console.log(\'finallyPriceTmp\', this.finallyPriceTmp) // this.finallyPrice = this.finallyPriceTmp // this.finallyPriceTmp = 0 // } } }) .catch(error => { console.error(error); // 处理错误 }); }, getGoodsImage(goodsId, type) { if (goodsId == 0) { this.$data[type + \'Img\'] = \'\' } else { axios.post(\'/home/index/getGoodsThumb\', { goodsId: goodsId }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.$data[type + \'Img\'] = response.data.data } }) .catch(error => { console.error(error); // 处理错误 }); } }, reset(reloadNo = true) { for (let i = 0; i < this.selectDomArr.length; i++) { const reg = new RegExp(\'Ref\') const selectDom = this.selectDomArr[i].replace(reg, \'\'); this.$data[selectDom] = \'\' this.$data[selectDom + \'Price\'] = 0 this.$data[selectDom + \'CostPrice\'] = 0 this.$data[selectDom + \'Num\'] = 1 this.$data[selectDom + \'Wattage\'] = 0 this.$data[selectDom + \'OrderGoodsId\'] = \'\' this.$data[selectDom + \'SkuNum\'] = 0 this.$data[selectDom + \'StockNum\'] = 0 this.$data[selectDom + \'Remark\'] = \'\' } this.other2 = \'\' this.other2Num = 1 this.other2Price = 0 this.other2SkuNum = 0 this.other2CostPrice = 0 this.other2Remark = \'\' this.heji() if (reloadNo) { this.peiji() } this.order = \'\' this.orderValue = \'\' this.discount = 0 // this.finallyPriceTmp = 0 this.templateId = \'\' this.templateBianhao = \'\' this.orderId = \'\' this.nickname = \'\' this.gpuGoodsFraction = \'0\' this.cpuGoodsFraction = \'0\' this.sumRanking = 0 this.chassisImg = \'\' this.memoryImg = \'\' this.heatDissipationImg = \'\' this.userId = \'\' // this.memoryImage = { id: \'memory\', name: \'内存展示\' }, // this.heatDissipationImage = { id: \'heatDissipation\', name: \'散热展示\' } // this.chassisImage = { id: \'chassis\', name: \'机箱展示\' } this.userRemarks = \'\' this.maxRanking = 0 this.maxRankingPercent = 0 this.isInstall = false this.resetFps() this.setParentOrderInfo([]) }, updateData() { localStorage.removeItem(\'other\'); localStorage.removeItem(\'key_mouse\'); localStorage.removeItem(\'power_supply\'); localStorage.removeItem(\'cpu\'); localStorage.removeItem(\'screen\'); localStorage.removeItem(\'chassis\'); localStorage.removeItem(\'dissipate_heat\'); localStorage.removeItem(\'ssd\'); localStorage.removeItem(\'memory\'); localStorage.removeItem(\'a_main_board\'); localStorage.removeItem(\'graphics_card\'); window.location.reload() }, addOrder() { const params = this.getOrderField() let act = \'\' if(!this.addOrderStatus){ return false } this.addOrderStatus = false if ((this.orderId == \'\')) { act = \'zxpj_ajax\' } else { act = \'zxpj_czy_zhibo_edit_ajax\' params.id = params.order = this.orderId } axios.post(\'/home/index/\' + act, params) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { tipMsg(response.data.msg) this.reset() } else { tipMsg(response.data.msg) } this.getOrderLists() this.addOrderStatus = true }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) this.addOrderStatus = true }); }, saveTemplate() { let params = this.getOrderField() // params.bianhao = this.templateBianhao params.id = this.templateOrderId axios.post(\'/home/index/maoban_add_ajax\', params) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { tipMsg(response.data.msg) this.reset() } else { tipMsg(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); }, //整理配机数据 getOrderField() { return { bianhao: this.bianhao, name_bm: this.nickname, moban_id: this.templateId.moban_id,//模版id user_remarks: this.userRemarks, cpu: this.cpu.id ? this.cpu.id : this.cpu.name ?? \'\', //商品ID如果不存在是商品标题 【xxxx】 cpu_shuliang: this.cpuNum, cpu_danjia: this.cpuPrice, cpu_bianhao: this.cpuSkuNum, cpu_kucun: this.cpuStockNum, cpu_cost_price: this.cpuCostPrice, cpu_remark: this.cpuRemark, cpu_heji: Number(this.cpuNum) * Number(this.cpuPrice), dissipate_heat: this.heatDissipation.id ? this.heatDissipation.id : this.heatDissipation.name ?? \'\', sanre_shuliang: this.heatDissipationNum, sanre_danjia: this.heatDissipationPrice, sanre_bianhao: this.heatDissipationSkuNum, sanre_kucun: this.heatDissipationStockNum, sanre_cost_price: this.heatDissipationCostPrice, sanre_remark: this.heatDissipationRemark, sanre_heji: Number(this.heatDissipationNum) * Number(this.heatDissipationPrice), a_main_board: this.motherboard.id ? this.motherboard.id : this.motherboard.name ?? \'\', zhuban_shuliang: this.motherboardNum, zhuban_danjia: this.motherboardPrice, zhuban_bianhao: this.motherboardSkuNum, zhuban_kucun: this.motherboardStockNum, zhuban_cost_price: this.motherboardCostPrice, zhuban_remark: this.motherboardRemark, zhuban_heji: Number(this.motherboardNum) * Number(this.motherboardPrice), memory: this.memory.id ? this.memory.id : this.memory.name, neicun_shuliang: this.memoryNum, neicun_danjia: this.memoryPrice, neicun_bianhao: this.memorySkuNum, neicun_kucun: this.memoryStockNum, neicun_cost_price: this.memoryCostPrice, neicun_remark: this.memoryRemark, neicun_heji: Number(this.memoryNum) * Number(this.memoryPrice), ssd: this.solidState.id ? this.solidState.id : this.solidState.name ?? \'\', gutai_shuliang: this.solidStateNum, gutai_danjia: this.solidStatePrice, gutai_bianhao: this.solidStateSkuNum, gutai_kucun: this.solidStateStockNum, gutai_cost_price: this.solidStateCostPrice, gutai_remark: this.solidStateRemark, gutai_heji: Number(this.solidStateNum) * Number(this.solidStatePrice), mechanical_hard_disk: this.mhd.id ? this.mhd.id : this.mhd.name ?? \'\', jixie_shuliang: this.mhdNum, jixie_danjia: this.mhdPrice, jixie_bianhao: this.mhdSkuNum, jixie_kucun: this.mhdStockNum, jixie_cost_price: this.mhdCostPrice, jixie_remark: this.mhdRemark, jixie_heji: Number(this.mhdNum) * Number(this.mhdPrice), screen: this.monitor.id ? this.monitor.id : this.monitor.name ?? \'\', xianshiqi_shuliang: this.monitorNum, xianshiqi_danjia: this.monitorPrice, xianshiqi_bianhao: this.monitorSkuNum, xianshiqi_kucun: this.monitorStockNum, xianshiqi_cost_price: this.monitorCostPrice, xianshiqi_remark: this.monitorRemark, xianshiqi_heji: Number(this.monitorNum) * Number(this.monitorPrice), graphics_card: this.gpu.id ? this.gpu.id : this.gpu.name, xianka_shuliang: this.gpuNum, xianka_danjia: this.gpuPrice, xianka_bianhao: this.gpuSkuNum, xianka_kucun: this.gpuStockNum, xianka_cost_price: this.gpuCostPrice, xianka_remark: this.gpuRemark, xianka_heji: Number(this.gpuNum) * Number(this.gpuPrice), chassis: this.chassis.id ? this.chassis.id : this.chassis.name, jixiang_shuliang: this.chassisNum, jixiang_danjia: this.chassisPrice, jixiang_bianhao: this.chassisSkuNum, jixiang_kucun: this.chassisStockNum, jixiang_cost_price: this.chassisCostPrice, jixiang_remark: this.chassisRemark, jixiang_heji: Number(this.chassisNum) * Number(this.chassisPrice), power_supply: this.power.id ? this.power.id : this.power.name, dianyuan_shuliang: this.powerNum, dianyuan_danjia: this.powerPrice, dianyuan_bianhao: this.powerSkuNum, dianyuan_kucun: this.powerStockNum, dianyuan_cost_price: this.powerCostPrice, dianyuan_remark: this.powerRemark, dianyuan_heji: Number(this.powerNum) * Number(this.powerPrice), fan: this.fan.id ? this.fan.id : this.fan.name, fengshan_shuliang: this.fanNum, fengshan_danjia: this.fanPrice, fengshan_bianhao: this.fanSkuNum, fengshan_kucun: this.fanStockNum, fengshan_cost_price: this.fanCostPrice, fengshan_remark: this.fanRemark, fengshan_heji: Number(this.fanNum) * Number(this.fanPrice), key_mouse: this.keybordAndMouse.id ? this.keybordAndMouse.id : this.keybordAndMouse.name, jianshu_shuliang: this.keybordAndMouseNum, jianshu_danjia: this.keybordAndMousePrice, jianshu_bianhao: this.keybordAndMouseSkuNum, jianshu_kucun: this.keybordAndMouseStockNum, jianshu_cost_price: this.keybordAndMouseCostPrice, jianshu_remark: this.keybordAndMouseRemark, jianshu_heji: Number(this.keybordAndMouseNum) * Number(this.keybordAndMousePrice), other: this.other.id ? this.other.id : this.other.name, qita_shuliang: this.otherNum, qita_danjia: this.otherPrice, qita_bianhao: this.otherSkuNum, qita_kucun: this.otherStockNum, qita_cost_price: this.otherCostPrice, qita_remark: this.otherRemark, qita_heji: Number(this.otherNum) * Number(this.otherPrice), other1: this.other1.id ? this.other1.id : this.other1.name, qita1_shuliang: this.other1Num, qita1_danjia: this.other1Price, qita1_bianhao: this.other1SkuNum, qita1_kucun: this.other1StockNum, qita1_cost_price: this.other1CostPrice, qita1_remark: this.other1Remark, qita1_heji: Number(this.other1Num) * Number(this.other1Price), // other1: this.other1.id ? this.other1.id : this.other1.name, other2: this.other2, qita2_shuliang: this.other2Num, qita2_danjia: this.other2Price, qita2_bianhao: this.other2SkuNum, qita2_cost_price: this.other2CostPrice, qita2_remark: this.other2Remark, qita2_heji: Number(this.other2Num) * Number(this.other2Price), discount: this.discount,//优惠 total_price2: this.sumPrice, //商品总额 koudian: this.pointPrice, // 扣点 total_price: this.finallyPricePrev, // 实际到手价 total_price3: this.finallyPrice, // 到手价 //id: 订单ID // zxpj_id: 0 订单ID // customerId: ERP ID //修改传ID cpu_id: this.cpuOrderGoodsId, dissipate_heat_id: this.heatDissipationOrderGoodsId, a_main_board_id: this.motherboardOrderGoodsId, memory_id: this.memoryOrderGoodsId, ssd_id: this.solidStateOrderGoodsId, mechanical_hard_disk_id: this.mhdOrderGoodsId, screen_id: this.monitorOrderGoodsId, graphics_card_id: this.gpuOrderGoodsId, chassis_id: this.chassisOrderGoodsId, power_supply_id: this.powerOrderGoodsId, fan_id: this.fanOrderGoodsId, key_mouse_id: this.keybordAndMouseOrderGoodsId, other_id: this.otherOrderGoodsId, other1_id: this.other1OrderGoodsId, other2_id: this.other2OrderGoodsId, jc: \'\', //ERP 简称 customerId: this.userId?.id ?? 0, // order: 修改订单的时候传的订单号 isInstall: this.isInstall == true?1:0 //是否装机 } }, setOrderField(data) { console.log(data) this.discount = Number(data.discount) this.bianhao = data.bianhao this.name_bm = data.moban_id this.nickname = data.name_bm this.userRemarks = data.user_remarks this.templateId = data.templateSelected ?? \'\' if (data.id) { this.orderId = this.order = data.id ?? \'\' } this.templateOrderId = data.templateOrderId ?? \'\' this.recommendOrderId = data.recommendOrderId ?? \'\' this.cpu = { name: data.cpu_name, id: data.cpu, price: data.cpu_danjia, costPrice: data.cpu_goods_price, wattage: data.cpu_wattage ?? 0 } this.cpuNum = data.cpu_shuliang this.cpuPrice = data.cpu_danjia this.cpuCostPrice = data.cpu_cost_price > 0 ? data.cpu_cost_price : data.cpu_goods_price this.cpuRemark = data.cpu_remark this.cpuSkuNum = data.cpu_bianhao ?? \'\' // : this.cpuStockNum,data.cpu_kucun this.heatDissipation = { name: data.sanre_name, id: data.dissipate_heat, price: data.sanre_danjia, costPrice: data.sanre_goods_price, wattage: data.sanre_wattage ?? 0 } this.heatDissipationNum = data.sanre_shuliang this.heatDissipationPrice = data.sanre_danjia this.heatDissipationCostPrice = data.sanre_cost_price > 0 ? data.sanre_cost_price : data.sanre_goods_price this.heatDissipationRemark = data.sanre_remark this.heatDissipationSkuNum = data.sanre_bianhao ?? \'\' // : this.heatDissipationStockNum,data.sanre_kucun this.motherboard = { name: data.zhuban_name, id: data.a_main_board, price: data.zhuban_danjia, costPrice: data.zhuban_goods_price, wattage: data.zhuban_wattage ?? 0 } this.motherboardNum = data.zhuban_shuliang this.motherboardPrice = data.zhuban_danjia this.motherboardCostPrice = data.zhuban_cost_price > 0 ? data.zhuban_cost_price : data.zhuban_goods_price this.motherboardRemark = data.zhuban_remark this.motherboardSkuNum = data.zhuban_bianhao ?? \'\' this.memory = { name: data.neicun_name, id: data.memory, price: data.neicun_danjia, costPrice: data.neicun_goods_price, wattage: data.neicun_wattage ?? 0 } this.memoryNum = data.neicun_shuliang this.memoryPrice = data.neicun_danjia this.memoryCostPrice = data.neicun_cost_price > 0 ? data.neicun_cost_price : data.neicun_goods_price this.memoryRemark = data.neicun_remark this.memorySkuNum = data.neicun_bianhao ?? \'\' this.solidState = { name: data.gutai_name, id: data.ssd, price: data.gutai_danjia, costPrice: data.gutai_goods_price, wattage: data.gutai_wattage ?? 0 } this.solidStateNum = data.gutai_shuliang this.solidStatePrice = data.gutai_danjia this.solidStateCostPrice = data.gutai_cost_price > 0 ? data.gutai_cost_price : data.gutai_goods_price this.solidStateRemark = data.gutai_remark this.solidStateSkuNum = data.gutai_bianhao ?? \'\' this.mhd = { name: data.jixie_name, id: data.mechanical_hard_disk, price: data.jixie_danjia, costPrice: data.jixie_goods_price, wattage: data.jixie_wattage ?? 0 } this.mhdNum = data.jixie_shuliang this.mhdPrice = data.jixie_danjia this.mhdCostPrice = data.jixie_cost_price > 0 ? data.jixie_cost_price : data.jixie_goods_price this.mhdRemark = data.jixie_remark this.mhdSkuNum = data.jixie_bianhao ?? \'\' this.monitor = { name: data.xianshiqi_name, id: data.screen, price: data.xianshiqi_danjia, costPrice: data.xianshiqi_goods_price, wattage: data.xianshiqi_wattage ?? 0 } this.monitorNum = data.xianshiqi_shuliang this.monitorPrice = data.xianshiqi_danjia this.monitorCostPrice = data.xianshiqi_cost_price > 0 ? data.xianshiqi_cost_price : data.xianshiqi_goods_price this.monitorRemark = data.xianshiqi_remark this.monitorSkuNum = data.xianshiqi_bianhao ?? \'\' this.gpu = { name: data.xianka_name, id: data.graphics_card, price: data.xianka_danjia, costPrice: data.xianka_goods_price, wattage: data.xianka_wattage ?? 0 } this.gpuNum = data.xianka_shuliang this.gpuPrice = data.xianka_danjia this.gpuCostPrice = data.xianka_cost_price > 0 ? data.xianka_cost_price : data.xianka_goods_price this.gpuRemark = data.xianka_remark this.gpuSkuNum = data.xianka_bianhao ?? \'\' this.chassis = { name: data.jixiang_name, id: data.chassis, price: data.jixiang_danjia, costPrice: data.jixiang_goods_price, wattage: data.jixiang_wattage ?? 0 } this.chassisNum = data.jixiang_shuliang this.chassisPrice = data.jixiang_danjia this.chassisCostPrice = data.jixiang_cost_price > 0 ? data.jixiang_cost_price : data.jixiang_goods_price this.chassisRemark = data.jixiang_remark this.chassisSkuNum = data.jixiang_bianhao ?? \'\' this.power = { name: data.dianyuan_name, id: data.power_supply, price: data.dianyuan_danjia, costPrice: data.dianyuan_goods_price, wattage: data.dianyuan_wattage ?? 0 } this.powerNum = data.dianyuan_shuliang this.powerPrice = data.dianyuan_danjia this.powerCostPrice = data.dianyuan_cost_price > 0 ? data.dianyuan_cost_price : data.dianyuan_goods_price this.powerRemark = data.dianyuan_remark this.powerSkuNum = data.dianyuan_bianhao ?? \'\' this.fan = { name: data.fengshan_name, id: data.fan, price: data.fengshan_danjia, costPrice: data.fengshan_goods_price, wattage: data.fengshan_wattage ?? 0 } this.fanNum = data.fengshan_shuliang this.fanPrice = data.fengshan_danjia this.fanCostPrice = data.fengshan_cost_price > 0 ? data.fengshan_cost_price : data.fengshan_goods_price this.fanRemark = data.fengshan_remark this.fanSkuNum = data.fengshan_bianhao ?? \'\' this.keybordAndMouse = { name: data.jianshu_name, id: data.key_mouse, price: data.jianshu_danjia, costPrice: data.jianshu_goods_price, wattage: data.jianshu_wattage ?? 0 } this.keybordAndMouseNum = data.jianshu_shuliang this.keybordAndMousePrice = data.jianshu_danjia this.keybordAndMouseCostPrice = data.jianshu_cost_price > 0 ? data.jianshu_cost_price : data.jianshu_goods_price this.keybordAndMouseRemark = data.jianshu_remark this.keybordAndMouseSkuNum = data.jianshu_bianhao ?? \'\' this.other = { name: data.qita_name, id: data.other, price: data.qita_danjia, costPrice: data.qita_goods_price, wattage: data.qita_wattage ?? 0 } this.otherNum = data.qita_shuliang this.otherPrice = data.qita_danjia this.otherCostPrice = data.qita_cost_price > 0 ? data.qita_cost_price : data.qita_goods_price this.otherRemark = data.qita_remark this.otherSkuNum = data.qita_bianhao ?? \'\' this.other1 = { name: data.qita1_name, id: data.other1, price: data.qita1_danjia, costPrice: data.qita1_goods_price, wattage: data.qita1_wattage ?? 0 } this.other1Num = data.qita1_shuliang this.other1Price = data.qita1_danjia this.other1CostPrice = data.qita1_cost_price > 0 ? data.qita1_cost_price : data.qita1_goods_price this.other1Remark = data.qita1_remark this.other1SkuNum = data.qita1_bianhao ?? \'\' this.other2 = data.qita2_name this.other2SkuNum = isNaN(data.qita2_img) ? \'\' : data.qita2_img this.other2Price = data.qita2_danjia this.other2CostPrice = data.qita2_cost_price > 0 ? data.qita2_cost_price : data.qita2_goods_price this.other2Remark = data.qita2_remark this.other2Num = data.qita2_shuliang // this.finallyPriceTmp = data.total_price this.cpuOrderGoodsId = data.cpu_id this.heatDissipationOrderGoodsId = data.dissipate_heat_id this.motherboardOrderGoodsId = data.a_main_board_id this.memoryOrderGoodsId = data.memory_id this.solidStateOrderGoodsId = data.ssd_id this.mhdOrderGoodsId = data.mechanical_hard_disk_id this.monitorOrderGoodsId = data.screen_id this.gpuOrderGoodsId = data.graphics_card_id this.chassisOrderGoodsId = data.chassis_id this.powerOrderGoodsId = data.power_supply_id this.fanOrderGoodsId = data.fan_id this.keybordAndMouseOrderGoodsId = data.key_mouse_id this.otherOrderGoodsId = data.other_id this.other1OrderGoodsId = data.other1_id this.other2OrderGoodsId = data.other2_id // this.other2_id = data.other2_id this.isInstall = data.isInstall == 1?true:false }, //根据ERPID获取订单列表 getOrderLists() { axios.post(\'/home/index/zxpjt_list_all\', { bianhao: this.orderKeywords }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.orderOptions = response.data.msg.map((pro) => ({ name: pro.bianhao, id: pro.id })) //如果编辑订单,讲所要编辑的订单选中 if (this.queryParams.zxpj_id != null && this.queryParams.zxpj_id != \'\') { this.orderOptions.forEach(element => { if (element.id == this.queryParams.zxpj_id) { this.orderValue = element this.getOrderInfo(this.queryParams.zxpj_id) } }) } } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); }, getOrderInfo(orderId) { axios.post(\'/home/index/zxpj_edit_data\', { id: orderId }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.setOrderField(response.data.msg) this.user_mthx_id(orderId) this.updateScreenWidth(4) } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); }, updateOrderPrice() { if (this.orderId != \'\') { axios.post(\'/home/index/zxpj_edit_updata_price\', { id: this.orderId }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.setOrderField(response.data.msg) this.user_mthx_id(this.orderId) } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); } }, getTemplate(obj) { axios.post(\'/home/index/up_price_zxpj_moban\', { moban_id: obj.moban_id }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { axios.post(\'/home/index/moban\', { moban_id: obj.moban_id }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { let = setData = { ...response.data.msg, templateSelected: obj } setData.bianhao = this.bianhao setData.templateOrderId = setData.id delete setData.id if (this.orderId != \'\') { setData.cpu_id = this.cpuOrderGoodsId setData.dissipate_heat_id = this.heatDissipationOrderGoodsId setData.a_main_board_id = this.motherboardOrderGoodsId setData.memory_id = this.memoryOrderGoodsId setData.ssd_id = this.solidStateOrderGoodsId setData.screen_id = this.monitorOrderGoodsId setData.graphics_card_id = this.gpuOrderGoodsId setData.chassis_id = this.chassisOrderGoodsId setData.power_supply_id = this.powerOrderGoodsId setData.key_mouse_id = this.keybordAndMouseOrderGoodsId setData.other_id = this.otherOrderGoodsId setData.other1_id = this.other1OrderGoodsId setData.other2_id = this.other2OrderGoodsId } this.setOrderField(setData) } else { tipMsg(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); } else { tipMsg(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); }, recommend() { this.dialogTableVisible = true }, getRecommend(rec_id) { axios.post(\'/home/index/tuijian\', { tuijian_id: rec_id }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { response.data.msg.bianhao = this.bianhao response.data.msg.recommendOrderId = response.data.msg.id delete response.data.msg.id response.data.msg.name_bm = \'\' this.setOrderField(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 tipMsg(error) }); }, selectRecommend(rec_id) { this.getRecommend(rec_id) this.dialogTableVisible = false }, showImage(type, alertImage = false, showRightImage = false) { if (showRightImage) { type = type + \'Image\' type = this.$data[type]?.id } let goodsId = this.$data[type]?.id if (goodsId) { axios.post(\'/home/index/goods_img_all\', { goods_id: goodsId }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 0) { this.tmpImage = response.data.data.length == 0 ? [\'/static/home/css/mr.png\'] : response.data.data.map((pro) => (pro.filepath)) if (alertImage) { this.privewImage = true } } }) .catch(error => { console.error(error); // 处理错误 }); } }, getQueryParams() { var urlParams = new URLSearchParams(window.location.search); //获取URLSearchParams对象 var paramObj = {}; //声明一个空对象,用于保存参数 if (urlParams) { urlParams.forEach(function (value, key) { paramObj[key] = value; //将键值对存入对象 }); } return paramObj; }, updateImage(goodsId, type) { if (this.chassisImage.id == type) { this.getGoodsImage(goodsId, \'chassis\') } if (this.memoryImage.id == type) { this.getGoodsImage(goodsId, \'memory\') } if (this.heatDissipationImage.id == type) { this.getGoodsImage(goodsId, \'heatDissipation\') } }, setParentOrderInfo(order) { try { window.parent.setOrderInfo(order) } catch (err) { } }, getFps() { if (this.cpu.id && this.gpu.id) { axios.post(\'/home/ScheduledTasks/goods_game_plus_correlation_details\', { cpu_id: this.cpu.id, gpu_id: this.gpu.id, monitor_id: this.monitor.id ?? 0 }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 200) { this.gamesOptions = response.data.data.list.map((pro) => ({ title: pro.cnname, id: pro.details_id, img: pro.cover == \'\' || pro.cover == \'http://hotgame.gamepp.com/GameCover/xxxxxxx.jpg\' ? \'https://hotgame.gamepp.com/GameIcon/404img.png\' : pro.cover, fps: pro.forecast_fps, ram: pro.DRAM_size, gpu: pro.gpu_mem_size })) this.gameFirstValue.fps = this.gameFirstFps = response.data.data.fixed_fps_data[\'yjwj\'].forecast_fps this.csgoFps = response.data.data.fixed_fps_data[\'csgo\'].forecast_fps this.lolFps = response.data.data.fixed_fps_data[\'lol\'].forecast_fps this.cfFps = response.data.data.fixed_fps_data[\'pubg\'].forecast_fps this.gameFirstValue.ram = this.gameFirstRAM = response.data.data.fixed_fps_data[\'yjwj\'].DRAM_size this.csgoRAM = response.data.data.fixed_fps_data[\'csgo\'].DRAM_size this.lolRAM = response.data.data.fixed_fps_data[\'lol\'].DRAM_size this.cfRAM = response.data.data.fixed_fps_data[\'pubg\'].DRAM_size this.gameFirstValue.gpu = this.gameFirstGPU = response.data.data.fixed_fps_data[\'yjwj\'].gpu_mem_size this.csgoGPU = response.data.data.fixed_fps_data[\'csgo\'].gpu_mem_size this.lolGPU = response.data.data.fixed_fps_data[\'lol\'].gpu_mem_size this.cfGPU = response.data.data.fixed_fps_data[\'pubg\'].gpu_mem_size this.computeFpsPercent() } else { this.resetFps() // tipMsg(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 }); } }, gameFirstFpsFormat() { return String(this.gameFirstFps) + \' \' }, csgoFormat() { return String(this.csgoFps) }, lolFormat() { return String(this.lolFps) }, cfFormat() { return String(this.cfFps) }, computeFpsPercent() { const maxFps = [this.csgoFps, this.lolFps, this.cfFps, this.gameFirstFps] this.maxFps = Math.max(...maxFps) this.csgoFpsPercent = Math.ceil((Number(this.csgoFps) / (Number(this.maxFps) + 20) * 100)) this.lolFpsPercent = Math.ceil((Number(this.lolFps) / (Number(this.maxFps) + 20) * 100)) this.cfFpsPercent = Math.ceil((Number(this.cfFps) / (Number(this.maxFps) + 20) * 100)) this.gameFirstFpsPercent = Math.ceil((Number(this.gameFirstFps) / (Number(this.maxFps) + 20) * 100)) }, resetFps() { //游戏FPS this.gamesOptions = [{ title: \'永劫无间\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702059235.png\', fps: 0, ram: 0, gpu: 0 }, { title: \'CSGO\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702077340.png\', fps: 0, ram: 0, gpu: 0 }, { title: \'英雄联盟\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702053034.png\', fps: 0, ram: 0, gpu: 0 }, { title: \'绝地求生\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1712625305735.png\', fps: 0, ram: 0, gpu: 0 }] this.gameFirstValue = { title: \'永劫无间\', img: \'https://ecshop-czmt.oss-cn-hangzhou.aliyuncs.com/data/gallery_album/2/original_img/2_P_1710702059235.png\', fps: 0, ram: 0, gpu: 0 } this.gameFirstFps = 0 this.gameFirstRAM = 0 this.gameFirstGPU = 0 // gameFirstFpsPercent: 0, this.csgoFps = 0 this.csgoRAM = 0 this.csgoGPU = 0 // csgoFpsPercent: 0, this.lolFps = 0 // lolFpsPercent: 0, this.lolRAM = 0 this.lolGPU = 0 this.cfFps = 0 this.cfRAM = 0 this.cfGPU = 0 // cfFpsPercent: 0, // maxFps: 0, }, getDown(e, type) { this.moveBorder = true // this.mask = true if (type == \'moveLudashiStatus\') { this.ludashiPrev = e this.moveLudashiStatus = true } else if (type == \'moveFPSStatus\') { this.FPSPrev = e this.moveFPSStatus = true } }, getUp() { this.moveLudashiStatus = false this.moveFPSStatus = false // this.mask = false }, getMove(e) { if (this.moveLudashiStatus) { this.ludashiTop = e.y - this.ludashiPrev.layerY this.ludashiLeft = e.x - this.ludashiPrev.layerX } else if (this.moveFPSStatus && !this.isOpen) { this.FPSTop = e.y - this.FPSPrev.layerY this.FPSLeft = e.x - this.FPSPrev.layerX } else if (this.chatMoveStatus) { this.chatHight = `${this.chatPostitionPrev.clientHeight + (e.clientY - this.chatPostitionPrev.clientY)}px` } // if (this.moveImageStatus && this.privewImage) { // this.imageTop = `${e.y - this.imageDialogPrev.layerY}px` // this.imageLeft = `${e.x - this.imageDialogPrev.layerX}px` // const dialog = this.$refs.imageDialogRef.$el.querySelector(\'.el-dialog\') // dialog.style.left = `${e.x - this.imageDialogPrev.clientX}px`; // } }, updateScreenWidth(px = 0) { //鲁大师dom操作 const ludashiBoxDom = this.$refs[\'ludashiBox\'].getBoundingClientRect() this.ludashiWidth = ludashiBoxDom.width this.ludashiTop = ludashiBoxDom.top + px this.ludashiLeft = ludashiBoxDom.left //FPS dom操作 const FPSBoxDom = this.$refs[\'FPSBox\'].getBoundingClientRect() this.FPSWidth = FPSBoxDom.width - 6 this.FPSTop = FPSBoxDom.top + px this.FPSLeft = FPSBoxDom.left + 3 }, closeImageDialog() { this.privewImage = false // this.moveImageStatus = false }, handleFocus(event) { // event.stopPropagation(); }, bindSearchFocus() { this.$refs[this.selectDomArr[this.focusDom]].$el.children[1].querySelector(\'input\').focus() }, addSelectedClass(e) { e.$el.parentElement.classList.add(\'selectFocus\') this.isPjFocusStatus = true }, removeSelected(e) { e.$el.parentElement.classList.remove(\'selectFocus\') this.isPjFocusStatus = false }, updateTitle() { axios.post(\'/home/index/updateTitle\', { \'name\': this.title }) .then(response => { // 处理响应数据 if (response.status == 200 && response.data.code == 200) { tipMsg(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 }); }, onDragableStart() { }, onDragableEnd() { this.saveTemplateSetting() }, //保存模版样式 saveTemplateSetting() { // const fpsAndLudashi = { // //鲁大师样式 // // ludashiPrev: this.ludashiPrev, // ludashiWidth: this.ludashiWidth, // ludashiTop: this.ludashiTop, // ludashiLeft: this.ludashiLeft, // //FPS样式 // FPSWidth: this.FPSWidth, // FPSTop: this.FPSTop, // FPSLeft: this.FPSLeft // } const templateInfo = { fpsAndLudashi: {}, categoryLists: this.categoryLists } axios.post(\'/home/index/savePJTemplate\', { templateInfo: templateInfo }) .then(response => { if (response.data.code == 0) { tipMsg(response.data.msg) } }) .catch(error => { console.error(error); // 处理错误 }); }, getMouseDownChat(e) { this.chatPostitionPrev = e this.chatPostitionPrev[\'clientHeight\'] = this.$refs.chatRef.clientHeight this.chatMoveStatus = true // this.$refs.chatIframe.style[\'pointer-events\'] = \'none\' }, getMouseUpChat(e) { this.chatMoveStatus = false this.moveFPSStatus = false this.moveLudashiStatus = false // this.mask = false // this.$refs.chatIframe.style[\'pointer-events\'] = \'auto\' }, sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }, titleEditBlur(type, event) { this.$data[type + \'TitleEditStatus\'] = false this.editTitleInputDom = \'\' this.saveTemplateSetting() }, titleEditFocus(type, event) { this.editTitleInputDom = event.srcElement }, showImageDialog(pic){ this.tmpImage = [pic] this.privewImage = true }, replaceImage(t,e){ console.log(e) console.log(t) }, updatePrice(type,goodsId){ axios.post(\'/home/ScheduledTasks/redupdatePrice\', { id: goodsId }) .then(response => { // 处理响应数据 console.log(response.status == 200 && response.data.code == 0 && this.$data[type + \'Price\'] != response.data.data) if (response.status == 200 && response.data.code == 0 && this.$data[type + \'Price\'] != response.data.data) { this.$data[type + \'Price\'] = response.data.data } }) .catch(error => { console.error(error); // 处理错误 }); }, changeDiscount(e){ if(Number(this.finallyPrice) - Number(e.srcElement.value)>0){ this.finallyPricePrev = Number(this.finallyPrice) - Number(e.srcElement.value) }else{ tipMsg(\'到手价不能小于等于0\') this.discount = 0 } }, }, created() { }, beforeMounted() { }, mounted() { this.updateScreenWidth(5) window.addEventListener(\'resize\', this.updateScreenWidth); window.removeSelectedGlobal = this.removeSelected window.addSelectedClassGlobal = this.addSelectedClass window.showImageDialogGlobal = this.showImageDialog window.replaceImageGlobal = this.replaceImage // this.$nextTick(() => { // console.log(this.$refs.leftRef.clientHeight) // this.leftStyle.height = `${this.$refs.leftRef.clientHeight + 0}px` // this.leftStatus = false // }) this.peiji() this.initData() //初始化数据 this.startClock() //初始化时钟 this.user_mthx_id() this.getOrderLists() this.queryParams = this.getQueryParams() console.log(\'queryParams\',this.queryParams) const that = this window.addEventListener(\'keydown\', function (e) { if (that.isOpen) { return false; } if (e.key == \'Enter\' && !that.isPjFocusStatus) { if (that.isInputOpen) { that.inptFocusDom.blur() } if (that.editTitleInputDom != \'\') { that.editTitleInputDom.blur() } return false; } let num = that.categoryLists.length - 1 if (e.key == \'ArrowUp\') { if (that.focusDom == 0) { that.focusDom = num } else { that.focusDom-- } } else if (e.key == \'ArrowDown\') { if (that.focusDom == num) { that.focusDom = 0 } else { ++that.focusDom } } else if (e.key == \'Backspace\' && !that.isInputOpen) { // console.log(that.$data[that.categoryLists[that.focusDom].id]) // const reg = new RegExp(\'Ref\') const selectDom = that.categoryLists[that.focusDom].id that.$data[selectDom] = \'\' that.removeSelect(\'\', selectDom) } else if (e.key == \'Enter\' && that.isPjFocusStatus) { e.preventDefault(); that.$refs[that.categoryLists[that.focusDom].id + \'Ref\'][0].activate() } else if (e.key != \'Alt\' && e.key != \'Control\' && e.key != \'Tab\' && e.key != \'CapsLock\' && e.key != \'Shift\' && e.key != \'Meta\' && that.isPjFocusStatus) { that.$refs[that.categoryLists[that.focusDom].id + \'Ref\'][0].activate() } }); document.addEventListener(\'contextmenu\', function (event) { if (!that.privewImage) { event.preventDefault(); // 阻止默认的右键菜单弹出 } if (event.srcElement.className == \'layui-col-xs1 xuxian2 table_title\' && event.srcElement.attributes.index.value != \'\') { const name = event.srcElement.attributes.index.value that.$data[name + \'TitleEditStatus\'] = true that.$nextTick(() => { that.$refs[name + \'TitleEditInputRef\']?.[0].focus() }) } if (event.srcElement.className == \'option__title option__title_ellipsis\' && event.srcElement.innerText != \'\') { const oInput = document.createElement(\'input\'); oInput.value = event.srcElement.innerText; document.body.appendChild(oInput); oInput.select(); // 选择对象 document.execCommand(\"Copy\"); oInput.remove() tipMsg(\'商品名称复制成功!\') } }); const inputs = document.querySelectorAll(\'input\'); // 遍历inputs并为每个添加index属性 inputs.forEach((input, index) => { input.setAttribute(\'autocomplete\', \'off\'); }); this.focusDom = 0 }, updated() { this.setParentOrderInfo(this.getOrderField()) } }); </script> <!-- /主体 --> <!-- 底部 --> <!--<div class=\"footer\" style=\"\" >--> <!--<div class=\"footer-bottom\" >--> <!--<div class=\"footer-bottom-box clearfix\">--> <!--<div class=\"l\">--> <!--@2022 明天惠选电子商务有限公司--> <!--<a target=\"_blank\" rel=\"nofollow\" style=\"margin-left: 15px;color:#dad8d5\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo\">苏ICP备16066297号</a><a href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"nofollow\" style=\"margin-left: 15px;color:#dad8d5\">苏ICP备16066297号</a>--> <!--</div>--> <!--<div class=\"r\">明天惠选电子商务有限公司</div>--> <!--</div>--> <!--</div>--> <!--</div>--> <!-- /底部 --> <!-- 脚本 --> <script> const moduleInit = [\'tool\']; function gouguInit() { console.log(\'初始化成功...\'); } </script> <!-- /脚本 --> <!-- /脚本 --> <!-- 统计代码 --> <!-- /统计代码 --> </body> </html> ' , `session_user` = NULL , `login_session_admin` = NULL [ RunTime:0.007391s ]
0.035266s