Author SHA1 Message Date
王晓勇 916b60c951 Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!211
2024-07-25 04:20:59 +00:00
wxyclub 40105ec975 fix: 资料中心打开详情修改 2024-07-25 10:14:01 +08:00
wxyclub 415945c87a fix: 国内外政策添加必填项 2024-07-24 17:17:57 +08:00
wxyclub 56973db005 fix: 代替标准号查询修改 2024-07-24 11:52:54 +08:00
王晓勇 894ba61c35 Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!210
2024-07-19 10:09:44 +00:00
zhoulingpo 3e92dcd50c [修改]政策库修改切换页码数 2024-07-19 14:22:14 +08:00
zhoulingpo f615207959 【修改】企标制修订计划管控合并页面修改 2024-07-19 14:09:09 +08:00
王晓勇 554141efbd Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!209
2024-07-16 09:59:07 +00:00
wxyclub 69c20e52d4 fix: 标准解读解读节点批量编辑修改 2024-07-16 16:00:37 +08:00
wxyclub 0caf687e2d fix: 企业标准库高级搜索查询修改 2024-07-16 16:00:08 +08:00
王晓勇 0b6a92d06c Merge branch 'fix_foton_20240619' into 'master'
fix: 企标计划编辑功能BUG修改

See merge request laws-foton-slrs/foton-laws-system-front!208
2024-07-15 09:58:45 +00:00
wxyclub bd83917049 fix: 企标计划编辑功能BUG修改 2024-07-15 15:11:18 +08:00
王晓勇 b5a04cac8e Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!207
2024-07-10 09:46:15 +00:00
wxyclub ae5bba39fc fix: 标准解读流程在解读节点保存丢失oldNumber字段修改 2024-07-10 14:43:55 +08:00
wxyclub 1115fc3cb0 fix: OCR识别修改获取文件的路径 2024-07-05 17:19:21 +08:00
王晓勇 9d75508568 Merge branch 'fix_foton_20240619' into 'master'
fix: 首页企标动态添加代替标准号和实施时间,国标库和企标库添加被代替标准号

See merge request laws-foton-slrs/foton-laws-system-front!206
2024-07-04 09:49:14 +00:00
wxyclub db5b4ef5a8 fix: 首页企标动态添加代替标准号和实施时间,国标库和企标库添加被代替标准号 2024-07-04 10:00:48 +08:00
王晓勇 65ded67c39 Merge branch 'fix_foton_20240619' into 'master'
fix: 字段最大值改为3000

See merge request laws-foton-slrs/foton-laws-system-front!205
2024-07-02 02:06:29 +00:00
wxyclub e6340c3a77 fix: 字段最大值改为3000 2024-07-02 10:06:06 +08:00
王晓勇 2528a3da0d Merge branch 'fix_foton_20240619' into 'master'
fix: 字段最大值改为3000

See merge request laws-foton-slrs/foton-laws-system-front!204
2024-07-02 01:23:32 +00:00
wxyclub c343677389 fix: 字段最大值改为3000 2024-07-02 09:22:53 +08:00
王晓勇 58439bab67 Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!203
2024-07-01 09:54:19 +00:00
zhoulingpo 228c4553f8 【修改】存储linkUrl 2024-07-01 15:17:06 +08:00
zhoulingpo 588074fb80 【修改】政策文号不必填 名称可跳转 模版上次pdf 2024-07-01 14:41:26 +08:00
zhoulingpo dba65e32a8 [修改]字段最大为3000 2024-07-01 14:37:37 +08:00
wxyclub 51a8354a37 fix: 上标下表样式修改 2024-06-28 15:27:48 +08:00
王晓勇 d94530ddb8 Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!202
2024-06-27 09:50:46 +00:00
wxyclub ef27039e68 Merge remote-tracking branch 'origin/fix_foton_20240619' into fix_foton_20240619 2024-06-27 17:46:16 +08:00
wxyclub 4fa50833f8 fix: 标准解读流程扩容字段长度 2024-06-27 17:46:10 +08:00
baoyu 4954ad3a4f 修改 标准解读流程 批准节点导出功能 2024-06-26 16:29:48 +08:00
王晓勇 df25140067 Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!201
2024-06-25 04:44:25 +00:00
wxyclub 158aa1a8ef fix: 企标制修订-产品标准手机端修改 2024-06-25 11:57:43 +08:00
wxyclub b02d72e674 fix: 企标制修订-技术标准数据无法加载处理 2024-06-24 11:12:51 +08:00
王晓勇 5d542663f9 Merge branch 'fix_foton_20240619' into 'master'
修改 政策法规库->国内外政策,工作中心->政策入库流程 政策要点长度限制

See merge request laws-foton-slrs/foton-laws-system-front!200
2024-06-21 01:32:28 +00:00
baoyu 3ef18705d5 修改 政策法规库->国内外政策,工作中心->政策入库流程 政策要点长度限制 2024-06-21 09:22:07 +08:00
王晓勇 c501d639cf Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!199
2024-06-20 10:06:32 +00:00
wxyclub 359bdcf367 fix: 标准解读流程批准列表显示出错修改 2024-06-20 16:22:46 +08:00
baoyu 4a3e9bd7d0 修改 政策法规库->国内外政策,工作中心->政策入库流程 政策要点长度限制 2024-06-20 15:36:45 +08:00
baoyu 8e4cff1c9b 修改 配置管理 属性配置 -> 标准体系 增加滚动条 2024-06-20 09:44:23 +08:00
王晓勇 94fda50479 Merge branch 'fix_foton_20240619' into 'master'
Fix foton 20240619

See merge request laws-foton-slrs/foton-laws-system-front!198
2024-06-19 10:02:58 +00:00
wxyclub 0a733f63d3 fix: 标准解读流程标准对比修改 2024-06-19 17:39:48 +08:00
wxyclub 2938017ae4 Merge branch 'fix_foton_20240430' into fix_foton_20240619 2024-06-19 15:06:54 +08:00
baoyu a3d01771d6 修改 企标制修订-技术标准 新增计划标准发布时间 2024-06-17 11:48:30 +08:00
baoyu 2060aeb007 修改 企业标准 高级检索状态下点击分页条件会丢失参数 2024-06-17 10:31:28 +08:00
wxyclub a877ffa1b4 Merge branch 'fix_foton_20240430'
# Conflicts:
#	src/pages/processCenter/pages/creatProcess/qbrk/step1-2.vue
#	src/pages/processCenter/pages/creatProcess/qbrk/step1.vue
2024-06-14 18:10:42 +08:00
baoyu f8e3c46439 Merge remote-tracking branch 'origin/fix_foton_20240430' into fix_foton_20240430 2024-06-14 17:02:32 +08:00
baoyu 23d7fc7dcb 修改 移动端 企标制修订-产品标准 涉及提交的节点参数携带人员信息表单 2024-06-14 17:02:23 +08:00
wxyclub f297e0fd46 fix: 标准法规清单选中导出带上清单ID 2024-06-14 14:46:12 +08:00
baoyu 7aac6bbc3c 修改 企标制修订-技术标准 所有节点的过程稿件 历史版本不展示上传文件按钮 2024-06-14 13:48:56 +08:00
王晓勇 eef888a6b6 Merge branch 'fix_foton_20240430' into 'master'
fix: 配置标准查询修改

See merge request laws-foton-slrs/foton-laws-system-front!195
2024-06-14 04:24:42 +00:00
wxyclub 19f8c9bb4a fix: 配置标准查询修改 2024-06-14 10:08:16 +08:00
王晓勇 115f1f8cc7 Merge branch 'fix_foton_20240430' into 'master'
fix: 标准解读流程中的oldNumber使用三元表达式写法取值

See merge request laws-foton-slrs/foton-laws-system-front!194
2024-06-13 09:45:29 +00:00
wxyclub 2c1c1a97e8 fix: 标准解读流程中的oldNumber使用三元表达式写法取值 2024-06-13 17:32:24 +08:00
王晓勇 1a93ddfbd5 Merge branch 'fix_foton_20240430' into 'master'
fix: 标准解读流程中的oldNumber数据丢失修改

See merge request laws-foton-slrs/foton-laws-system-front!193
2024-06-12 09:55:02 +00:00
wxyclub 62c6464d7b fix: 标准解读流程中的oldNumber数据丢失修改 2024-06-12 17:54:21 +08:00
王晓勇 2f8cd98ced Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!192
2024-06-12 04:21:51 +00:00
wxyclub 9ee1e96526 fix: 修改标准解读流程处理条款对比内容新旧数据为数组的情况 2024-06-12 11:25:24 +08:00
baoyu 01c0576569 修改 标准解读流程 2024-06-12 11:07:46 +08:00
baoyu b31a7eb4a3 修改 处理标准征求意见流程 反馈意见 2024-06-12 10:40:39 +08:00
baoyu e9c11c8161 修改 标准解读流程 处理条款对比内容新/旧数据 为数组的情况 2024-06-12 10:13:07 +08:00
王晓勇 564f0d21fc Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!191
2024-06-11 08:43:37 +00:00
baoyu 3391d11b31 修改 国内外政策 编辑 征求意见周期清空后没有清除对应数据 2024-06-11 14:36:17 +08:00
baoyu c8061aa397 修改 标准解读 新/旧标准展示 2024-06-11 14:24:21 +08:00
baoyu b652177523 修改 标准解读 新/旧标准展示 2024-06-11 14:06:10 +08:00
王晓勇 8fe784ce80 Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!190
2024-06-11 04:25:38 +00:00
baoyu cf3997ffaa 修改 标准解读流程 新/旧标准展示错误 2024-06-11 11:29:36 +08:00
baoyu 3386417dd4 Merge remote-tracking branch 'origin/fix_foton_20240430' into fix_foton_20240430 2024-06-11 10:58:49 +08:00
baoyu 0592e17a39 新增 企标制修订-技术标准 新增计划标准初稿完成时 2024-06-11 10:57:06 +08:00
王晓勇 38a6542222 Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!189
2024-06-07 10:52:50 +00:00
wxyclub a0577c96a7 fix: 标准拆分中导入拆分结果中的下拉菜单修改 2024-06-07 18:52:07 +08:00
baoyu 9051500acc 修改 本地工具-标准拆分-导入拆分结果-标准状态 下拉框数据 2024-06-07 18:33:20 +08:00
baoyu 14b19c78cb 修改 本地工具-标准拆分-导入拆分结果-标准状态 下拉框数据 2024-06-07 17:51:47 +08:00
baoyu e39a6551ba Merge remote-tracking branch 'origin/fix_foton_20240430' into fix_foton_20240430 2024-06-07 17:29:22 +08:00
baoyu bf51c2119b 修改 本地工具-标准拆分-导入拆分结果-标准状态 下拉框数据 2024-06-07 17:29:16 +08:00
wxyclub 1b4ad45236 fix: 标准解读流程的解读节点开放批量编辑功能 2024-06-07 15:35:25 +08:00
王晓勇 e62a44291e Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!188
2024-05-29 10:35:46 +00:00
baoyu 4a20d9ccdf 修改 企业标准多选 2024-05-29 18:17:33 +08:00
baoyu c7b88750ea 修改 企业标准多选 2024-05-29 17:55:46 +08:00
王晓勇 5354f82ba9 Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!187
2024-05-28 09:42:12 +00:00
baoyu 7b836df855 修改 企业标准 技术体系树的配置标准/移除标准/移动标准 操作提示语回显 2024-05-28 17:40:26 +08:00
baoyu 8ce15c6554 修改 企业标准 技术体系树的配置标准/移除标准/移动标准 2024-05-28 17:11:26 +08:00
baoyu 36d1a3c230 修改 企标制修订——产品标准 制修订类型为修订时 代替/被代替企标编号 不允许删除 2024-05-24 11:03:45 +08:00
王晓勇 48faff770b Merge branch 'fix_foton_20240430' into 'master'
修改 企标制修订——技术标准 关联信息的属性增加响应式

See merge request laws-foton-slrs/foton-laws-system-front!186
2024-05-23 09:49:34 +00:00
baoyu bec7a97c31 修改 企标制修订——技术标准 关联信息的属性增加响应式 2024-05-23 17:47:58 +08:00
王晓勇 01f2056813 Merge branch 'fix_foton_20240430' into 'master'
修改 企标制修订——产品标准 代替/被代替 企标编号 增加清空功能

See merge request laws-foton-slrs/foton-laws-system-front!185
2024-05-23 09:43:11 +00:00
baoyu fbf1058bff 修改 企标制修订——产品标准 代替/被代替 企标编号 增加清空功能 2024-05-23 17:39:13 +08:00
王晓勇 5f420a172d Merge branch 'test_20240409_for39' into 'master'
标准征求意见流程 意见反馈节点

See merge request laws-foton-slrs/foton-laws-system-front!184
2024-05-22 09:57:29 +00:00
王晓勇 b8a5da09fe Merge branch 'fix_foton_20240430' into 'master'
Fix foton 20240430

See merge request laws-foton-slrs/foton-laws-system-front!183
2024-05-21 09:49:04 +00:00
baoyu 551e2e8863 修改 标准解读流程 部分节点 必填字段提示语改为中文 2024-05-21 15:58:55 +08:00
baoyu 5d0ab605b7 修改 标准解读流程 标准编号/标准名称 跳转至新页面逻辑修改 2024-05-21 15:21:33 +08:00
王晓勇 cd182a5410 Merge branch 'fix_foton_20240430' into 'master'
修改  企标制修订计划管控-计划立项 人员选择 会签、审定人员名称修改

See merge request laws-foton-slrs/foton-laws-system-front!182
2024-05-13 09:51:23 +00:00
baoyu 2dc5d02476 修改 企标制修订计划管控-计划立项 人员选择 会签、审定人员名称修改 2024-05-13 17:14:57 +08:00
baoyu bb4d94b347 修改 政策法规库——问题项管控 事业部、产品规划部 历史记录返回功能调整 2024-05-13 16:16:48 +08:00
baoyu 4f2ee3f622 修改 外部标准化协会入会流程 第二个节点不涉及 不对入会人员进行表单校验 2024-04-30 09:59:15 +08:00
wxyclub da5124b1fd Merge branch 'fix_foton_20240408' into test_20240409_for39 2024-04-29 15:53:36 +08:00
baoyu af39267668 修改 很多问题 2024-04-29 15:49:02 +08:00
wxyclub f3ca72dbb0 Merge branch 'DEV_20240422_LCLS' into test_20240409_for39 2024-04-29 10:12:49 +08:00
wxyclub ae230d0618 Merge remote-tracking branch 'origin-1/dev_20240425_DRSP' into test_20240409_for39
# Conflicts:
#	src/pages/processCenter/pages/creatProcess/qbrk/step1-2.vue
#	src/pages/processCenter/pages/creatProcess/qbrk/step1.vue
2024-04-29 10:12:14 +08:00
wxyclub 27af0d1dd4 Merge remote-tracking branch 'origin/fix_foton_20240408' into test_20240409_for39 2024-04-29 10:09:29 +08:00
baoyu 077fb409bd 修改 参与外部标准制修订信息提报流程 不展示保存按钮 2024-04-29 09:39:23 +08:00
baoyu 56a195c4c0 修改 流程人员选择判空处理 2024-04-29 09:33:29 +08:00
baoyu 95b245891f 修改 外部标准化协会参会流程 人员选择冲突 2024-04-28 18:29:56 +08:00
baoyu 42005547a6 修改 外部署名推荐审批流程 人员选择冲突 2024-04-28 18:25:48 +08:00
baoyu c7fb476895 修改 外部标准化协会参会流程 2024-04-28 18:02:19 +08:00
baoyu 6c49325cec 修改 外部标准化协会入会、参会流程 外部署名推荐审批流程 人员选择 2024-04-28 17:57:42 +08:00
baoyu c32f9efcaa 修改 参与外部标准制修订信息提报流程 下发责任工程师 多选 2024-04-28 17:35:32 +08:00
baoyu bd54940232 修改 外部标准化协会入会流程、外部标准化协会参会流程 人员选择问题 2024-04-28 17:21:39 +08:00
baoyu 0793bc58a1 修改 参与外部标准制修订信息提报流程 未填全信息时阻止提交 2024-04-28 17:20:05 +08:00
baoyu 2351899223 修改 参与外部标准制修订信息提报流程 阻塞流程提交问题 2024-04-28 17:10:36 +08:00
baoyu 9e75134bf1 修改 外部标准化协会参会 入会流程 人员选择多选,修改 2024-04-28 15:59:07 +08:00
baoyu 587636d9a9 修改 外部署名推荐审批流程 署名人领导 单选改为多选 2024-04-28 15:51:19 +08:00
baoyu 547eb78531 修改 外部标准化协会入会流程 起草节点 人员选择组件复用冲突 2024-04-28 15:10:42 +08:00
baoyu 1160bcd2f4 修改 加入标准化协会信息备案流程 未填写展示提示信息和该流程本身存在的问题 2024-04-28 14:34:32 +08:00
baoyu 0dc7a201ac 修改 外部标准化协会参会流程 选择与实际不符 2024-04-28 10:47:01 +08:00
baoyu d96f9b8bd8 修改 外部署名推荐审批流程 未填写推荐署名人及单位时提示并阻止提交 2024-04-28 10:07:56 +08:00
baoyu f6835fc5d0 修改 外部标准化协会入会流程——执行退回操作时要求必须输入反馈意见,但退回后,在上一步中却无法看到退回这一步填写的反馈意见 2024-04-26 16:03:02 +08:00
baoyu 0d609e2e07 修改 企标制修订-技术标准 研究总院主管副院长 单选 改为 多选 2024-04-25 16:15:28 +08:00
baoyu f6b77a20a6 回退修改 企标制修订-技术标准 研究总院主管副院长 单选 改为 多选 2024-04-25 16:10:43 +08:00
baoyu acb7e2ffd9 Merge remote-tracking branch 'origin/fix_foton_20240408' into fix_foton_20240408 2024-04-25 16:07:33 +08:00
baoyu e046cca017 修改 企标制修订-技术标准 研究总院主管副院长 单选 改为 多选 2024-04-25 16:07:25 +08:00
高嵩 28fb4f5867 Merge branch 'fix_foton_20240408' into 'master'
标准征求意见流程 意见反馈节点

See merge request laws-foton-slrs/foton-laws-system-front!181
2024-04-25 01:55:42 +00:00
wxyclub edc3317545 fix: 企标入库流程修订页面增加名称的查重 2024-04-24 09:39:58 +08:00
baoyu 9572f8af84 标准征求意见流程 意见反馈节点
不能正常输入回执说明
2024-04-24 09:38:36 +08:00
王晓勇 a3f5745ae4 Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!180
2024-04-22 09:47:53 +00:00
baoyu ead31acea4 修改 企标制修订-产品标准 制修订类型为修订时不带入修改单 2024-04-22 15:29:43 +08:00
baoyu f2fd24dde2 修改 企业标准文件预览处理 2024-04-22 15:10:48 +08:00
baoyu 565c28f7e7 修改 企业标准文件预览处理 2024-04-22 15:06:19 +08:00
baoyu e883f2840e 标准征求意见流程 意见反馈节点
不能正常输入回执说明
2024-04-22 11:59:06 +08:00
王晓勇 e726fe3026 Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!179
2024-04-19 09:43:08 +00:00
wxyclub 1b5e20362d fix: 企标废止流程批准后的处理修改 2024-04-19 17:41:27 +08:00
baoyu b3c2cfc0ad 修改 国内外标准详情页 标准体系 宽度响应式处理 2024-04-19 10:22:27 +08:00
baoyu f7309b9c61 修改 国内外标准详情页 标准体系 宽度响应式处理 2024-04-19 09:49:18 +08:00
王晓勇 ce1af29cb0 Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!178
2024-04-17 09:40:22 +00:00
baoyu 0eeca475fd 修改 流程 企标制修订——产品标准 制修订类型为修订时不带入发布日期和企标实施日期 2024-04-17 14:35:11 +08:00
baoyu 19bba2f1d7 修改 国内标准详情页 2024-04-17 11:43:43 +08:00
王晓勇 4417e4a3ea Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!177
2024-04-16 09:36:37 +00:00
baoyu 849d0edb7c 修改 标准入库流程修订页面 起草单位与归口化管理部门需要有维护按钮 2024-04-16 16:47:34 +08:00
baoyu c6635b3497 修改 法规清单 带入数据有N/A时不能编辑 2024-04-16 15:05:31 +08:00
baoyu a1f30d6943 修改 特殊处理国内标准详情样式 2024-04-16 14:39:04 +08:00
baoyu 3c97e2fcdd 修改 国内外标准详情样式 2024-04-16 13:18:18 +08:00
baoyu d9461036f8 修改 法规清单发布时间为N/A的一系列问题 2024-04-15 18:40:50 +08:00
王晓勇 4b9caa862b Merge branch 'dev_2024325_LCZGF_39' into 'master'
Dev 2024325 lczgf 39

See merge request laws-foton-slrs/foton-laws-system-front!176
2024-04-15 03:47:08 +00:00
王晓勇 0c206b3535 Merge branch 'fix_foton_20240408' into 'master'
国内标准详情页 过程稿件改为两行显示文件名

See merge request laws-foton-slrs/foton-laws-system-front!175
2024-04-12 09:50:38 +00:00
baoyu d89d607e11 国内标准详情页 过程稿件改为两行显示文件名
配置管理—机构管理—所属部门展示完整
2024-04-12 16:48:42 +08:00
baoyu 605fc21b9f 国内标准详情页 过程稿件改为两行显示文件名 2024-04-12 16:08:29 +08:00
baoyu badc338ff6 Merge remote-tracking branch 'origin/dev_2024325_LCZGF_39' into dev_2024325_LCZGF_39 2024-04-12 14:50:38 +08:00
baoyu e6f4cc1e45 BUG 83424 2024-04-12 14:50:33 +08:00
王晓勇 9e7f8d9f8d Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!174
2024-04-12 06:10:07 +00:00
baoyu 81956c0350 主页 国内标准法规动态 实施时间 2024-04-12 14:04:32 +08:00
wxyclub ad58f63c38 fix: 实施要求 产品类型回显 2024-04-12 13:45:58 +08:00
baoyu 30c90055c9 重点认证标准/政策合规性项目审查流程 实施日期 实施要求 回显 2024-04-12 13:33:04 +08:00
baoyu fc9a71e6df 重点认证标准/政策合规性项目审查流程 实施日期 实施要求 回显 2024-04-12 13:32:16 +08:00
baoyu 4c1b7538f1 重点认证标准/政策合规性项目审查流程 实施日期 实施要求 回显 2024-04-12 13:08:35 +08:00
baoyu 936bbe2bb0 主页 企业标准发布 去掉实施时间、国内/外标准法规动态 新增实施时间列 2024-04-12 11:43:10 +08:00
baoyu 176ae7201d 修改 83424,标准跟踪清单--流程下发后--办理时没有带出模板文件 2024-04-12 10:43:50 +08:00
baoyu f032d790fe 修改 83408,政策征求意见流程--驳回后再次回到管理员节点--编辑页面不回显文件 2024-04-12 09:57:52 +08:00
baoyu dde713b923 修改 83403,流程类型下拉菜单,注释重复的政策征求意见和重点认证标准/政策合规性项目审查流程 2024-04-12 09:34:46 +08:00
baoyu 99c132443c 政策征求意见流程 政策征求意见列表 删除与批量删除 2024-04-12 09:24:36 +08:00
baoyu dcf37b5b60 修改 83409,政策征求意见流程--批准节点的选择抄送人 应该 修改为管理员节点来进行选择 2024-04-12 08:54:14 +08:00
王晓勇 ccc1069a97 Merge branch 'fix_foton_20240408' into 'master'
修改

See merge request laws-foton-slrs/foton-laws-system-front!173
2024-04-11 10:37:33 +00:00
baoyu b23ed5840a 修改 2024-04-11 18:36:01 +08:00
baoyu 7fecb6c750 政策征求意见流程 附件下载 2024-04-11 18:01:06 +08:00
baoyu ce9603c57d 政策征求意见流程 征求意见列表 修改 2024-04-11 17:51:54 +08:00
baoyu 17f23da793 政策征求意见流程 征求意见列表 参数修改 2024-04-11 17:32:13 +08:00
王晓勇 7df2445b5c Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!172
2024-04-11 09:30:20 +00:00
baoyu 917e17ec6c 政策征求意见流程 征求意见列表 接口参数 2024-04-11 16:55:53 +08:00
baoyu b93063a2a2 政策征求意见流程 征求意见列表 接口路径 2024-04-11 16:34:43 +08:00
baoyu 81258e37f2 政策征求意见流程 征求意见列表 增删改查调接口 2024-04-11 16:14:48 +08:00
baoyu 1da2efad55 企标制修订——技术标准流程 起草单位中心主任 改为 标委会主任 2024-04-11 15:28:02 +08:00
baoyu 8bc0a02f14 标准入库流程 起草与修订节点 上传文件限制由8个改为30个 2024-04-11 11:47:51 +08:00
高嵩 4cab392256 Merge branch 'fix_foton_20240408' into 'master'
搜索中心 搜索框不会出现 allValue

See merge request laws-foton-slrs/foton-laws-system-front!171
2024-04-11 01:52:35 +00:00
baoyu 231d029111 搜索中心 搜索框不会出现 allValue 2024-04-11 09:23:51 +08:00
baoyu 1fa8a72472 修改 83427,步骤3.勾选点击编辑,发现步骤2维护的产品类型和实施要求,会有一秒闪编码还是啥?一秒之后就回显正常了,反正还挺明显的 2024-04-11 09:14:29 +08:00
高嵩 2f1f814808 Merge branch 'fix_foton_20240408' into 'master'
Fix foton 20240408

See merge request laws-foton-slrs/foton-laws-system-front!170
2024-04-10 10:05:22 +00:00
baoyu 2a62c72898 首页 企业标准发布 新增 实施时间 2024-04-10 17:36:23 +08:00
baoyu 4d22be70f5 BUG 83392,内外部会议--新增/编辑页面--会议议题的移动没把议题材料带过去 2024-04-10 17:07:34 +08:00
baoyu d002bc085a 修改 83392,内外部会议--新增/编辑页面--会议议题的移动没把议题材料带过去 2024-04-10 15:52:28 +08:00
baoyu a944584098 BUG 83405,标准跟踪清单--流程下发--提示语是空的 2024-04-10 14:24:50 +08:00
baoyu 5ba01fb10b 修改 83399,国内外政策-入库--选择政策体系页面的样式建议调整并增加搜索功能 2024-04-10 14:16:06 +08:00
baoyu 535d0c6d2e 修改 83397,国内外政策-重点认证项目审查流程,标准状态建议改成:标准/政策状态 2024-04-10 11:51:24 +08:00
baoyu ac680dca2c 修改 83394,国内外政策-入库和编辑页面--月报信息位数判断不对 2024-04-10 11:44:05 +08:00
baoyu 9f5fa02e72 修改 83419,标准跟踪清单--新增&编辑--人员信息--抄送人可以选择多个 2024-04-10 11:22:44 +08:00
baoyu 41d4c1482b 修改 83406,标准跟踪清单--流程下发后--不允许删除 2024-04-10 11:01:45 +08:00
baoyu 52c8386b34 修改 标准征求意见流程 意见反馈 回执说明为必填项 2024-04-10 09:42:49 +08:00
baoyu 39b5b303e3 修改 83404,标准跟踪清单--新增--手动查找--输入查询条件不起作用 2024-04-09 19:27:23 +08:00
baoyu 15c10c5a95 修改 83391,内外部会议--新增/编辑页面--会议议题的上下移动按钮样式建议调整 2024-04-09 19:02:43 +08:00
baoyu 220ec28b8a 修改 83400,内外部会议--导出--提示字显示不全 2024-04-09 18:38:44 +08:00
baoyu d606727148 修改 83411,标准跟踪清单--模板下载按钮重复--需要去掉外层的 2024-04-09 18:25:01 +08:00
baoyu 7d21da6cfc 修改 83405,标准跟踪清单--流程下发--提示语是空的 2024-04-09 18:04:56 +08:00
baoyu c3b48951cb 修改 83397,国内外政策-重点认证项目审查流程,标准状态建议改成:标准/政策状态 2024-04-09 17:50:28 +08:00
baoyu 9dc68af97b 修改 83401,政策征求意见流程--责任单位意见反馈截止时间的提示语没有改 2024-04-09 17:11:21 +08:00
baoyu ae92767bff 修改 83389,国内外政策-入库和编辑页面--备注的三个字段顺序不对 2024-04-09 16:47:39 +08:00
baoyu b97fdb7746 修改 83387,国内外政策-入库页面--参考消息的位置不对 2024-04-09 16:11:40 +08:00
baoyu 85e887d741 修改 83386,国内外政策-选择政策体系页面-不应该显示我的收藏 2024-04-09 15:56:10 +08:00
baoyu 9e35c9734a 修改 标准征求意见流程-意见反馈 回执说明改为必填项 2024-04-09 14:53:40 +08:00
wxyclub 6c5bb8fc9d fix: 权限主键修改 2024-04-09 14:47:16 +08:00
baoyu a8709c784a 修改 进入搜索中心,搜索框内存在allvalue 2024-04-09 14:27:49 +08:00
wxyclub 7d62b154bc fix: 权限主键冲突修改 2024-04-08 17:46:00 +08:00
高嵩 a947297eb1 Merge branch 'dev_20240123_ZHENGCE' into 'dev_2024325_LCZGF_39'
Dev 20240123 zhengce

See merge request laws-foton-slrs/foton-laws-system-front!169
2024-04-08 06:55:42 +00:00
高嵩 e7a19a007e Merge branch 'dev_2024325_LCZGF_39' into 'master'
标准/译文获取申请管理 主页

See merge request laws-foton-slrs/foton-laws-system-front!168
2024-04-08 06:53:40 +00:00
baoyu a07d36cc1a 修改 回显数据存在form的情况 2024-04-07 15:46:22 +08:00
baoyu 0d6815c6fa Merge remote-tracking branch 'origin/dev_2024325_LCZGF_39' into dev_2024325_LCZGF_39 2024-04-07 14:21:32 +08:00
baoyu 769723ebdc 修改 回显数据存在form的情况 2024-04-07 14:21:24 +08:00
wxyclub d39f1a8965 fix: 标准拆分完的数据编辑后刷新目录 2024-04-03 17:16:04 +08:00
wxyclub 162cd5ada1 Merge branch 'dev_2024325_BZSQ' into dev_2024325_LCZGF_39 2024-04-02 17:46:29 +08:00
范强强 7eb89d9d7a 修改 企标制修订-技术标准 2024-04-02 09:25:07 +08:00
baoyu 05fd0fe6c4 标准/译文申请 2024-04-01 16:49:39 +08:00
baoyu ebf13c861b 标准/译文申请 2024-04-01 11:47:03 +08:00
baoyu 370082809e 标准/译文申请 管理员和本人可以删除 待办标记数 2024-04-01 11:28:23 +08:00
wxyclub 255cd8fa50 bug: 用于兼容旧数据的日期修改 2024-04-01 09:15:52 +08:00
高嵩 420a9fd23d Merge branch 'dev_2024325_BZSQ' into 'dev_2024325_LCZGF_39'
标准/译文获取申请管理 主页

See merge request laws-foton-slrs/foton-laws-system-front!167
2024-03-31 03:00:28 +00:00
高嵩 b434615840 Merge branch 'master' into 'dev_2024325_LCZGF_39'
Master

See merge request laws-foton-slrs/foton-laws-system-front!166
2024-03-31 02:59:58 +00:00
baoyu e4161f9192 标准/译文申请 删除仅能发起人删除自己的数据 2024-03-30 00:00:29 +08:00
baoyu 43591631cf 标准/译文申请 问题修改 2024-03-29 19:21:25 +08:00
baoyu df15f88de4 标准/译文申请 问题修改 2024-03-29 18:16:47 +08:00
baoyu 5184a9e363 标准/译文申请 问题修改 2024-03-29 17:59:49 +08:00
baoyu 0511d130cc 标准/译文申请 问题修改 2024-03-29 17:58:57 +08:00
高嵩 314ceb3328 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!165
2024-03-29 09:53:59 +00:00
wxyclub b4ec5ea397 fix: 标准征求意见流程,结束日期不能选择当前日期前的日期 2024-03-29 17:46:13 +08:00
baoyu 567c0842c4 标准/译文申请 问题修改 2024-03-29 17:43:27 +08:00
baoyu d929cd5f05 Merge remote-tracking branch 'origin/dev_2024325_BZSQ' into dev_2024325_BZSQ 2024-03-29 17:22:45 +08:00
baoyu 8c2ce87af6 标准/译文申请 申请单位改为组织机构 2024-03-29 17:22:40 +08:00
范强强 7103cdfaaf 角色配置--首页应该是默认勾选且置灰的状态 2024-03-29 17:15:31 +08:00
范强强 9d7bb1bc95 角色配置--首页应该是默认勾选且置灰的状态 2024-03-29 17:15:08 +08:00
baoyu 61a2addc47 标准/译文申请 问题修改 2024-03-29 16:54:07 +08:00
baoyu f69c0d6d5b 标准/译文申请 原语言 目标语言列宽缩短 2024-03-29 16:33:52 +08:00
wxyclub 3948ae0883 fix: 企标制修订产品标准提交时在表单中添加流程编号 2024-03-29 16:20:47 +08:00
baoyu 9a0b337523 标准/译文申请 问题修改 2024-03-29 16:19:56 +08:00
baoyu 2cf46debba 标准/译文申请 问题修改 2024-03-29 16:16:03 +08:00
baoyu d07558025d 标准/译文申请 问题修改 2024-03-29 16:05:57 +08:00
wxyclub 8d473b0c76 fix: 企标详情页的评分计算修改 2024-03-29 15:51:50 +08:00
baoyu d2ed473487 标准/译文申请 问题修改 2024-03-29 15:48:55 +08:00
baoyu 1c54eb0408 标准/译文申请 问题修改 2024-03-29 15:36:38 +08:00
baoyu 161b412825 标准/译文申请 问题修改 2024-03-29 15:29:42 +08:00
baoyu 003dc16adf 标准/译文申请 分页 2024-03-29 15:22:43 +08:00
baoyu 469cbaf0bb 标准/译文申请,点击取消按钮刷新列表 2024-03-29 15:16:42 +08:00
baoyu aef1ed353f 标准/译文申请 回显 2024-03-29 15:03:11 +08:00
baoyu 8fa7c72ccd 标准/译文申请 回显 2024-03-29 14:59:36 +08:00
baoyu ec72a4ce24 标准/译文申请 新增弹框标题 2024-03-29 14:55:31 +08:00
baoyu f8423f944a 标准/译文申请 重新提交 2024-03-29 14:43:26 +08:00
baoyu 65cc58992a 标准/译文申请 待办标记更新/回显 2024-03-29 14:34:22 +08:00
baoyu 49c9c8e4e0 标准/译文申请 人员选择BUG 2024-03-29 13:46:11 +08:00
baoyu 14127feb4f 标准/译文申请 回显/批量操作 2024-03-29 13:23:50 +08:00
baoyu 34a8b45e10 标准/译文申请 权限配置 2024-03-29 12:49:36 +08:00
baoyu 5d34e98d6b Merge remote-tracking branch 'origin/dev_2024325_BZSQ' into dev_2024325_BZSQ 2024-03-29 12:46:08 +08:00
baoyu dc39e28214 标准/译文申请 权限配置 2024-03-29 12:45:11 +08:00
高嵩 ba87035e0a Merge branch 'dev_2024325_LCZGF_39' into 'dev_2024325_BZSQ'
Dev 2024325 lczgf 39

See merge request laws-foton-slrs/foton-laws-system-front!164
2024-03-29 04:26:16 +00:00
baoyu 272008a9bb 标准/译文申请 行级撤回 重新提交 2024-03-29 12:05:18 +08:00
baoyu c21f3c8733 标准/译文申请 待办标记 2024-03-29 11:43:26 +08:00
baoyu 700ba895d3 标准/译文申请 查看 2024-03-29 11:26:14 +08:00
baoyu bcc20af255 标准/译文获取申请 搜索条件 2024-03-29 10:50:59 +08:00
baoyu 20cfd0b7a4 标准/译文获取申请 编辑 2024-03-29 10:35:03 +08:00
baoyu bd3efe07d5 标准/译文获取申请 驳回原因 2024-03-29 10:16:03 +08:00
baoyu 4b8992cccb Merge remote-tracking branch 'origin/dev_2024325_BZSQ' into dev_2024325_BZSQ 2024-03-29 10:13:06 +08:00
baoyu fed97d2c91 标准/译文获取申请 回显字段 2024-03-29 10:12:59 +08:00
范强强 9ec0d610b1 对接标准/译文获取申请 2024-03-29 09:42:28 +08:00
baoyu 417b490039 标准/译文获取申请 更换字段 2024-03-28 18:34:45 +08:00
baoyu f380a6bf4e 标准/译文获取申请 导出 2024-03-28 18:26:00 +08:00
baoyu 0be61e3b97 标准/译文获取申请 导出 2024-03-28 17:34:38 +08:00
baoyu e8e5bbb1eb 标准/译文获取申请 新增/编辑 标准类别下拉框 2024-03-28 16:53:11 +08:00
baoyu 06dbb11e41 标准/译文获取申请 导入提示语 2024-03-28 16:47:43 +08:00
baoyu e231e8eed3 标准/译文获取申请 标准类型/标准编号联动 2024-03-28 16:16:22 +08:00
baoyu 82ec704aa0 标准/译文获取申请 标准类型/标准编号联动 主页标准编号回显 2024-03-28 15:31:45 +08:00
baoyu 55798724e6 标准/译文获取申请 导入,请求头信息 2024-03-28 14:52:12 +08:00
baoyu 9a949308a2 标准/译文获取申请 导入/状态回显 2024-03-28 14:48:25 +08:00
baoyu eefdb524bc 标准/译文获取申请 查看 2024-03-28 14:09:57 +08:00
范强强 508e38976e 对接标准/译文获取申请 2024-03-28 11:21:59 +08:00
范强强 3d261fe269 对接标准/译文获取申请 2024-03-28 10:58:41 +08:00
baoyu cbd7392931 标准/译文获取申请管理 完善页面逻辑 2024-03-27 19:35:57 +08:00
baoyu f7ec289695 标准/译文获取申请管理 对话框批量删除/删除 2024-03-27 19:09:20 +08:00
baoyu d361662e3f 标准/译文获取申请管理 主页
标准/译文获取申请管理 新增导出 文件名确认对话框
2024-03-27 18:40:55 +08:00
baoyu e312540f26 标准/译文获取申请管理 模态框加载提示 2024-03-27 13:53:52 +08:00
baoyu 46594b8ab8 标准/译文获取申请管理 理由输入框禁止换行 2024-03-27 13:47:53 +08:00
baoyu b70f846664 标准/译文获取申请管理 样式调整 2024-03-27 12:02:03 +08:00
wxyclub 89d2f2b4c7 fix: 除历史文件外开放下载权限 2024-03-27 11:18:54 +08:00
baoyu ce2bc356ca 标准/译文获取申请管理 表单输入内容长度限制 2024-03-27 10:44:58 +08:00
baoyu f11c25f48c 回退提交 APP.vue 2024-03-27 10:26:57 +08:00
baoyu 48dcf7fa55 标准/译文获取申请管理 新增查看页面 2024-03-27 10:24:19 +08:00
baoyu 1bd438a4bc 标准及译文获取申请需求确认单 基础样式 2024-03-27 09:54:09 +08:00
范强强 cdde7fe1f9 修改企标制修订-技术标准的历史版本 2024-03-26 18:14:01 +08:00
wangzhijiang 8246ab9751 update 2024-03-26 17:29:13 +08:00
范强强 5688aee930 修改企标制修订-技术标准的历史版本 2024-03-26 14:38:08 +08:00
范强强 7ce6fabb27 修改企标制修订-技术标准的历史版本 2024-03-26 13:58:54 +08:00
范强强 e6736363e8 修改企标制修订-技术标准的历史版本 2024-03-26 11:51:33 +08:00
高嵩 d2e973d769 Merge branch 'master' into 'dev_2024325_LCZGF_39'
修改企标制修订-技术标准的下载按钮

See merge request laws-foton-slrs/foton-laws-system-front!163
2024-03-26 02:12:37 +00:00
范强强 5c6853166d 修改企标制修订-技术标准的下载按钮 2024-03-26 09:57:42 +08:00
范强强 de66567094 修改标准征求意见流程审批历史 2024-03-25 18:07:08 +08:00
范强强 d4dbe598d9 修改标准征求意见流程审批历史 2024-03-25 18:05:53 +08:00
范强强 7497bfb3c8 修改标准征求意见流程审批历史 2024-03-25 17:51:06 +08:00
范强强 5adf282552 修改标准征求意见流程审批历史 2024-03-25 10:04:05 +08:00
高嵩 3c0016c9ae Merge branch 'dev_20240123_LCZG' into 'dev_2024325_LCZGF_39'
Dev 20240123 lczg

See merge request laws-foton-slrs/foton-laws-system-front!162
2024-03-25 02:01:00 +00:00
高嵩 a6ea2726bb Merge branch 'fix_20240123_UAT' into 'master'
bug: 标准解读流程,页面无法加载问题

See merge request laws-foton-slrs/foton-laws-system-front!161
2024-03-15 09:37:20 +00:00
wxyclub 2a8c9930b9 bug: 标准解读流程,页面无法加载问题 2024-03-15 14:32:46 +08:00
高嵩 4298a7b958 Merge branch 'fix_20240123_UAT' into 'master'
bug: 企标制修订修改征求意见人员选择标识

See merge request laws-foton-slrs/foton-laws-system-front!160
2024-03-11 09:36:07 +00:00
wxyclub 5b34038655 bug: 企标制修订修改征求意见人员选择标识 2024-03-08 12:43:54 +08:00
高嵩 4d19d4d893 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!159
2024-03-08 03:44:05 +00:00
wxyclub 0dcd8a1d58 Merge remote-tracking branch 'origin-1/fix_20240123_UAT' into fix_20240123_UAT 2024-03-08 11:42:12 +08:00
wxyclub 472ffdd00e bug: 企标制修订修改征求意见人员选择标识 2024-03-08 11:42:05 +08:00
高嵩 bdadd6c55c Merge branch 'fix_20240123_UAT' into 'master'
fix: 技术标准-关联模块鼠标悬浮

See merge request laws-foton-slrs/foton-laws-system-front!158
2024-02-27 09:50:27 +00:00
zyn 7aaf77e544 fix: 技术标准-关联模块鼠标悬浮 2024-02-27 10:32:59 +08:00
范强强 976aff0b50 修改标准征求意见流程审批历史 2024-02-07 10:29:14 +08:00
高嵩 cd13a1f4bd Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!157
2024-02-05 09:35:54 +00:00
zyn 96e8f711e0 feature(重点认证标准/政策合规性项目审查流程): 责任单位意见反馈截止时间 2024-02-05 13:39:51 +08:00
范强强 a08a845a23 修改标准征求意见流程审批历史 2024-02-05 10:03:21 +08:00
zyn 3207415b53 feature(资料中心): 打开新页签跳转详情 2024-02-04 16:01:23 +08:00
zyn b3df9c6b60 style: 2024-02-04 15:22:30 +08:00
高嵩 f237840248 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!156
2024-02-01 09:53:40 +00:00
zyn e81f375453 perf(标准法规清单): 列表修改 2024-02-01 10:57:06 +08:00
zyn eea914c3f4 fix: 预览修改 2024-02-01 10:15:46 +08:00
zyn 87018471c0 fix: 预览修改 2024-02-01 09:58:16 +08:00
zyn e63d476ce7 fix(标准跟踪清单): 导入后关闭弹窗,文件未清空 2024-02-01 09:46:22 +08:00
高嵩 fe64891043 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!155
2024-01-31 09:40:21 +00:00
zyn b0555d0097 feature(标准跟踪清单): 按钮权限 2024-01-31 16:12:02 +08:00
zyn 5c70d779a2 perf(手机端): 预览 2024-01-31 15:52:41 +08:00
zyn 72c5d1a6ca Merge remote-tracking branch 'origin/dev_20240123_ZHENGCE' into dev_20240123_ZHENGCE
# Conflicts:
#	src/pages/processCenter/pages/creatProcess/policyConsultation/index.vue
2024-01-31 15:14:36 +08:00
zyn adcdd1727c perf(政策征求意见流程): 字段调整 2024-01-31 15:11:45 +08:00
zyn f3fc33c208 style: 格式化 2024-01-31 14:32:36 +08:00
zyn 1d1c07a4fa style: 格式化 2024-01-31 13:54:28 +08:00
zyn 9862b51571 feature(标准跟踪清单): 查询框添加查看功能 2024-01-31 13:52:11 +08:00
zyn 3e679e64b8 feature: 标准跟踪清单-修改 2024-01-31 11:37:25 +08:00
zyn 9d8f3f9451 perf: 重点认证标准/政策合规性项目审查流程修改 2024-01-31 11:36:55 +08:00
范强强 5b069a66a7 修改标准征求意见流程审批历史 2024-01-31 10:35:33 +08:00
zyn f7dd94511d style: 格式化 2024-01-31 10:00:51 +08:00
zyn 0522c15cbf fix(手机端): 标准化动态-实施日期修改 2024-01-31 09:38:43 +08:00
高嵩 dfbb2e5c92 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!154
2024-01-30 10:00:37 +00:00
zyn f91978bba5 feature(标准跟踪清单): 导入修改 2024-01-30 17:56:30 +08:00
zyn cb56c58999 feature(标准跟踪清单): 详情 2024-01-30 17:56:13 +08:00
zyn c65caf247d feature(标准跟踪清单): 修改导入 2024-01-30 17:11:56 +08:00
zyn 134a3fb684 feature(标准跟踪清单): 流程下发 2024-01-30 14:56:10 +08:00
范强强 f859f380bc 修改流程详情 2024-01-30 14:21:01 +08:00
zyn ebe7df84d5 feature: 标准跟踪清单 2024-01-30 13:38:54 +08:00
范强强 550817b67e 修改流程详情 2024-01-30 11:03:23 +08:00
范强强 9129144350 修改流程详情 2024-01-30 10:54:04 +08:00
范强强 9806c46e04 修改流程详情 2024-01-30 10:48:50 +08:00
zyn e478ecc06d perf(企标详情): 0分时不显示分数 2024-01-30 10:23:23 +08:00
zyn 512cbc311a perf(搜索中心): 去掉滑动效果 2024-01-30 10:22:07 +08:00
高嵩 13e3fc4c03 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!153
2024-01-29 09:41:33 +00:00
zyn 0fff368258 feature: 标准跟踪清单-重构 2024-01-29 17:33:22 +08:00
范强强 ab224f7bca 修改流程详情 2024-01-29 16:42:47 +08:00
zyn aa0029f001 fix(标准合规评估流程): 导入校验 2024-01-29 14:37:34 +08:00
范强强 7fc732afb3 修改流程详情 2024-01-29 14:07:33 +08:00
zyn f998a1b66c fix(产品标准): 修改企标号问题 2024-01-29 10:58:13 +08:00
高嵩 f7105b6a6e Merge branch 'fix_20240123_UAT' into 'master'
fix:

See merge request laws-foton-slrs/foton-laws-system-front!152
2024-01-26 09:58:19 +00:00
gaosong 3e059ee6bb fix: 2024-01-26 10:52:26 +08:00
高嵩 2fb668310b Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!151
2024-01-25 06:07:49 +00:00
zyn 9424197fc4 feature(政策入库流程): 添加政策体系字段 2024-01-25 11:41:05 +08:00
zyn c5a9a573e4 fix(产品标准): 人员信息多选 2024-01-25 09:20:42 +08:00
zyn af65d8ca34 build: 配置文件修改 2024-01-25 09:16:35 +08:00
高嵩 4172ad2664 Merge branch 'fix_20240123_UAT' into 'master'
Fix 20240123 uat

See merge request laws-foton-slrs/foton-laws-system-front!150
2024-01-24 09:56:01 +00:00
zyn f541cbce00 perf(标准入库流程、技术标准发布): 文件可更名 2024-01-24 17:44:13 +08:00
zyn 0638dcd5c1 style: 格式化 2024-01-24 17:22:18 +08:00
zyn 015a63a48b feature: 上传文件组件添加更名功能 2024-01-24 15:41:26 +08:00
zyn d0759c1351 fix: 修改 2024-01-24 11:43:58 +08:00
zyn 6aa4c88f65 fix(技术标准): vpps字段修改 2024-01-24 11:25:11 +08:00
zyn 3c34628cb7 style: eslint格式化 2024-01-24 11:04:25 +08:00
zyn f275e3af85 feature(国内外政策): 基础信息添加字段 2024-01-24 10:44:07 +08:00
zyn e97c9deb0a feature(国内外政策): “标准状态”修改为“政策状态”,“信息简报”修改为“信息月报” 2024-01-23 17:02:13 +08:00
zyn 6c47603021 style: 格式化代码 2024-01-23 16:58:56 +08:00
zyn ec7a3bc4ea feature(内外部会议流程): 会议议题顺序 2024-01-23 16:06:39 +08:00
zyn dfd3cad046 style: 格式化代码 2024-01-23 16:05:11 +08:00
zyn ff2e43a089 feature(内外部会议): 会议议题可改变顺序 2024-01-23 15:32:15 +08:00
zyn b42d918212 style: 格式化代码 2024-01-23 11:41:47 +08:00
zyn b76d2ff5ca feature(工作中心): “标准化活动相关流程”改成“标准化活动/政策课题相关流程” 2024-01-23 11:39:36 +08:00
高嵩 a131f9bb7a Merge branch 'dev_20231229_CPBZ' into 'master'
fix(首页-待办任务): 产品标准路由修改

See merge request laws-foton-slrs/foton-laws-system-front!149
2024-01-23 01:58:40 +00:00
zyn d896475840 fix(首页-待办任务): 产品标准路由修改 2024-01-23 09:55:51 +08:00
高嵩 54bef3461b Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!148
2024-01-22 10:04:42 +00:00
zyn 0e897a4d53 feature(标准合规评估流程): 添加项目群列表字段回滚 2024-01-22 17:52:33 +08:00
zyn 406edda157 feature(标准合规评估流程): 添加项目群列表添加字段 2024-01-22 10:13:46 +08:00
zyn f8c85bdc3c style: 格式化代码 2024-01-22 09:30:12 +08:00
zyn 379822e9cf feature: 修改 2024-01-22 09:29:54 +08:00
高嵩 85aff25492 Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!147
2024-01-19 09:45:10 +00:00
zyn 341eef3d29 feature: 修改 2024-01-19 17:17:22 +08:00
zyn 96aa770664 fix: 起草单位回显字段修改 2024-01-19 15:40:09 +08:00
zyn ba6a6bce40 perf: 起草人字段显示位置修改 2024-01-19 14:13:23 +08:00
zyn ee021b5853 style: 格式化代码 2024-01-19 14:09:39 +08:00
高嵩 228b20b1dc Merge branch 'dev_20231229_CPBZ' into 'master'
Dev 20231229 cpbz

See merge request laws-foton-slrs/foton-laws-system-front!146
2024-01-18 10:03:40 +00:00
高嵩 c5049eb1a3 Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!145
2024-01-18 10:02:56 +00:00
zyn 10d0dc4295 fix(标准拆分): 导入-查看内容修改 2024-01-18 17:34:40 +08:00
zyn e6210b8e58 fix(标准拆分): 导入-查看内容修改 2024-01-18 17:06:19 +08:00
zyn a73dd7e86a style: 格式化代码 2024-01-18 17:02:30 +08:00
zyn 9773651ccd fix(企标、计划立项、计划管控): 起草人带入部门 2024-01-18 16:43:44 +08:00
zyn 954af18ed1 style: 格式化代码 2024-01-18 16:33:51 +08:00
zyn 68a7b38731 feature: 工作中心发起人带账号 2024-01-16 16:02:33 +08:00
zyn b547757b3d style: 格式化代碼 2024-01-16 10:21:58 +08:00
高嵩 b68470f146 Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!144
2024-01-15 10:06:35 +00:00
zyn 885d9042a0 fix(产品标准): 标准体系 2024-01-15 15:40:41 +08:00
zyn fa5e6a25b4 fix: 企业标准 2024-01-15 15:34:47 +08:00
zyn 5b5aa9473a fix: 标准体系 2024-01-15 14:29:32 +08:00
zyn b3d2942374 style: 格式化代码 2024-01-15 11:34:48 +08:00
zyn ec0a979cc4 fix(机构管理): 角色字段修改 2024-01-12 15:08:05 +08:00
zyn 83133a17db fix(机构管理): 配置部门绑定角色样式调整 2024-01-10 09:59:04 +08:00
高嵩 3a7782faa2 Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!143
2024-01-09 09:39:20 +00:00
zyn f2712d2e91 fix(法规清单、标准跟踪清单、标准预警): 样式调整 2024-01-08 17:05:47 +08:00
zyn 1b33968124 style: 格式化代码 2024-01-08 16:27:09 +08:00
zyn aa8c806d01 feature(产品标准): 发布节点标准体系必填 2024-01-08 10:38:40 +08:00
zyn 8b8a915124 fix: 产品标准手机端路由 2024-01-08 09:55:46 +08:00
高嵩 9ac4cc0b0b Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!142
2024-01-06 04:15:25 +00:00
zyn 0507ed813f fix: 手机端预览回滚 2024-01-06 12:10:54 +08:00
zyn 35453f68ea style: 格式化代码 2024-01-06 12:10:24 +08:00
zyn 62ebc9cde1 fix: 手机端详情预览回滚 2024-01-06 12:09:41 +08:00
zyn 1df0c9ebd8 style: 格式化代码 2024-01-06 12:08:18 +08:00
高嵩 d5952f416a Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!141
2024-01-05 09:58:44 +00:00
zyn fc82ba693f feature: 企业标准列表添加体系类别字段 2024-01-05 17:30:54 +08:00
zyn a068eca37f style: 格式化代码 2024-01-05 17:07:36 +08:00
zyn c0d2789b53 perf: 优化代码 2024-01-04 14:49:46 +08:00
zyn 4a0476e2a6 fix(问答库): 关闭弹窗时去掉路由中的参数 2024-01-04 11:54:51 +08:00
zyn 00f1846d25 style: 格式化代码 2024-01-04 11:33:19 +08:00
zyn 4c45e18c6c fix: 优化 2024-01-04 11:30:00 +08:00
zyn adb54fcb4c feature: 重构产品标准 2024-01-04 11:24:51 +08:00
zyn 1ecd340786 style: 格式化代码 2024-01-04 11:21:24 +08:00
zyn e802371acf perf: 优化上传方法 2024-01-04 10:56:46 +08:00
zyn 01700b8030 perf: 优化组件 2024-01-04 10:56:10 +08:00
高嵩 4996614bae Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!140
2023-12-29 10:07:43 +00:00
zyn cdf80001bc style: 格式化代码 2023-12-29 10:25:41 +08:00
zyn 00f80ac617 feature: 上传组件添加下载功能 2023-12-29 09:29:30 +08:00
zyn dea0ca38c6 style: 格式化代码 2023-12-29 09:26:02 +08:00
zyn 9ac1a51b77 perf: 选人组件带入部门字段修改 2023-12-29 09:20:46 +08:00
zyn d5ee8086dd Merge remote-tracking branch 'origin/fix_foton_20231213' into fix_foton_20231213 2023-12-28 17:47:37 +08:00
zyn ef007fbcc3 fix(技术标准): 起草部门禁止编辑、根据起草人带入单位 2023-12-28 17:47:23 +08:00
zyn 99e37559bb style: 格式化代码 2023-12-28 17:44:53 +08:00
zyn 0dcaf3066d style: 格式化代码 2023-12-28 17:43:02 +08:00
zyn 986d0dc1e6 style: 格式化代码 2023-12-28 17:15:44 +08:00
zyn f7dd9d8b05 style: 格式化代码 2023-12-28 17:07:58 +08:00
zyn 3fb20ce0ed fix(企标计划): 新增-起草责任单位禁止编辑、根据起草人带入单位 2023-12-28 16:44:35 +08:00
zyn a57e429f71 feature(企标计划): 导入改为手动导入 2023-12-28 15:57:16 +08:00
zyn 21855b4c96 style: 格式化代码 2023-12-28 15:40:04 +08:00
zyn 4c8d91a3e6 feature: 选择人员组件添加id 2023-12-28 10:44:17 +08:00
zyn f7969b7d2a feature: 下拉组件添加自定义placeholder 2023-12-27 15:28:39 +08:00
zyn 2902cbde44 style: 格式化代码 2023-12-27 15:16:13 +08:00
zyn f8b075c8a4 feature(产品标准): 标准化复审节点添加保存按钮 2023-12-27 13:42:30 +08:00
zyn f70eb279d7 style: 格式化代码 2023-12-27 11:33:06 +08:00
zyn 73efafb48a feature(企标计划): 添加搜索条件-计划下发年份 2023-12-27 10:51:14 +08:00
zyn 977b6eef9f Merge branch 'master' into fix_foton_20231213 2023-12-27 10:27:10 +08:00
zyn 992d658cb1 Merge remote-tracking branch 'origin/master' 2023-12-27 10:26:37 +08:00
zyn a46f4730dd style: 格式化代码 2023-12-27 10:25:27 +08:00
高嵩 c1050d1ffc Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!139
2023-12-26 09:56:02 +00:00
zyn 3db856067a fix(标准入库起草): 下拉可删除 2023-12-26 14:17:11 +08:00
zyn f22b1c27b6 style: 格式化代码 2023-12-26 14:16:33 +08:00
zyn 7e4cec8793 Merge remote-tracking branch 'origin/master' 2023-12-25 09:43:00 +08:00
高嵩 346c0f6654 Merge branch 'dev_20231219_preview' into 'master'
fix: 文档转换接口修改

See merge request laws-foton-slrs/foton-laws-system-front!138
2023-12-25 01:42:36 +00:00
zyn 87ea5a9570 Merge remote-tracking branch 'origin/dev_20231219_preview' 2023-12-25 09:41:05 +08:00
zyn 7cb34fc5af fix: 文档转换接口修改 2023-12-25 09:40:22 +08:00
高嵩 b61ec7ec1e Merge branch 'dev_20231219_preview' into 'master'
Dev 20231219 preview

See merge request laws-foton-slrs/foton-laws-system-front!137
2023-12-22 09:27:46 +00:00
高嵩 354d549319 Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!136
2023-12-22 09:27:15 +00:00
zyn 90ce16018d fix: 点击树节点无法展开收起 2023-12-22 14:20:19 +08:00
zyn 30efeedde6 style: 格式化代码 2023-12-22 14:17:43 +08:00
zyn 27c4310513 fix(政策详情): 政策分类字段不匹配 2023-12-22 11:06:29 +08:00
高嵩 b50b886f64 Merge branch 'fix_foton_20231213' into 'master'
feature: 修改配置文件

See merge request laws-foton-slrs/foton-laws-system-front!135
2023-12-21 09:22:04 +00:00
zyn 1799dcf8b8 feature: 修改配置文件 2023-12-21 17:19:59 +08:00
高嵩 37405db88f Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!134
2023-12-21 08:51:44 +00:00
zyn e7f1cf82b9 fix(产品标准-意见汇总修订): 修改单上传无法回显 2023-12-21 16:39:06 +08:00
zyn 84ab889b9a fix(手机端): 弹窗宽度70% 2023-12-21 13:59:38 +08:00
zyn b2861d491a fix: 杨卫利改为刘金英 2023-12-21 10:32:04 +08:00
zyn a0894d20fb feature(配置管理): 机构管理-配置部门绑定角色功能 2023-12-20 16:13:19 +08:00
zyn 756f38a7d1 fix: 产品标准-上传组件可拖宽 2023-12-20 11:32:03 +08:00
zyn b489f34a2d style: 格式化代码 2023-12-20 11:00:26 +08:00
zyn 172f013ce9 fix(手机端详情): 统一预览方式 2023-12-20 10:34:15 +08:00
高嵩 618347413c Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!133
2023-12-19 10:21:43 +00:00
zyn 0a0f737ad3 Merge remote-tracking branch 'origin/fix_foton_20231213' into fix_foton_20231213
# Conflicts:
#	src/pages/home2/components/release/index.vue
#	src/pages/home2/index.vue
2023-12-19 17:52:50 +08:00
zyn a074fdb84b feature: 首页三天内数据new标注 2023-12-19 17:51:02 +08:00
zyn c4079c7413 style: 格式化代码 2023-12-19 16:03:26 +08:00
zyn e079330f05 style: 格式化代码 2023-12-19 14:10:48 +08:00
zyn 8578a9cd87 feature: 配置eslint 2023-12-19 14:10:18 +08:00
zyn 2c1e9809b4 feature: 修改eslint 2023-12-19 13:57:27 +08:00
zyn 456875cc34 fix: 统一预览方式 2023-12-19 13:35:56 +08:00
zyn 51a792c8ae feature: 修改eslint 2023-12-18 17:53:40 +08:00
zyn a2e6a74311 fix(法规库详情): 统一预览方式 2023-12-18 17:41:53 +08:00
zyn 134a17c869 style: 格式化代碼 2023-12-18 17:16:37 +08:00
zyn d2dad52ffe fix(搜索中心): 带入首页填写的搜索条件 2023-12-18 16:31:54 +08:00
zyn 04877e3299 feature(企标制修订): 技术/产品标准-发布页-新增当前顺序号查询功能 2023-12-18 15:02:39 +08:00
zyn 7cf21ab52e feature: 配置eslint 2023-12-18 14:43:01 +08:00
高嵩 d0384ea4e0 Merge branch 'dev_20231218_PHONE' into 'master'
Dev 20231218 phone

See merge request laws-foton-slrs/foton-laws-system-front!132
2023-12-18 04:21:35 +00:00
高嵩 a1002e9586 Merge branch 'fix_foton_20231213' into 'master'
Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!131
2023-12-18 04:20:28 +00:00
zyn 0072aa90e4 feature: 配置eslint 2023-12-18 12:20:00 +08:00
zyn 08bce5224f fix: 登录后添加uName字段 2023-12-18 12:19:36 +08:00
高嵩 c137b25ea7 Merge branch 'master' into 'fix_foton_20231213'
Master

See merge request laws-foton-slrs/foton-laws-system-front!130
2023-12-18 02:33:11 +00:00
zyn bf127dadfe style: 格式化代码 2023-12-18 10:09:10 +08:00
zyn bb5a905682 fix(手机端): 不支持手机端提交驳回操作 2023-12-18 10:08:30 +08:00
zyn 1d7cffc859 fix(手机端): 不支持手机端提交驳回操作 2023-12-18 09:58:49 +08:00
zyn 9eb96363ea style: 格式化代码 2023-12-18 09:58:18 +08:00
zyn fb2980b038 style: 格式化代码 2023-12-18 09:49:51 +08:00
zyn 31b7f87b72 fix(手机端-标准入库): 不支持手机端提交驳回操作 2023-12-18 09:49:17 +08:00
高嵩 e68bc03ee7 Merge branch 'dev_20231201_feizhi' into 'master'
Dev 20231201 feizhi

See merge request laws-foton-slrs/foton-laws-system-front!129
2023-12-15 09:54:12 +00:00
zyn 259ef7ad32 fix(手机端): 技术标准-驳回提示手机端处理 2023-12-15 17:52:08 +08:00
zyn 21521d49ed style: 修改eslint配置 2023-12-15 17:51:10 +08:00
zyn 1f85731376 fix(体系搜索): 监听窗口改变重新渲染 2023-12-15 17:38:26 +08:00
高嵩 31fe2ba3c8 Merge branch 'dev_20231201_feizhi' into 'master'
Dev 20231201 feizhi

See merge request laws-foton-slrs/foton-laws-system-front!128
2023-12-15 09:18:12 +00:00
高嵩 b98ab15162 Merge branch 'dev_20231208_搜索中心' into 'master'
refactor(搜索中心): 重构搜索中心

See merge request laws-foton-slrs/foton-laws-system-front!127
2023-12-15 09:17:45 +00:00
zyn 39e6823e36 feature: eslint增加配置项 2023-12-15 15:15:46 +08:00
zyn 91d25f107f chore(eslint): 使用babel-eslint解析 2023-12-15 11:56:48 +08:00
zyn 221e68134b style: 修改代码格式 2023-12-15 11:41:23 +08:00
zyn 19a18489a8 feature(eslint): 添加规则 2023-12-15 11:39:33 +08:00
zyn 230852b8f2 feature(eslint): 添加规则 2023-12-15 09:59:25 +08:00
zyn 78e7d08029 fix(手机端): 退出到welink待办页 2023-12-14 15:50:00 +08:00
zyn 26d1af11ce feature: 配置eslint 2023-12-14 14:51:54 +08:00
zyn 01bee9fcc8 refactor(登录): 重写登录模块,接入oauth2.0(pc)、welink(mobile) 2023-12-14 10:19:29 +08:00
高嵩 8e41ee7577 Merge branch 'dev_20231201_feizhi' into 'master'
Dev 20231201 feizhi

See merge request laws-foton-slrs/foton-laws-system-front!126
2023-12-13 10:36:19 +00:00
wxyclub ea5e6093ab bug: 企标入库,修改企标计划时参数字段修改 2023-12-13 17:41:25 +08:00
zyn 039abb5565 feature: 加载文件接口添加loading 2023-12-13 17:18:23 +08:00
zhoulingpo 9209131eaa 查看人员的表格高度修改 2023-12-13 17:04:55 +08:00
zhoulingpo 0b1ea2f609 增加问题项管控的历史数据的序号 2023-12-13 16:31:11 +08:00
zhoulingpo ee008393d4 增加历史数据的序号 2023-12-13 15:54:56 +08:00
zhoulingpo 8eee3063a7 修改企标计划的新增的代替其表编号的序号以及样式 2023-12-13 14:57:29 +08:00
高嵩 fe70b5b5ce Merge branch 'dev_20231201_feizhi' into 'master'
Dev 20231201 feizhi

See merge request laws-foton-slrs/foton-laws-system-front!125
2023-12-13 04:11:58 +00:00
wxyclub 0067909840 feature(企标废止): 抄送 2023-12-13 10:55:09 +08:00
zyn 0bc2474ed9 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-13 10:45:16 +08:00
zyn be6e3f1e79 feature(企标废止): 抄送 2023-12-13 10:45:03 +08:00
zhoulingpo 56195550d7 Merge branch 'dev_20231201_feizhi' of http://git.hzwlsoft.com/laws-foton-slrs/foton-laws-system-front into dev_20231201_feizhi 2023-12-13 10:43:26 +08:00
zhoulingpo c800d774e9 修改未符合项整改数据库 2023-12-13 10:43:19 +08:00
高嵩 0e608f018a Merge branch 'dev_20231201_feizhi' into 'master'
Dev 20231201 feizhi

See merge request laws-foton-slrs/foton-laws-system-front!124
2023-12-13 02:34:59 +00:00
zyn c5fcb2b410 fix(技术标准): 重新起草-评分 2023-12-13 09:50:23 +08:00
zhoulingpo e6ac4afcd1 修改草稿的序号 2023-12-13 09:43:02 +08:00
zhoulingpo b7edec3b3a Merge branch 'dev_20231201_feizhi' of http://git.hzwlsoft.com/laws-foton-slrs/foton-laws-system-front into dev_20231201_feizhi 2023-12-13 09:39:10 +08:00
zhoulingpo d69084b4ee 修改流程中心的序号 2023-12-13 09:38:59 +08:00
高嵩 e8585e91ee Merge branch 'dev_20231201_feizhi' into 'master'
Dev 20231201 feizhi

See merge request laws-foton-slrs/foton-laws-system-front!123
2023-12-12 10:13:30 +00:00
wxyclub 83a367c06e bug: 企标制修订征求意见去掉序号 2023-12-12 18:04:21 +08:00
zhoulingpo 5485490cc4 回显bug 2023-12-12 16:12:40 +08:00
zhoulingpo 91c093a30b 修改标准体系 2023-12-12 15:25:16 +08:00
zhoulingpo dbfdae95c2 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-12 15:00:36 +08:00
zhoulingpo 3f2981ac9b 修改标准体系只能选择 2023-12-12 15:00:20 +08:00
zyn e9905b840d fix(政策法规资料): 树状图搜索 2023-12-11 09:57:47 +08:00
gaosong d5d6c6e9bd fix: 企标制修订计划管控-计划更名传参 2023-12-09 17:21:15 +08:00
gaosong dfbd27f341 fix: 重点认证标准/政策合规性项目审查流程的政策文号 2023-12-09 14:49:03 +08:00
zyn 8ef24daa0d Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-08 17:53:30 +08:00
zyn 8f3cde578d feature(企标计划): 添加导入、模板下载按钮 2023-12-08 17:53:15 +08:00
zyn 541dab9b5b refactor(搜索中心): 重构搜索中心 2023-12-08 16:18:08 +08:00
zhoulingpo 8b5d03418a Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-08 16:02:28 +08:00
zhoulingpo 21b337e7b5 国内外政策bug 2023-12-08 16:01:48 +08:00
zyn 391c9d4969 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-08 15:26:19 +08:00
zyn 3d242031ca perf(手机端滚动组件): 优化暂无数据显示条件 2023-12-08 15:26:06 +08:00
zhoulingpo 0d7fe60880 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-08 14:46:03 +08:00
zhoulingpo 441e62ce63 政策工作组xuhao 2023-12-08 14:45:38 +08:00
zyn aa63986bbf refactor(手机端): 国内/海外/企标库更换接口 2023-12-08 14:35:13 +08:00
zyn d6c9eb941f fix(手机端标准化动态): 隐藏标准征求意见 2023-12-08 13:46:23 +08:00
zhoulingpo c052f2e9dc Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-08 11:02:19 +08:00
zhoulingpo 89567b8539 增加上传弹窗可以拉动 2023-12-08 11:02:04 +08:00
zyn 99f41a2468 feature(体系搜索): 标准状态国内标准-...改为国内/海外标准-... 2023-12-08 10:34:01 +08:00
zyn 7c16a15a36 fix(计划管控): 更名流程-企标类别更改后无法刷新页面 2023-12-08 10:09:45 +08:00
zhoulingpo c0fe749140 修改国内外政策的序号 2023-12-07 17:41:47 +08:00
zhoulingpo 06d2df4c15 公共组件 文本状态---标准状态 2023-12-07 17:10:10 +08:00
zhoulingpo 056be8c9e8 政策入库 文本状态---标准状态 2023-12-07 17:08:16 +08:00
zhoulingpo 3f40228d09 首页 文本状态---标准状态 2023-12-07 17:00:32 +08:00
zhoulingpo 81f132acb3 公共文件 文本状态---标准状态 2023-12-07 16:58:33 +08:00
zhoulingpo 4a994a6617 中英文转换 文本状态---标准状态 2023-12-07 16:56:34 +08:00
zhoulingpo b53762fb1e 国内外政策的高级搜索 文本状态---标准状态 2023-12-07 16:54:32 +08:00
zhoulingpo e3fbd1bade 文本状态---标准状态 2023-12-07 16:49:56 +08:00
zhoulingpo dc7b86d78f 政策入库 文本状态---标准状态 2023-12-07 16:49:12 +08:00
zhoulingpo 7ecb3169f5 标准详情 文本状态---标准状态 2023-12-07 16:46:54 +08:00
zhoulingpo 6bc5d3b6f2 项目清单确认流程 文本状态---标准状态 2023-12-07 16:45:06 +08:00
zhoulingpo f340346053 标准详情 文本状态---标准状态 2023-12-07 16:44:05 +08:00
zhoulingpo 4c887bfb94 政策详情 文本状态---标准状态 2023-12-07 16:40:37 +08:00
zhoulingpo 8806781283 国内外高级搜索 2023-12-07 16:38:27 +08:00
zhoulingpo b95f0b4dea 外部署名推荐审批流程修改标准跳转详情 2023-12-07 14:20:12 +08:00
zhoulingpo ea41a62ea3 国外标准入库 改为 海外标准入库 2023-12-07 10:18:16 +08:00
zyn 4e3125b426 fix(企标制修订计划管控): 起草-取消和更名中企标类别禁用状态修改 2023-12-07 10:01:13 +08:00
zhoulingpo 598b8ba92c 手机端 企标入库 产品 旗标复审 项目清单确认 2023-12-06 17:34:27 +08:00
zhoulingpo f672bed3d9 手机端 标准入库 标准清单发布 2023-12-06 16:58:42 +08:00
zhoulingpo c5da9b9e2d 手机端详情的文本状态改为标准状态 2023-12-06 16:41:19 +08:00
zhoulingpo d98aa40459 手机端详情的文本状态改为标准状态 2023-12-06 16:39:53 +08:00
zhoulingpo 3bb62ad584 高级搜索的文本状态改为标准状态 2023-12-06 16:33:21 +08:00
zhoulingpo ddf84a6f9e 高级搜索的文本状态改为标准状态 2023-12-06 16:18:24 +08:00
zhoulingpo 8351839bec 外部署名推荐审批流程的文本状态改为标准状态 2023-12-06 16:11:05 +08:00
zhoulingpo 729a299ec1 企标制修订计划管控-计划合并的文本状态改为标准状态 2023-12-06 15:58:03 +08:00
zhoulingpo 729871e158 企标废止--产品的文本状态改为标准状态 2023-12-06 15:51:07 +08:00
zhoulingpo bd7bf83066 企标复审--产品的文本状态改为标准状态 2023-12-06 15:49:08 +08:00
zhoulingpo 3e00bbce70 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-06 15:29:08 +08:00
zhoulingpo 01bddc0c54 企标制修订--产品的文本状态改为标准状态 2023-12-06 15:27:58 +08:00
zyn 008983d148 fix(企标废止流程): 查看时抄送人禁用 2023-12-06 15:00:10 +08:00
zhoulingpo a6dcf1b98a 企标制修订--技术的文本状态改为标准状态 2023-12-06 14:49:30 +08:00
zyn b06c0cd445 feature(企标废止流程): 添加抄送人员 2023-12-06 14:38:39 +08:00
zyn 618c1ab81f feature(手机端): 标准化动态
标准法规入库拆分为国内法规入库、国外法规入库,添加标准征求意见、企业标准发布模块
2023-12-06 14:22:59 +08:00
zhoulingpo e3bfc816ce 政策入库的文本状态改为标准状态 2023-12-06 13:55:05 +08:00
zhoulingpo 00ed57534f 标准评估的文本状态改为标准状态 2023-12-06 11:42:15 +08:00
zhoulingpo 146bf800f3 标准解读的文本状态改为标准状态 2023-12-06 11:37:09 +08:00
zhoulingpo 035fb48ea8 标准清单发布/更新流程(意见处理的文本状态改为标准状态 2023-12-06 11:24:29 +08:00
zhoulingpo 0e277a8a85 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-06 11:00:25 +08:00
zhoulingpo 81ca9e526f 标准征求意见流程(意见处理的文本状态改为标准状态 2023-12-06 11:00:01 +08:00
zhoulingpo 249720c67a 标准入库的文本状态改为标准状态 2023-12-06 10:40:49 +08:00
zyn 8c75d7d6f4 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-06 10:25:21 +08:00
zyn 57c126006b feature(体系搜索): 修改标准状态数据来源 2023-12-06 10:25:09 +08:00
zhoulingpo 623575fa16 我的提问的文本状态改为标准状态 2023-12-06 10:23:00 +08:00
zhoulingpo 6ec8a1657f 标准比对的文本状态改为标准状态 2023-12-06 10:19:47 +08:00
zhoulingpo 69bf0abdc9 标准拆分的文本状态改为标准状态 2023-12-06 10:06:34 +08:00
zhoulingpo de075c38c7 OCE识别的文本状态改为标准状态 中英文切换里面的文本状态改为标准状态 2023-12-06 10:01:30 +08:00
zhoulingpo 68ffd026bf Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-06 09:51:17 +08:00
zhoulingpo 17208cba1f 国内外政策的文本状态改为标准状态 2023-12-06 09:51:02 +08:00
zhoulingpo 8e92f439f6 问答库的文本状态改为标准状态 2023-12-06 09:40:33 +08:00
zyn 570d996a5c feature(体系搜索): 搜索条件可清除 2023-12-05 18:24:16 +08:00
zhoulingpo 02686a8f0c 企标和国内详情的文本状态改为标准状态 2023-12-05 18:00:11 +08:00
zhoulingpo 1d0e570750 法规清单的文本状态改为标准状态 2023-12-05 17:46:44 +08:00
zhoulingpo 5cb30b5916 企标计划的文本状态改为标准状态 2023-12-05 17:41:27 +08:00
zhoulingpo 3c54f0c4c5 修改企业标准以及体系搜索的文本状态改为标准状态 2023-12-05 17:31:06 +08:00
zhoulingpo 60835fdb45 修改国家标准以及公共组件的文本状态改为标准状态 2023-12-05 17:19:16 +08:00
zhoulingpo 1f3593569f 修改国家标准以及公共组件的文本状态改为标准状态 2023-12-05 17:14:49 +08:00
zhoulingpo c44d167c38 修改序号bug 2023-12-05 16:58:26 +08:00
zhoulingpo 74535e9912 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-05 16:13:20 +08:00
zhoulingpo 39544016ca 修改序号bug 2023-12-05 16:04:26 +08:00
zyn acfa0f7910 feature(体系搜索): 搜索条件新增标准状态 2023-12-05 15:12:10 +08:00
zyn 8d60b79bc5 Merge remote-tracking branch 'origin/dev_20230829_change' into dev_20231201_feizhi 2023-12-05 15:07:12 +08:00
zyn e334e1efc0 Merge remote-tracking branch 'origin/dev_test' into dev_20231201_feizhi 2023-12-05 15:01:00 +08:00
zyn 3bfdb1da01 fix(标准入库流程): 批准节点标准来源 国外改为海外 2023-12-05 14:59:35 +08:00
zhoulingpo a71c02333e 上传弹窗 2023-12-05 14:57:58 +08:00
zyn 6f76035a00 fix(手机端): 国内国外企标体系结构参数修改 2023-12-05 14:48:15 +08:00
zyn 5d5da6502c Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-05 14:48:01 +08:00
zhoulingpo e2e20e6702 Merge remote-tracking branch 'origin/dev_20230829_change' into dev_20230829_change 2023-12-05 14:46:49 +08:00
zhoulingpo 6fd3f42163 修改分页错误 2023-12-05 14:46:35 +08:00
zhoulingpo c20ea9ccee 修改分页错误 2023-12-05 14:14:58 +08:00
zhoulingpo 9f825677b5 选择标准号/政策号的发布时间不存在导致显示不全问题 2023-12-05 11:46:00 +08:00
zhoulingpo 15e6cb7024 选择标准号/政策号的loading修改 2023-12-05 11:30:41 +08:00
zhoulingpo a72523106b 当autoSize为true时 不改变其他页面数量 2023-12-05 11:24:21 +08:00
zhoulingpo dea3149524 机构管理分页bug 2023-12-05 11:01:49 +08:00
zhoulingpo 2c4c77b56b 标准复审step7回显意见修改 2023-12-05 10:35:09 +08:00
zhoulingpo 78cf8bcefd 未符合项整改 2023-12-05 10:23:56 +08:00
zhoulingpo bd820559a0 标准调研流程修改第三步回显上一步意见 2023-12-05 09:59:39 +08:00
zhoulingpo d3d1346cf0 参与外部标准制修订保存接口 增加意见输入框 2023-12-05 09:53:00 +08:00
wxyclub 9789adce36 fix: 校验企标顺序号的请求修改请求方式 2023-12-05 09:35:41 +08:00
zyn 1de74763b4 Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-05 09:26:57 +08:00
wxyclub abc6671786 fix: 手机段修改请求方式 2023-12-04 23:39:32 +08:00
zyn a52796f329 fix(手机端): 修改接口 2023-12-04 23:03:08 +08:00
wxyclub 20a5b522fc Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-04 20:24:55 +08:00
wxyclub 10c9c008ce fix: 计划管控取消和更名流程企标类别改为字符串 2023-12-04 20:24:47 +08:00
gaosong d46d4756ea Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi 2023-12-04 19:00:12 +08:00
gaosong 25456f18e4 fix: 技术标准-中文名称禁用 2023-12-04 18:59:43 +08:00
zhoulingpo e79bca92fa 修改回显意见bug 2023-12-04 17:53:00 +08:00
zhoulingpo aa8b442b47 修改回显意见bug 2023-12-04 17:34:38 +08:00
zhoulingpo e077bc79b2 修改页码bug 2023-12-04 16:45:52 +08:00
zhoulingpo 6c9d691189 修改页码bug 2023-12-04 16:38:48 +08:00
zhoulingpo f431f8aff6 修改页码bug 2023-12-04 16:38:20 +08:00
zhoulingpo 9a81d89d5e 修改页码bug 2023-12-04 15:58:36 +08:00
zhoulingpo 8c1b8c953f 修改页码bug 2023-12-04 15:46:35 +08:00
zhoulingpo 726686c847 Merge remote-tracking branch 'origin/dev_test' into dev_test 2023-12-04 15:14:58 +08:00
zhoulingpo c71b61ccf1 修改页码bug 2023-12-04 15:13:49 +08:00
zhoulingpo ccd28604cb 修改页码bug 2023-12-04 15:09:51 +08:00
zyn 94137281db Merge branch 'dev_20230829_change' into dev_20231201_feizhi 2023-12-04 09:32:57 +08:00
zyn bec5eab464 Merge branch 'dev_20230829_change' into dev_20231201_feizhi 2023-12-01 18:05:08 +08:00
zyn 1b6b3bf4d8 Merge remote-tracking branch 'origin/dev_20231113_phonePage' into dev_20231201_feizhi
# Conflicts:
#	src/components/hzwlComponents/ReceiptDescription.vue
#	src/pages/processCenter/pages/phone/qbrk-product/step2.vue
2023-12-01 18:02:01 +08:00
zyn 401f113855 Merge remote-tracking branch 'origin/dev_20231101_TXSS' into dev_20231201_feizhi 2023-12-01 17:59:43 +08:00
zhoulingpo 8c8d2e7fc2 Merge remote-tracking branch 'origin/dev_test' into dev_test 2023-12-01 09:47:48 +08:00
zhoulingpo 099def45e7 修改页码bug 2023-11-30 18:40:25 +08:00
zyn 40ca0d84c8 fix: 转办时未选择人员给提示语 2023-11-30 18:37:30 +08:00
zyn 0cfce63b66 Merge remote-tracking branch 'origin/dev_20231113_phonePage' into dev_20231113_phonePage
# Conflicts:
#	src/pages/processCenter/pages/phone/bzjd/step2.vue
#	src/pages/processCenter/pages/phone/bzjd/step3.vue
2023-11-30 18:33:04 +08:00
zyn 5a837f5d52 fix: 标准解读流程 2023-11-30 18:32:50 +08:00
zyn b92d330adc fix: 标准解读流程 2023-11-30 18:29:23 +08:00
zyn 611bd37a64 fix: 标题错误 2023-11-30 18:27:59 +08:00
mzaxd a8e322c49f feat: 机构管理关联角色 2023-11-22 23:59:26 +08:00
zyn 4ac8bceb58 refactor: 手机端-企标制修订立项计划流程(立项确认) 2023-11-21 14:38:17 +08:00
zyn 97342823e6 refactor: 手机端-企标废止流程(起草人修改标准状态) 2023-11-21 13:48:28 +08:00
zyn 5a36f2ecdc feat:手机端-产品标准(企标编写、企标编写汇总、征求意见) 2023-11-21 11:39:10 +08:00
zhoulingpo 8fc16b03d4 Merge remote-tracking branch 'origin/dev_20231113_phonePage' into dev_20231113_phonePage 2023-11-20 17:33:51 +08:00
zhoulingpo 1c61e2c26b 企标废止--起草人修改标准状态 2023-11-20 17:33:44 +08:00
zyn c32e4dcc16 Merge remote-tracking branch 'origin/dev_20231113_phonePage' into dev_20231113_phonePage 2023-11-20 17:32:56 +08:00
zyn e5023e029a 手机端-企标制修订-技术标准 2023-11-20 17:32:48 +08:00
zyn 679fab752a 手机端-企标制修订-技术标准 2023-11-20 17:31:53 +08:00
zhoulingpo 038b5d60bf Merge remote-tracking branch 'origin/dev_20231113_phonePage' into dev_20231113_phonePage 2023-11-20 16:46:19 +08:00
zhoulingpo b642bed2f1 企标废止--起草人修改标准状态 2023-11-20 16:42:16 +08:00
zhoulingpo 5f66128bcc 增加企标制修订立项计划流程 2023-11-20 15:45:40 +08:00
zyn 392a46397a 手机端-技术标准-起草 2023-11-20 14:14:59 +08:00
zyn 34e89a53d5 手机端-未符合项整改流程-审定 2023-11-17 16:58:41 +08:00
zyn 3c737dda0e 手机端-项目清单确认流程-清单完善(1、2)、清单发布 2023-11-17 15:17:51 +08:00
zyn 3ed0168cff 手机端-项目合规评估流程-项目-任务分发、合规评估 2023-11-17 14:09:38 +08:00
zyn 3a97e3b6b4 手机端-标准合规评估流程-项目分发、任务分发、合规评估 2023-11-17 11:16:01 +08:00
zyn 093f122822 手机端-标准解读流程-选择责任人、解读 2023-11-15 18:01:44 +08:00
zyn f92eb0105c 手机端-标准清单发布/更新流程-会签、修订 2023-11-15 10:10:32 +08:00
zyn 02485b4b6a 手机端-标准征求意见流程-意见反馈、意见汇总报批、意见处理 2023-11-14 17:19:29 +08:00
zyn 7ef5f06a8a 手机端-标准调研流程-调研结果反馈、调研结果处理 2023-11-14 14:40:04 +08:00
zyn d3bef2f4b5 公共组件调整 2023-11-14 14:39:18 +08:00
zyn 3bc531758d 手机端-公共组件调整 2023-11-14 14:00:38 +08:00
zyn 2e2fed24a3 手机端-标准入库流程-布局调整 2023-11-14 14:00:10 +08:00
zyn e01a6e85b4 手机端-标准入库流程-会签-意见 2023-11-14 10:56:16 +08:00
zyn a0f263556d 手机端-标准入库流程-修订 2023-11-14 10:35:09 +08:00
zyn 37168a9bfe 手机端-标准入库流程-会签 2023-11-14 09:20:10 +08:00
zyn fd7cbaabdd 完善公共组件 2023-11-14 09:19:08 +08:00
487 changed files with 106552 additions and 77321 deletions
+79
View File
@@ -0,0 +1,79 @@
module.exports = {
root: true, // 将eslint配置限制在当前配置文件所在目录下
// 继承其他规则
'extends': ['eslint:recommended', 'plugin:vue/recommended'],
// 解析选项
'parserOptions': {
parser: "babel-eslint", // 解析器
'ecmaVersion': 6, // ES 语法版本
'sourceType': 'module', // ES 模块化
'ecmaFeatures': { // ES 其他特性
'jsx': true // 如果是 React 项目,就需要开启 jsx 语法
}
},
plugins: [
// '@stylistic/js'
],
// 具体检查规则
'rules': {
'no-var': 'error', // 不能使用 var 定义变量
'eqeqeq': [
'warn', // 建议使用 === 和 !==,否则警告
'smart' // https://eslint.bootcss.com/docs/rules/eqeqeq#smart 除了少数情况下不会有警告
],
'prefer-arrow-callback': 'warn', // 建议使用箭头函数
'prefer-const': 'error', // 强制使用 const 定义常量
'indent': ['error', 2, { SwitchCase: 1 }], // 缩进 2 个空格 SwitchCase缩进
// '@stylistic/js/indent': ['error', 2], // 缩进 2 个空格
'no-mixed-spaces-and-tabs': 'error', // 禁止混用空格和 tab缩进
'quotes': ['error', 'single'], // 强制使用单引号
"spaced-comment": ["error", "always"], // 注释后面需要有空格
"prefer-template": "off", // 字符串拼接使用模版字符串 'hello' + world => `hello${world}`
"template-curly-spacing": ["error", "never"], // 模版字符串中{}前后没有空格 `hello${ world }` => `hello${world}` always 有一个或多个空格,never 没有空格
"key-spacing": ["error", { mode: "strict" }], // 对象字面量中冒号的前后空格 { "foo" : 42 } => { "foo": 42 }
"comma-spacing": ["error", { "before": false, "after": true }], // 逗号前面不能有空格,后面需要有空格 [1, 2 , 3 ,4] => [1, 2, 4, 4]
"array-bracket-spacing": ["error","always"], // 数组前后需要有空格 [ 1,2 ] => [ 1,2 ]
"object-curly-spacing": ["error","always"], // 对象前后需要有空格 { a:b } => { a:b }
"no-whitespace-before-property": "error", // 禁止属性前有空格 obj . foo => obj.foo
"func-call-spacing": ["error", "never"], // 函数调用时,函数名与()之间不能有空格 fn () => fn()
'space-before-function-paren': ['error', 'always'], // 函数左括号空格 function name(){} => function name (){}
// "rest-spread-spacing": "error", // 展开运算符前后需要有空格 ...arr => ... arr
'space-before-blocks': 'error', // 代码块前面(if function等的大括号之前)需要有空格 function name(){} => function name() {}
"space-infix-ops": 'error', // 操作符前后需要有空格 a=0 => a = 0
'arrow-spacing': ['error', { before: true, after: true }], // 箭头函数前后需要有空格
"brace-style": ["error", "1tbs", { "allowSingleLine": true }], // if else 等的大括号风格
"no-irregular-whitespace": 'error', // 不能有不规则的空格 https://eslint.nodejs.cn/docs/latest/rules/no-irregular-whitespace
"no-trailing-spaces": 'error', // 一行结束后面不要有空格
"padded-blocks": ["error", "never"], // 代码块内部前后不要有空行
"semi-spacing": ["error", { "before": false, "after": true }], // 分号前面不能有空格,后面需要有空格 var foo ; var bar; => var foo; var bar;
'no-multiple-empty-lines': [ 'error', { max: 1 }], // 最多只能有一行空行
'no-return-assign': ['off', 'except-parens'], // 禁止在 return 语句中使用赋值语句
'no-self-assign': 'error', // 禁止自我赋值
'no-self-compare': 'error', // 禁止自身比较
// "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 1 }], // 链式调用时,每个调用都需要换行
"no-duplicate-imports": "error", // 禁止重复 import
// 以下规则都是基于plugin:vue/recommended的默认值
'vue/max-attributes-per-line': [
'error',
{
singleline: 4, // 单行最多 4 个属性
multiline: {
max: 1, // 多行最多 1 个属性
allowFirstLine: false, // 不允许属性与组件名称在同一行
},
},
],
'vue/singleline-html-element-content-newline': 'off', // 单行元素内容之前和之后不需要换行
'vue/multiline-html-element-content-newline': 'error', // 多行元素内容之前和之后需要换行
'vue/html-indent': ['error', 2], // 缩进 2 个空格
'vue/html-closing-bracket-newline': ['error', { // 强制或禁止在自闭合标签之前换行
'singleline': 'never',
'multiline': 'always',
}],
'vue/attribute-hyphenation': 'off', // 关闭 属性名必须使用连字符的规则
},
env: {
browser: true,
node: true
}
}
-554
View File
@@ -1,554 +0,0 @@
commit c84f945f4263aa54bdcf10df5aff9a48bba97925 (HEAD -> dev_test)
Author: zhoulingpo <zhoulingpo>
Date: Tue Nov 21 10:48:57 2023 +0800
自定义指令-上传的el-dialog可拖拽拉宽
commit 4465f597b2a0f087e5e44efbac1eeb73c32fd2c6 (origin/dev_test)
Author: danshihao <danshihao@syxysoft.com>
Date: Mon Nov 20 08:55:39 2023 +0800
调整流程按钮loading
commit 5ae467cfd2252ed056a5260851b291123da0a7a0
Author: danshihao <danshihao@syxysoft.com>
Date: Fri Nov 17 13:30:33 2023 +0800
调整表格序号
commit f3fc569c6c745e1a8b72ca297174c9060ca580f0
Author: zyn <nn_0223@163.com>
Date: Fri Nov 17 09:40:21 2023 +0800
自定义指令v-dragDialogWidth添加文件名换行功能
commit 78937bf691fd719219878e9c84bc856e7af469d9
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 17:58:45 2023 +0800
技术标准-起草-带入标准-作废标红
commit a89d917806af861f493b647c62f640a9465ef983
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 17:43:05 2023 +0800
国内标准库-每页显示数改变后无法获取数据
commit a2b204c4f9416f63e3dd7ccf4c6c6b90c3296fa0
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 17:32:47 2023 +0800
搜索中心-修改文本状态
commit 61dd3353618f65632f7a98bde0070ff5a37ed846
Merge: 3b6ffb04 971f1be9
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 17:15:20 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit 3b6ffb041e7b7ed8aecf863d2c8fd513268ee0a9
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 17:15:09 2023 +0800
搜索中心-隐藏国内外政策
commit 971f1be9ec2c5b738565b024bd08dbeb625e9573
Merge: 8e4e928f 81c887c6
Author: danshihao <danshihao@syxysoft.com>
Date: Thu Nov 16 16:55:42 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit 8e4e928f560d753cb3074a54317830c3c291502c
Author: danshihao <danshihao@syxysoft.com>
Date: Thu Nov 16 16:55:27 2023 +0800
调整表格序号
commit 81c887c6724e2c4b3ece3d68dcc631f839dae5dc
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 16:54:31 2023 +0800
自定义指令-el-dialog可拖拽拉宽
commit 8d65b779ce6101086a7819cdaaa2e15d2f1d06a6
Merge: 77cf0841 5f282442
Author: wxyclub <tjzdwxy@163.com>
Date: Thu Nov 16 10:12:53 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit 77cf0841c64576c0b698bd05f723125275bfad17
Author: wxyclub <tjzdwxy@163.com>
Date: Thu Nov 16 10:12:38 2023 +0800
搜索中心去掉数量
commit 91f03db948e6d853a4592f5d73cbb78fc078303e
Author: wxyclub <tjzdwxy@163.com>
Date: Thu Nov 16 10:10:43 2023 +0800
搜索中心去掉 选择标准体系 按钮
commit 5f282442e06e5ddfad0076581704b8ca26a44e9f
Merge: 454738a7 0338732f
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 10:06:03 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit 454738a7d2a67eef616fd5fa8ae61eb2da36223a
Author: zyn <nn_0223@163.com>
Date: Thu Nov 16 10:05:22 2023 +0800
企标制修订计划管控流程-标题
commit 0338732fecbd27a0cd5c5c885ce5ef90c5ea180d
Author: wxyclub <tjzdwxy@163.com>
Date: Tue Nov 14 17:41:30 2023 +0800
bug: 搜索中心展示字段修改
commit ef4f46298f717aabdb940ab39a291e377c0fec25
Author: zyn <nn_0223@163.com>
Date: Tue Nov 14 15:40:20 2023 +0800
企标制修订计划管控流程-标题修改
commit 3179dc7b2c214a14726ab349adf62cb67a010d96
Author: zyn <nn_0223@163.com>
Date: Tue Nov 14 15:21:34 2023 +0800
手机端-首页标识
commit 2d6e64fb8716a29b9276125261c65d05e264a49a
Author: wxyclub <tjzdwxy@163.com>
Date: Tue Nov 14 15:11:07 2023 +0800
bug: 搜索中心字段修改
commit 5c6dccb6c2dd33ef7e08beeed50727bd2f097106
Author: wxyclub <tjzdwxy@163.com>
Date: Tue Nov 14 10:31:30 2023 +0800
bug: 搜索中心字段修改
commit 2ea1dcec495e1504398fbc0d3ef67420f49aab98 (origin/dev_20231114_auth)
Author: zyn <nn_0223@163.com>
Date: Fri Nov 10 11:38:27 2023 +0800
产品标准-起草-带入标准表格-作废版本整体标红
commit f29775ae97434b8438d16f48f6252a2e236f1b69
Author: zyn <nn_0223@163.com>
Date: Fri Nov 10 11:16:14 2023 +0800
首页-企业标准发布标题new改为红点
commit 4827328ba1eba052d965a99a9abdb03baea62e10
Author: zyn <nn_0223@163.com>
Date: Fri Nov 10 09:25:12 2023 +0800
企标评分-详情-防止图标被覆盖
commit 596d79c3117fd6e40c7ec2ca3109ce8e0d983504
Merge: 2c02213b 3f43d899
Author: zyn <nn_0223@163.com>
Date: Thu Nov 9 17:23:53 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit 2c02213bf5288e4cfd291c2b671b82f7ee211105
Author: zyn <nn_0223@163.com>
Date: Thu Nov 9 17:23:36 2023 +0800
技术标准-发布-解决保存时弹出上传文件窗口的bug
commit 3f43d8999a29cb9a1aed2610fbc4eba129ca51d9
Author: wxyclub <tjzdwxy@163.com>
Date: Thu Nov 9 11:31:07 2023 +0800
bug: 企标制修订技术标准修改计划状态参数变更
commit efa7d28c584a349834c12e798eaeea100c179767
Author: zyn <nn_0223@163.com>
Date: Wed Nov 8 17:08:38 2023 +0800
企标详情-评分优化
commit 527797ec81a6171d1fe86987f8a5658e2070a7c1
Author: zyn <nn_0223@163.com>
Date: Wed Nov 8 15:42:37 2023 +0800
企标页面 标准体系树更换接口
commit 056439a6be8807d40a331765beda80147167a5ef
Author: zyn <nn_0223@163.com>
Date: Wed Nov 8 14:14:02 2023 +0800
首页 table编号列固定宽度200
commit cbce8391a6f22fefb23e9409dd91a4c6d6550f50
Author: zyn <nn_0223@163.com>
Date: Wed Nov 8 09:27:42 2023 +0800
首页-企标发布-new
commit 5622837d7ee580c3c47e0014e3154e6a7ca8ac7c
Author: zyn <nn_0223@163.com>
Date: Wed Nov 8 09:12:31 2023 +0800
手机端-企业标准
commit a69e43502bda1b9da82cecff7c1588de69526781
Author: zyn <nn_0223@163.com>
Date: Wed Nov 8 02:04:40 2023 +0800
手机端-企标详情
commit c49af7b9278ae2373b2a278d731bf575d96aaec5
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 23:30:11 2023 +0800
企标详情-评分
commit 30a6beb93d21c59870461cc209372c3620d7c4d2
Merge: a8e5f84d 3825857c
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 22:39:27 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit a8e5f84d74f8a3e19badfa9b5879746bcb52b576
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 22:39:17 2023 +0800
列表序号与分页联动
commit 3825857c17a5d42e3a0ffafc4c8a5e62ceb918a2
Merge: 31a3dc5c e1c40887
Author: wxyclub <tjzdwxy@163.com>
Date: Tue Nov 7 22:36:00 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit 31a3dc5cd4629c1012eb2795347df56682a69f12
Author: wxyclub <tjzdwxy@163.com>
Date: Tue Nov 7 22:35:47 2023 +0800
bug: 企标计划修改接口还原
commit e1c4088767e355ced098728d24ee14ac5e19ad4e
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 22:24:03 2023 +0800
产品标准发布节点ifStandCodebyStandName接口检验不通过的提示信息
commit 80169b3881e39c83d5006271f9a6c78bec44afff
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 22:14:36 2023 +0800
首页-企业标准列表页
commit 6d331c9d5574474ecb5b996b4a7f93e3b75e8bbc
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 21:53:24 2023 +0800
首页-企业标准发布-new
commit 8d3a900919eb6108a41bab4096c2ace4d58f2bc5
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 17:30:57 2023 +0800
手机端-状态查询条件修改
commit a465ac2243baad3b1826e6b660b287c915fdfcc5
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 15:57:56 2023 +0800
手机端-修改
commit 57981cf8bc5c461eb0e8ffea657406b4e2fe8e69
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 15:04:14 2023 +0800
手机端-修改
commit d099d9ca7c14634ba7107687592bedc7c3c9e0ee
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 13:33:36 2023 +0800
技术标准-起草在进入onlyoffice时保存
commit be595c76456a9e31da93b964f0a3602bc7421258
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 11:17:50 2023 +0800
按钮loading-手机端-企标制修订流程及企业标准库流程
commit 3322393853da260e7a517bd933187e5909e160c5
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 11:08:16 2023 +0800
按钮loading-手机端-标准入库流程
commit 74fa2c571856bd1dace44b3518f9aa2ad1679a45
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 11:06:36 2023 +0800
按钮loading-手机端-政策征求意见流程
commit d6ee244ed4982f3d7eede131035a363e2b6b4620
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 11:00:55 2023 +0800
按钮loading-手机端-未符合项整改流程
commit 4f95cd31952284f6c7cfd350630b1a375ba75b7d
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:56:52 2023 +0800
按钮loading-手机端-企标废止流程
commit 7d438de94a12144925af55e4cdd4f4df9cdc534f
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:52:45 2023 +0800
按钮loading-手机端-企标复审流程
commit a28e906f4ad05e8a73414ce80dae9896b45f3e9b
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:48:02 2023 +0800
按钮loading-手机端-企标制修订计划管控流程
commit 04c85f6cc45ad9d70bf45b8e4cd0a1fa3ca37913
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:30:48 2023 +0800
按钮loading-手机端-参与外部标准制修订信息提报流程
commit 8fd6abfae93d8de293747829a5bc2fb2403fe77e
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:21:58 2023 +0800
按钮loading-手机端-未符合项整改流程
commit 40447d9848ff143e1c49785b4288f4a9769b97fe
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:19:30 2023 +0800
按钮loading-手机端-外部署名推荐审批流程
commit 81c40db82dd1d90eab6ad937467b31c4b112e6f2
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:14:18 2023 +0800
按钮loading-手机端-加入标准化协会信息提报流程
commit 98c97dbaac8c28d350e00ef0d163231dd696ecbc
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:11:28 2023 +0800
按钮loading-手机端-项目清单确认流程
commit 8b0c98b9c3f5a8bb225f438d32ccd6ca8aaf4079
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:09:26 2023 +0800
按钮loading-手机端-项目合规评估流程
commit ea2e1345e7f58ff0cf4098cc033b6bdf69490c33
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 10:05:50 2023 +0800
按钮loading-手机端-标准合规评估流程
commit 214911dd7cef60b4b9a4c62e057f8a59b1ed7d77
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:39:30 2023 +0800
按钮loading-手机端-标准清单发布/更新流程
commit 062594fc09ecc012346a5cf44913554e38fc2ccc
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:37:42 2023 +0800
按钮loading-手机端-标准解读流程
commit 7670fd9cbf5091817be031690b7cfe37df41c838
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:33:10 2023 +0800
按钮loading-手机端-外部标准化协会参会流程
commit f8c61e854eb89ec6076901a9570d5a9a3d0d7950
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:28:34 2023 +0800
按钮loading-手机端-外部标准化协会入会流程
commit 271fe6069b15c8a9e63b3d6e2f60725cd140b656
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:23:42 2023 +0800
按钮loading-手机端-标准调研流程
commit e5d943e166fba749aa372b8e3b2b464e9614fff8
Merge: a2ae1a82 e8a9c37e
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:15:24 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit a2ae1a82780137817dcd1451fa709e986d38d7df
Author: zyn <nn_0223@163.com>
Date: Tue Nov 7 09:15:17 2023 +0800
按钮loading-手机端-标准征求意见流程
commit e8a9c37e93d6a69a74823daaccd9c3fc8aa858dd
Merge: e8644474 62152dc8
Author: wxyclub <tjzdwxy@163.com>
Date: Mon Nov 6 19:23:18 2023 +0800
Merge remote-tracking branch 'origin/dev_test' into dev_test
commit e86444748674b9b0af28d748ec76eb9676a5d13e
Author: wxyclub <tjzdwxy@163.com>
Date: Mon Nov 6 19:23:10 2023 +0800
bug: 企标计划修改接口变更
commit 62152dc88d37eec904bce58ad1bab526ff3c4261
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 18:38:14 2023 +0800
按钮loading-加入标准化协会信息备案流程
commit f81b67b5e039f2148ea2a4db9a94be1efd6ab789
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 18:27:29 2023 +0800
按钮loading-参与外部标准制修订信息提报流程
commit a3065afb5bed6b8b07ceaa72e1552f11378e2438
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 18:13:15 2023 +0800
按钮loading-外部署名推荐审批流程
commit a0dbd719aaf88c0a94675f1378b645d942fcf0f2
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 17:56:57 2023 +0800
按钮loading-外部标准化协会参会流程
commit 1cb34d7cff5aa1abb7bddc87a5fe3db0ba68014e
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 17:14:27 2023 +0800
按钮loading-外部标准化协会入会流程
commit e991b4ace0ac0fc6c336c7b5a5a7ee4f5659fd44
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 16:34:15 2023 +0800
手机端关闭数小福
commit 3af2c8c7e26b134c7f582d050028449ce73cc535
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 16:26:44 2023 +0800
产品制修订-发布节点-发布日期-修改时使用原来的日期,制定修订使用当前日期
commit 4ff2696b869b6783cadf2d10164c6806a2a3b1ea
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 16:03:02 2023 +0800
按钮loading-未符合项整改流程
commit 7cbd4aa7280f365982e568563cf720316b3201bc
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 15:34:13 2023 +0800
按钮loading-项目清单确认流程
commit 5bfda5feca253d01e1bcb04ddcec6dec94e049b3
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 15:05:56 2023 +0800
按钮loading-项目合规评估流程-项目
commit ff5286c4eb3e56b68daf14e2373316218c511e74
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 14:03:31 2023 +0800
按钮loading-标准合规评估流程
commit 3587fc859ed850ab384ae804862dd3ae35e8631b
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 13:23:09 2023 +0800
按钮loading-标准解读流程
commit 81862e012a8b6998af266165ba58cf3c07fdf61c
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 11:51:10 2023 +0800
按钮loading-标准清单发布/更新流程
commit ebda3b0beae45355385781316a13013e232840e4
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 11:20:32 2023 +0800
按钮loading-标准调研流程
commit dda0b8c60c649e552b16e4881fdc2ae583cd12ee
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 10:23:35 2023 +0800
按钮loading-标准入库流程
commit 6dc35be591548d235f5c9b25b978a022deb31cd4
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 09:49:06 2023 +0800
按钮loading-企标制修订立项计划
commit 3a403e87615f436402c303cf20617f6541e55227
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 09:32:12 2023 +0800
按钮loading-企标制修订计划管控
commit eaa58e0a18bf8ec172b37e4491356a2667537bb1
Author: zyn <nn_0223@163.com>
Date: Mon Nov 6 08:47:11 2023 +0800
按钮loading-企标废止流程
commit 9260629872ffdf5db5ec2342ee6cee61e0d03cb5
Author: zyn <nn_0223@163.com>
Date: Fri Nov 3 17:33:21 2023 +0800
技术标准-顺序号校验
commit f336801fe6f7e1737939f934143835cafba4cd48
Author: zyn <nn_0223@163.com>
Date: Fri Nov 3 16:57:54 2023 +0800
企标复审流程-无法选择人员
commit 96901b1cbb065142d53d59b587861b74ae789ec0
Author: zyn <nn_0223@163.com>
Date: Fri Nov 3 16:07:27 2023 +0800
企标法规库-树-重新获取数据问题
commit 5fb54c8959f1948c1c61d55dc7e2aa8bac89686c
Author: zyn <nn_0223@163.com>
Date: Fri Nov 3 15:41:35 2023 +0800
技术标准-顺序号无法修改
+4
View File
@@ -43,11 +43,15 @@
"vuex": "^3.4.0" "vuex": "^3.4.0"
}, },
"devDependencies": { "devDependencies": {
"@stylistic/eslint-plugin-js": "^1.5.1",
"@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0", "@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0", "@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"babel-plugin-import": "^1.13.3", "babel-plugin-import": "^1.13.3",
"eslint": "6.7.2",
"eslint-plugin-vue": "6.2.2",
"less": "^3.13.1", "less": "^3.13.1",
"less-loader": "^5.0.0", "less-loader": "^5.0.0",
"popper.js": "^1.16.1", "popper.js": "^1.16.1",
+1 -1
View File
@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="pragram" content="no-cache"> <meta http-equiv="pragram" content="no-cache">
<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Pragma" content="no-cache" />
+15 -4
View File
@@ -34,7 +34,7 @@
<div class="user-box"> <div class="user-box">
<img :src="userAvator" v-if="$store.getters.userInfo.avator"> <img :src="userAvator" v-if="$store.getters.userInfo.avator">
<span class="iconfont" v-else style="color: #000;">&#xe69b;</span> <span class="iconfont" v-else style="color: #000;">&#xe69b;</span>
<span style="color: #000;">{{ $store.getters.userInfo.uName }}</span> <span style="color: #000;" v-if="uName">{{ uName }}</span>
<i style="color: #000;" class="el-icon-arrow-down"/> <i style="color: #000;" class="el-icon-arrow-down"/>
</div> </div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
@@ -70,7 +70,7 @@
<div class="user-box"> <div class="user-box">
<img :src="userAvator" v-if="$store.getters.userInfo.avator"> <img :src="userAvator" v-if="$store.getters.userInfo.avator">
<span class="iconfont" v-else style="color: #000;">&#xe69b;</span> <span class="iconfont" v-else style="color: #000;">&#xe69b;</span>
<span style="color: #000;">{{ $store.getters.userInfo.uName }}</span> <span style="color: #000;" v-if="uName">{{ uName }}</span>
<i style="color: #000;" class="el-icon-arrow-down"/> <i style="color: #000;" class="el-icon-arrow-down"/>
</div> </div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
@@ -97,9 +97,9 @@
<script> <script>
import {mapGetters, mapState} from 'vuex' import {mapGetters, mapState} from 'vuex'
import {webLoginType, ssoLogoutUrlDev} from '@/sysConfig'
import customerService from "@/components/customerService"; import customerService from "@/components/customerService";
import isMobile from "./store/isMobile"; import isMobile from "./store/isMobile";
import { loginOut } from '@/utils/login'
export default { export default {
name: 'App', name: 'App',
@@ -152,6 +152,8 @@
confirmButtonClass: 'common-button-primary', confirmButtonClass: 'common-button-primary',
roundButton: false roundButton: false
}).then(() => { }).then(() => {
loginOut()
/*
if (webLoginType != null && webLoginType === 'idm') { if (webLoginType != null && webLoginType === 'idm') {
this.$store.dispatch('logout') this.$store.dispatch('logout')
window.location.href = ssoLogoutUrlDev window.location.href = ssoLogoutUrlDev
@@ -168,6 +170,7 @@
}, e => { }, e => {
}) })
} }
*/
// this.$http.post('/logout', {}, res => { // this.$http.post('/logout', {}, res => {
// window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code' // window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code'
// }) // })
@@ -243,6 +246,9 @@
userAvator() { userAvator() {
return this.$store.getters.userInfo.avator || require('@/assets/images/avator_default.png') return this.$store.getters.userInfo.avator || require('@/assets/images/avator_default.png')
}, },
uName () {
return this.$store.getters.userInfo.uName || this.$store.getters.userInfo.uname
},
customerServiceShow () { customerServiceShow () {
return !isMobile() return !isMobile()
}, },
@@ -457,5 +463,10 @@
bottom: 20px; bottom: 20px;
z-index: 1000; z-index: 1000;
} }
sup{
vertical-align: super!important;
}
sub{
vertical-align: sub!important;
}
</style> </style>
+8 -8
View File
@@ -63,7 +63,7 @@ export const m = {
issueTime: '发布日期', issueTime: '发布日期',
putTime: '实施日期', putTime: '实施日期',
standNatureShow: '标准性质', standNatureShow: '标准性质',
standStateShow: '文本状态', standStateShow: '标准状态',
action: '操作', action: '操作',
see: '查看', see: '查看',
stand: '标准/文件性质', stand: '标准/文件性质',
@@ -155,7 +155,7 @@ export const m = {
dataType: '标准类别', dataType: '标准类别',
standardNumberAndPolicyNumber: '标准编号/政策编号', standardNumberAndPolicyNumber: '标准编号/政策编号',
standardNameAndPolicyName: '标准名称/政策名称', standardNameAndPolicyName: '标准名称/政策名称',
textState: '文本状态', textState: '标准状态',
conversionResults: '转换结果', conversionResults: '转换结果',
timeConsuming: '消耗时间', timeConsuming: '消耗时间',
searchByModule: '根据模块查找', searchByModule: '根据模块查找',
@@ -169,7 +169,7 @@ export const m = {
searchByStandardNumberAndName: '根据标准号/名称查找', searchByStandardNumberAndName: '根据标准号/名称查找',
split: '拆分', split: '拆分',
pleaseSelectDataType: '请选择资料类型', pleaseSelectDataType: '请选择资料类型',
pleaseSelectTheTextState: '请选择文本状态', pleaseSelectTheTextState: '请选择标准状态',
push: '推送', push: '推送',
bulkCopy: '批量复制', bulkCopy: '批量复制',
clauseRequirements: '条款要求', clauseRequirements: '条款要求',
@@ -260,7 +260,7 @@ export const m = {
findByTheResponsibilityDepartment: '根据责任部门查找', findByTheResponsibilityDepartment: '根据责任部门查找',
findByNormativeReferenceStandard: '根据规范性引用标准查找', findByNormativeReferenceStandard: '根据规范性引用标准查找',
lookupByStandardStatus: '根据标准状态查找', lookupByStandardStatus: '根据标准状态查找',
lookupByStandardStatusText: '根据文本状态查找', lookupByStandardStatusText: '根据标准状态查找',
findByPrincipalCompiler: '根据主要编制者查找', findByPrincipalCompiler: '根据主要编制者查找',
contentInThisPaper: '内容摘要', contentInThisPaper: '内容摘要',
substituteForStandNumber: '代替标准号', substituteForStandNumber: '代替标准号',
@@ -506,8 +506,8 @@ export const m = {
searchByNewTextNumberOrname: '根据新文本号/名称查找', searchByNewTextNumberOrname: '根据新文本号/名称查找',
compare: '比对', compare: '比对',
batchDeletion: '批量删除', batchDeletion: '批量删除',
oldTextState: '旧文本状态', oldTextState: '旧标准状态',
newTextState: '新文本状态', newTextState: '新标准状态',
collect: '收藏', collect: '收藏',
sharingStandard: '分享标准', sharingStandard: '分享标准',
standardName: '标准名称', standardName: '标准名称',
@@ -644,7 +644,7 @@ export const m = {
comparison: '比对', comparison: '比对',
oldDocumentTextNumber: '旧文档文本号', oldDocumentTextNumber: '旧文档文本号',
oldDocumentTextName: '旧文档文本名称', oldDocumentTextName: '旧文档文本名称',
oldTextStatus: '旧文本状态', oldTextStatus: '旧标准状态',
draft: '草稿', draft: '草稿',
draftForComments: '征求意见稿', draftForComments: '征求意见稿',
draftForReview: '送审稿', draftForReview: '送审稿',
@@ -653,7 +653,7 @@ export const m = {
standardText: '标准文本', standardText: '标准文本',
newDocumentTextNumber: '新文档文本号', newDocumentTextNumber: '新文档文本号',
newDocumentTextName: '新文档文本名称', newDocumentTextName: '新文档文本名称',
newTextStatus: '新文本状态', newTextStatus: '新标准状态',
comparisonType: '比对类型', comparisonType: '比对类型',
comparisonTime: '比对时间', comparisonTime: '比对时间',
dataLoading: '数据加载中', dataLoading: '数据加载中',
+3
View File
@@ -396,3 +396,6 @@
border-color: #3986c9 border-color: #3986c9
} }
.flow-list{
height: 100%;
}
+8
View File
@@ -9,6 +9,7 @@ import store from '@/store'
import {Message} from 'element-ui' import {Message} from 'element-ui'
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig' import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
import isMobile from "../../store/isMobile"; import isMobile from "../../store/isMobile";
import { loginAgain } from '@/utils/login'
import domMessage from '../messageOnce/messageOnce' import domMessage from '../messageOnce/messageOnce'
@@ -69,6 +70,7 @@ _axios.interceptors.response.use(
} }
} }
if(res.data && res.data.respCode && res.data.respCode === 'LE505'){ if(res.data && res.data.respCode && res.data.respCode === 'LE505'){
/*
if (isMobile()) { if (isMobile()) {
localStorage.removeItem('token') localStorage.removeItem('token')
return router.push('/phoneIndex') return router.push('/phoneIndex')
@@ -84,6 +86,12 @@ _axios.interceptors.response.use(
}else if(webLoginType != null && webLoginType === 'dev'){ }else if(webLoginType != null && webLoginType === 'dev'){
return router.push('/login') return router.push('/login')
} }
*/
messageOnce.warning({
message: '登录超时,请重新登录',
type: 'warning'
})
loginAgain()
} }
return res return res
}, },
+8
View File
@@ -4,6 +4,7 @@ import store from '@/store'
import {Message} from 'element-ui' import {Message} from 'element-ui'
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig' import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
import isMobile from "../../store/isMobile"; import isMobile from "../../store/isMobile";
import { loginAgain } from '@/utils/login'
import domMessage from '../messageOnce/messageOnce' import domMessage from '../messageOnce/messageOnce'
@@ -64,6 +65,7 @@ service.interceptors.response.use(
} }
} }
if(res.data && res.data.respCode !== undefined && res.data.respCode === 'LE505'){ if(res.data && res.data.respCode !== undefined && res.data.respCode === 'LE505'){
/*
if (isMobile()) { if (isMobile()) {
localStorage.removeItem('token') localStorage.removeItem('token')
return router.push('/phoneIndex') return router.push('/phoneIndex')
@@ -80,6 +82,12 @@ service.interceptors.response.use(
return router.push('/login') return router.push('/login')
} }
} }
*/
messageOnce.warning({
message: '登录超时,请重新登录',
type: 'warning'
})
loginAgain()
} }
return res.data return res.data
}, },
+100 -20
View File
@@ -1,27 +1,107 @@
/** /**
* 文件预览 * 文件预览
*/ */
import { onlyOfficeUrl,kkFileViewUrl } from '@/sysConfig' import { onlyOfficeUrl, kkFileViewUrl } from '@/sysConfig'
import { getBusStandFileByAttId } from 'api/process' import { getBusStandFileByAttId } from 'api/process'
let Base64 = require('js-base64').Base64; const Base64 = require('js-base64').Base64;
import store from '@/store' import store from '@/store'
export default attId => { import { Loading } from 'element-ui';
getBusStandFileByAttId({ import axios from '@/common/axiosV2'
attId import isMobile from '@/store/isMobile'
}).then(res => {
if(res){
const editFileInfo = res.data
if(editFileInfo.fileSuffix.toLowerCase() === 'pdg'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix.toLowerCase() === 'pdf'){
window.open('./static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
window.open(kkFileViewUrl+'/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)) + '&watermarkTxt=' + encodeURIComponent(store.getters.userInfo.userName));
} // 获取转换为pdf的文件
} function queryConvertAtt (data) {
}).catch(e => { return axios({
}) url: 'api/lawss/sarBussStandFile/queryConvertAtt',
method: 'get',
params: data
})
} }
async function preview (attId, type) {
let loading;
if (type !== 'getUrl') {
loading = Loading.service({
lock: true,
text: '正在加载文件',
spinner: 'el-icon-loading',
})
}
const res = await getBusStandFileByAttId({ attId })
if (res.ok && res.data) {
let viewer = '/static/pdf/web/viewer.html?file='
if (isMobile()) {
viewer = '/static/pdf_old/web/viewer.html?file='
}
const file = res.data
let url = ''
if (file.fileSuffix.toLowerCase() === 'pdg') {
if (isMobile()) {
this.$message.warning('pdg文件,不支持手机端预览')
return
} else {
url = 'book://ssreader/e0?url=' + file.downLoadUrl
}
} else if (file.fileSuffix.toLowerCase() === 'pdf') {
url = viewer + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + file.id)
} else {
// onlyoffice在线编辑文件转换为pdf预览 -> kkfileview预览乱码
if (file.onlined && file.onlined === 1) {
const res = await queryConvertAtt({ attId })
if (res.ok && res.data) {
url = viewer + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId)
} else {
this.$message.error('文档未转换成功或本地读取不到该文档')
return
}
} else if (file.previewAttId) {
url = viewer + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + file.previewAttId)
}else {
url = kkFileViewUrl + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(file.downLoadUrl)) + '&watermarkTxt=' + encodeURIComponent(store.getters.userInfo.userName)
}
}
if (type === 'getUrl') {
return url
}
window.open(url)
}
loading && loading.close()
}
export default preview;
// export default (attId) => {
// const loading = Loading.service({
// lock: true,
// text: '正在加载文件',
// spinner: 'el-icon-loading',
// })
// getBusStandFileByAttId({
// attId
// }).then(res => {
// if(res) {
// const editFileInfo = res.data
// if(editFileInfo.fileSuffix.toLowerCase() === 'pdg') {
// window.open('book://ssreader/e0?url=' + editFileInfo.downLoadUrl)
// }else if(editFileInfo.fileSuffix.toLowerCase() === 'pdf') {
// window.open('./static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
// }else {
// // const nowTime = new Date().getTime()
// // window.open(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
// if (res.data && res.data.onlined === 1) {
// queryConvertAtt({ attId }).then(res => {
// if (res.ok && res.data) {
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
// } else {
// this.$message.error('文档未转换成功或本地读取不到该文档')
// }
// }).catch(() => {
// this.$message.error('文档未转换成功或本地读取不到该文档')
// })
// }
// window.open(kkFileViewUrl + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)) + '&watermarkTxt=' + encodeURIComponent(store.getters.userInfo.userName));
// }
// }
// }).finally(() => {
// loading.close()
// })
// }
@@ -94,6 +94,10 @@ export default {
required:{ required:{
type:Boolean, type:Boolean,
default:false default:false
},
naButton:{
type:Boolean,
default:false
} }
}, },
components: {}, components: {},
@@ -144,7 +148,16 @@ export default {
return { return {
disabledDate (time) { disabledDate (time) {
return _this.tagList.includes(_this.$dateFormat(time, 'yyyy-MM-dd')) return _this.tagList.includes(_this.$dateFormat(time, 'yyyy-MM-dd'))
} },
shortcuts:_this.naButton ? [{
text: 'N/A',
onClick() {
_this.tagList.push('N/A')
_this.datePickerVisible = false
_this.datePickerVal = ''
_this.$emit('input', _this.tagList.join(','))
}
}] : null
} }
} }
}, },
+6 -4
View File
@@ -212,10 +212,11 @@ export default {
}, },
watch: { watch: {
value: { value: {
handler(val) { handler () {
if (this.showFileModel) { this.getShowFileList()
this.getShowFileList() // if (this.showFileModel) {
} // this.getShowFileList()
// }
} }
} }
}, },
@@ -540,6 +541,7 @@ export default {
*/ */
getShowFileList() { getShowFileList() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.showFileList = []
if (this.value && this.value !== '') { if (this.value && this.value !== '') {
let paramefile = this.value let paramefile = this.value
if (paramefile.charAt(paramefile.length - 1) === ',') { if (paramefile.charAt(paramefile.length - 1) === ',') {
@@ -131,6 +131,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -185,7 +187,7 @@ export default {
replaceLawsNumForm: { replaceLawsNumForm: {
standNumber: '', // 政策编号 standNumber: '', // 政策编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
standType: '', standType: '',
quoteIdList: '', quoteIdList: '',
@@ -130,7 +130,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="文本状态" label="标准状态"
show-overflow-tooltip show-overflow-tooltip
width="130"> width="130">
<template slot-scope="scope"> <template slot-scope="scope">
@@ -143,6 +143,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -206,7 +208,7 @@
standNumber: '', // 政策编号 standNumber: '', // 政策编号
standName: '', standName: '',
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
standType: 'INLAND', standType: 'INLAND',
quoteIdList: '', quoteIdList: '',
@@ -120,13 +120,15 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="stateName" prop="stateName"
label="文本状态"> label="标准状态">
</el-table-column> </el-table-column>
</el-table> </el-table>
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading> <loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -187,7 +189,7 @@ export default {
replaceLawsNumForm: { replaceLawsNumForm: {
numberName: '', // 政策编号 numberName: '', // 政策编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
lawsType: 'FOREIGN', lawsType: 'FOREIGN',
quoteIdList: '', quoteIdList: '',
@@ -123,6 +123,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -183,7 +185,7 @@
// 代替标准号 // 代替标准号
replaceLawsNumForm: { replaceLawsNumForm: {
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
standType: 'ALL', standType: 'ALL',
quoteIdList: '', quoteIdList: '',
@@ -126,6 +126,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -192,7 +194,7 @@ export default {
dataSource: '', dataSource: '',
standNumber: '', // 标准编号 standNumber: '', // 标准编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
standType: 'INLAND', standType: 'INLAND',
quoteIdList: '', quoteIdList: '',
@@ -125,7 +125,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
label="文本状态" label="标准状态"
width="130"> width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span> <span>{{ textStatusMap[scope.row.textStatus] }}</span>
@@ -136,6 +136,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size = "replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -189,8 +191,8 @@ export default {
}, },
data () { data () {
return { return {
textStatus:'',//文本状态 textStatus:'',//标准状态
textStatusMap: {}, // 文本状态id与name对应 textStatusMap: {}, // 标准状态id与name对应
replaceLawsNumModel: false, replaceLawsNumModel: false,
sarBussionessLawsEO: { sarBussionessLawsEO: {
replaceLawsNum: '' replaceLawsNum: ''
@@ -200,7 +202,7 @@ export default {
standNumber: '', // 标准编号 standNumber: '', // 标准编号
standName: '', // 标准编号 standName: '', // 标准编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
standType: 'INLAND', standType: 'INLAND',
quoteIdList: '', quoteIdList: '',
@@ -232,12 +234,12 @@ export default {
this.$http.get("sys/dictype/getDicTypeListCode", {}, { this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this _this: this
}, res => { }, res => {
this.standStateOptions = res.data.WBZTCLASS; // 文本状态 this.standStateOptions = res.data.WBZTCLASS; // 标准状态
this.setMap(this.standStateOptions); this.setMap(this.standStateOptions);
}); });
}, },
methods: { methods: {
// 将文本状态的id与name对应 // 将标准状态的id与name对应
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -147,7 +147,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="130"> width="130">
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -155,6 +155,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -215,7 +217,7 @@ export default {
dataSource: 'BUSINESS', // 数据来源 dataSource: 'BUSINESS', // 数据来源
numberName: '', // 政策编号 numberName: '', // 政策编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
quoteIdList: '', quoteIdList: '',
menuId: '', menuId: '',
@@ -126,7 +126,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
label="文本状态" label="标准状态"
width="130"> width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<span> <span>
@@ -139,6 +139,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -196,8 +198,8 @@ export default {
}, },
data() { data() {
return { return {
textStatus:'',//文本状态 textStatus:'',//标准状态
textStatusMap: {}, // 文本状态id与name对应 textStatusMap: {}, // 标准状态id与name对应
replaceLawsNumModel: false, replaceLawsNumModel: false,
sarBussionessLawsEO: { sarBussionessLawsEO: {
replaceLawsNum: '' replaceLawsNum: ''
@@ -206,7 +208,7 @@ export default {
replaceLawsNumForm: { replaceLawsNumForm: {
standNumber: '', // 政策编号 standNumber: '', // 政策编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
standType: 'FOREIGN', standType: 'FOREIGN',
quoteIdList: '', quoteIdList: '',
@@ -233,7 +235,7 @@ export default {
} }
}, },
methods: { methods: {
// 将文本状态的id与name对应 // 将标准状态的id与name对应
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -385,7 +387,7 @@ export default {
this.$http.get('sys/dictype/getDicTypeListCode', '', { this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this _this: this
}, res => { }, res => {
this.standStateOptions = res.data.WBZTCLASS // 文本状态 this.standStateOptions = res.data.WBZTCLASS // 标准状态
this.setMap(this.standStateOptions) this.setMap(this.standStateOptions)
}, e => { }, e => {
console.log("error"); console.log("error");
@@ -109,15 +109,6 @@
<!-- min-width="130"--> <!-- min-width="130"-->
<!-- >--> <!-- >-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column
type="index"
width="55"
label="序号"
align="center">
<template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (replacePage - 1) * replaceLawsNumForm.pageSize }}
</template>
</el-table-column>
<el-table-column <el-table-column
label="政策编号" label="政策编号"
min-width="130"> min-width="130">
@@ -145,13 +136,15 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="130"> width="130">
</el-table-column> </el-table-column>
</el-table> </el-table>
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading> <loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
<!--分页--> <!--分页-->
<pagination <pagination
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
style="position: relative;" style="position: relative;"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@@ -211,7 +204,7 @@ export default {
lawsNumber: '', // 政策编号 lawsNumber: '', // 政策编号
numberName: '', // 政策名称 numberName: '', // 政策名称
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
quoteIdList: '', quoteIdList: '',
menuId: '', menuId: '',
+265
View File
@@ -0,0 +1,265 @@
<template>
<div>
<!-- 导入模态窗 -->
<el-dialog
v-if="visible"
v-dragDialogWidth
class="dialog"
width="400px"
:visible="visible"
title="导入文件"
:close-on-click-modal="false"
append-to-body
@close="onClose"
>
<el-upload
ref="importfile"
multiple
drag
:action="action"
:headers="headers"
name="file"
:file-list="fileList"
:accept="accept"
:auto-upload="autoUpload"
:limit="limit"
:before-upload="beforeUpload"
:on-success="onSuccess"
:on-remove="onRemove"
:on-preview="onPreview"
:on-exceed="onExceed"
:on-error="onError"
:show-file-list="true"
>
<i class="el-icon-upload" style="color: #3399ff" />
<div class="el-upload__text">点击或拖拽上传文件</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<slot />
<el-button
v-if="manualUpload"
type="primary"
size="mini"
class="common-button-default"
@click="ManualUpload"
>
提交
</el-button>
</div>
</el-dialog>
<!-- 导入失败-->
<el-dialog
:visible.sync="importFailed"
:close-on-click-modal="false"
width="400px"
append-to-body
>
<p slot="title" style="color:#f60">
<span>导入失败</span>
</p>
<div style="max-height: 300px;overflow: auto;padding: 10px 0;">
<p v-html="importForm.content" />
</div>
<div slot="footer" class="demo-drawer-footer">
<el-button
type="primary"
round
class="common-button-default"
icon="el-icon-check"
@click="importFailed = false"
>
确认
</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'Import',
props: {
accept: {
type: String,
default: '.pdf, .PDF, .doc, .DOC, .docx, .DOCX, .ppt, .PPT, .pptx, .PPTX, .xls, .XLS, .xlsx, .XLSX, .pdg, .PDG'
},
action: {
type: String,
required: true
},
visible: {
type: Boolean,
default: false
},
size: {
type: Number,
default: 200
},
// 是否自动上传
autoUpload: {
type: Boolean,
default: true
},
// 手动上传按钮
manualUpload: {
type: Boolean,
default: false
},
limit: {
type: Number,
default: 8
},
ids: {
required: false,
type: String,
default: ''
},
names: {
required: false,
type: String,
default: ''
},
},
data () {
return {
headers: {
token: JSON.parse(localStorage.getItem('userInfo')).token
},
importFailed: false,
importForm: {},
fileList: [],
}
},
created () {
this.initFileList()
},
methods: {
initFileList () {
if (this.ids && this.ids !== '' && this.names && this.names !== '') {
const fileList = []
const idArr = this.ids.split(',')
const nameArr = this.names.split(',')
for (let i = 0; i < idArr.length; i++) {
fileList.push({
id: idArr[i],
name: nameArr[i]
})
}
this.fileList = fileList
} else {
this.fileList = []
}
},
onClose () {
this.$emit('update:visible', false)
},
// 导入按钮 上传之前的钩子
beforeUpload (file) {
const fileName = file.name
const fileSuffix = fileName.slice(fileName.lastIndexOf('.') + 1)
// 判断上传文件格式
const acceptArr = this.accept.split(',').map(type => type.slice(type.lastIndexOf('.') + 1))
// 判断上传文件格式
if (!acceptArr.includes(fileSuffix)) {
this.$message({
dangerouslyUseHTMLString: true,
message: <div style="word-break: break-all;;color: #F56C6C">文件{file.name}格式不正确请上传{acceptArr.join('、')}文件</div>,
type: 'error'
})
return false
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line
this.$message.error('文件' + file.name + `超过${this.size}M`)
return false
}
return true
},
// 导入标准数据成功后执行
onSuccess (response, file, fileList) {
if (response.ok) {
const fileObj = {
id: file.response.data.id,
name: file.response.data.name
}
let ids;
let names;
if (this.ids && this.ids.length > 0) {
ids = this.ids + ',' + fileObj.id
names = this.names + ',' + fileObj.name
} else {
ids = fileObj.id
names = fileObj.name
}
this.$set(this.fileList, this.fileList.length, fileObj)
this.$emit('update:ids', ids)
this.$emit('update:names', names)
this.$emit('update:visible', false)
this.$emit('onSuccess')
this.$message({
message: response.message || response.data,
type: 'success'
})
} else {
this.importFailed = true
this.importForm.content = response.message
}
},
onRemove (file, fileList) {
const ids = fileList
.reduce((init, file) => init + ',' + (file.id || file.response.data.id), '')
.replace(/^,|,$/g, '')
const names = fileList
.reduce((init, file) => init + ',' + (file.name || file.response.data.name), '')
.replace(/^,|,$/g, '')
this.fileList = fileList.map(file => ({
id: file.id || file.response.data.id,
name: file.name
}))
this.$emit('update:ids', ids)
this.$emit('update:names', names)
this.$emit('onRemove')
},
onPreview (file) {
const id = file.id || file.response.data.id
this.$preview(id)
},
onExceed (files, fileList) {
this.$message.warning(`当前限制上传 1 个文件,本次上传了 ${files.length} 个文件,共上传了 ${files.length + fileList.length} 个文件`);
},
onError (err, file, fileList) {
const ids = fileList
.reduce((init, file) => init + ',' + (file.id || file.response.data.id), '')
.replace(/^,|,$/g, '')
const names = fileList
.reduce((init, file) => init + ',' + (file.name || file.response.data.name), '')
.replace(/^,|,$/g, '')
this.fileList = fileList.map(file => ({
id: file.id || file.response.data.id,
name: file.name
}))
this.$emit('update:ids', ids)
this.$emit('update:names', names)
this.$emit('onError')
this.$message.error('上传失败')
},
ManualUpload () {
this.$refs.importfile.submit();
}
}
}
</script>
<style scoped lang="less">
/deep/ .el-upload-dragger{
width: 100% !important;
}
/deep/ .el-upload{
width: 100% !important;
}
/deep/ .el-dialog__body {
padding: 10px 20px !important;
}
</style>
@@ -129,7 +129,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="130"> width="130">
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -137,6 +137,8 @@
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@@ -186,7 +188,7 @@ export default {
lawsNo: '', lawsNo: '',
lawsName: '', // 政策名称 lawsName: '', // 政策名称
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
total: 0, total: 0,
}, },
replaceLawsNumRow: [], // 代替政策号 数组内容 replaceLawsNumRow: [], // 代替政策号 数组内容
@@ -0,0 +1,61 @@
<template>
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
<el-radio-group :value="value"
:disabled="disabled"
:placeholder="placeholder"
@input="handleChange"
>
<el-radio v-for="item in options"
:key="item.value"
:label="item.label">{{ item.value }}</el-radio>
</el-radio-group>
</el-form-item>
</template>
<script>
export default {
name: "RadioGroupFormItem",
props: {
label: {
type: String,
},
prop: {
type: String
},
value: {
required: true
},
disabled: {
type: Boolean,
default: false
},
options: {
type: Array,
required: true
},
},
computed: {
placeholder () {
return `请选择${this.label}`
},
},
methods: {
handleChange (event) {
console.log(event)
this.$emit('input', event)
}
}
}
</script>
<style scoped lang="less">
.add-form-item /deep/ .el-radio-group{
padding: 0 10px !important;
}
.add-form-item /deep/ .el-radio{
margin-right: 15px !important;
}
.add-form-item /deep/ .el-radio:last-child {
margin-right: 0 !important;
}
</style>
@@ -1,25 +1,26 @@
<template> <template>
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled"> <el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
<el-select <el-select
:value="value" :value="value"
:disabled="disabled" :disabled="disabled"
:placeholder="placeholder" :placeholder="placeholder"
:filterable="filterable" :filterable="filterable"
:clearable="clearable" :clearable="clearable"
@change="handleChange"> @change="handleChange"
>
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.value"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
<script> <script>
export default { export default {
name: "SelectFormItem", name: 'SelectFormItem',
props: { props: {
value: { value: {
required: true required: true
@@ -47,15 +48,23 @@ export default {
type: Boolean, type: Boolean,
default: true default: true
}, },
customPlaceholder: {
type: String,
default: ''
},
}, },
computed: { computed: {
placeholder () { placeholder () {
if (this.customPlaceholder !== '') {
return this.customPlaceholder
}
return `请选择${this.label}` return `请选择${this.label}`
}, },
}, },
methods: { methods: {
handleChange (event) { handleChange (event) {
this.$emit('input', event) this.$emit('input', event)
this.$emit('change', event)
} }
} }
} }
@@ -23,6 +23,7 @@ export default {
name: "SelectMultipleFormItem", name: "SelectMultipleFormItem",
props: { props: {
value: { value: {
type: [Array, String],
required: true required: true
}, },
prop: { prop: {
@@ -49,21 +50,39 @@ export default {
default: true default: true
}, },
}, },
data () {
return {
basicType: 'Array'
}
},
computed: { computed: {
placeholder () { placeholder () {
return `请选择${this.label}` return `请选择${this.label}`
}, },
data () { data () {
if (this.value && this.value !== '') { if (!this.value) {
return this.value.split(',')
} else {
return [] return []
} else {
if (this.getType(this.value) === 'Array') {
this.basicType = 'Array'
return this.value
} else if (this.getType(this.value) === 'String'){
this.basicType = 'String'
return this.value.split(',')
}
} }
} }
}, },
methods: { methods: {
getType (target) {
return Object.prototype.toString.call(target).slice(8, -1)
},
handleChange (event) { handleChange (event) {
this.$emit('input', event.join(',')) if (this.basicType === 'Array') {
this.$emit('input', event)
} else if (this.basicType === 'String') {
this.$emit('input', event.join(','))
}
} }
} }
} }
@@ -0,0 +1,722 @@
<template>
<el-drawer
ref="standard"
title="查询结果"
size="1250px"
:visible.sync="visible"
direction="rtl"
append-to-body
>
<div style="flex: 1" class="drawer-content">
<div style="height: calc(100% - 56px)">
<el-form
:model="searchForm"
inline
class="label-input-form search-area"
style="justify-content: left;"
>
<el-form-item label="标准/政策来源" class="search-item">
<el-select
v-model="searchForm.dataSource"
placeholder="请选择标准/政策来源"
@change="dataSourceChange"
>
<el-option v-for="i in dataSourceOptions" :value="i.value" :label="i.label" />
</el-select>
</el-form-item>
<el-form-item
label="标准编号/政策文号"
style="margin-right:10px"
class="search-item"
>
<el-input
v-model="searchForm.lawNumber"
clearable
placeholder="根据编号查找"
:maxlength="100"
/>
</el-form-item>
<el-form-item
label="标准名称/政策名称"
style="margin-right:10px"
class="search-item"
>
<el-input
v-model="searchForm.lawName"
placeholder="根据名称查找"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item>
<el-button
size="mini"
type="primary"
class="common-button-primary"
@click="onSearch"
>
查询
</el-button>
<el-button
class="common-button-default"
size="mini"
@click="onClear"
>
清空
</el-button>
</el-form-item>
</el-form>
<el-table
v-if="showTable"
ref="reviseDrawerTable"
:data="standardData"
tooltip-effect="dark"
style="width: 100%;"
border
height="calc(100% - 51px)"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px'}"
@selection-change="selectionChange"
>
<el-table-column
fixed="left"
type="selection"
width="55"
align="center"
/>
<el-table-column
fixed="left"
type="index"
width="55"
label="序号"
align="center"
>
<template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
</template>
</el-table-column>
<div v-if="searchForm.dataSource === 'INLAND'">
<el-table-column
label="标准号"
width="150"
prop="standCode"
>
<template slot-scope="scope">
<a
v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止'"
class="table-jump"
style="color: #F56C6C"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
<a
v-else-if="scope.row.standYear"
class="table-jump"
style="color: #333333"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
<a
v-else
class="table-jump"
style="color: #333333"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="标准名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="textStatusMap[scope.row.textStatus] === '废止'" class="table-jump" style="color: #F56C6C" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
<a v-else style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
width="120"
label="发布日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.issueTime }}</span>
<span v-else>{{ scope.row.issueTime }}</span>
</template>
</el-table-column>
<el-table-column
prop="ssrq"
width="120"
label="实施日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.ssrq }}</span>
<span v-else>{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="150"
label="新车型实施日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.xcxssrq }}</span>
<span v-else>{{ scope.row.xcxssrq }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
width="150"
label="在产车实施日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.zccssrq }}</span>
<span v-else>{{ scope.row.zccssrq }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
width="110"
label="标准状态"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus]
}}</span>
<span v-else>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</div>
<div v-if="searchForm.dataSource === 'FOREIGN'">
<el-table-column
label="标准号"
width="150"
prop="standCode"
>
<template slot-scope="scope">
<a
v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止'"
style="color: #F56C6C"
class="table-jump"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
<a
v-else-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '——' "
style="color: #409EFF"
class="table-jump"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
<a
v-else-if="scope.row.standYear"
style="color: #333333"
class="table-jump"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
<a
v-else
style="color: #333333"
class="table-jump"
@click="handlePreview(scope.row)"
>{{ scope.row.standCode }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="标准名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standName
}}</a>
<a v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standName
}}</a>
<a v-else style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standName
}}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standEnName"
label="英文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standEnName
}}</a>
<a v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standEnName
}}</a>
<a v-else style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standEnName
}}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
width="120"
label="发布日期"
>
<template slot-scope="scope">
<div v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">
{{ scope.row.issueTime }}
</div>
<div v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">
{{ scope.row.issueTime }}
</div>
<div v-else style="color: #333333">
{{ scope.row.issueTime }}
</div>
</template>
</el-table-column>
<el-table-column
prop="ssrq"
width="120"
label="实施日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
scope.row.ssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ssrq
}}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="150"
label="新车型实施日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
scope.row.xcxssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.xcxssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.xcxssrq
}}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
width="150"
label="在产车实施日期"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
scope.row.zccssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.zccssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.zccssrq
}}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
width="110"
label="标准状态"
>
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus]
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
textStatusMap[scope.row.textStatus]
}}</span>
<span v-else style="color: #333333">{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</div>
<div v-if="searchForm.dataSource === 'FOREIGN_LAWS'">
<el-table-column
show-overflow-tooltip
label="政策文号"
width="150"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNo }}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNo }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNo }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="lawsName"
label="中文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsName }}</a>
<a v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsName }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsName }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="lawsEnName"
label="英文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsEnName }}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsEnName }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
label="发文日期"
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.issueTime }}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{ scope.row.issueTime }}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.issueTime }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQLAWS"
label="新车实施日期"
width="150"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.putTime }}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{ scope.row.putTime }}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.XCXSSRQLAWS }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standStatusShow"
:label="standardStatusName"
width="110"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
{{ scope.row.standStatusShow }}
</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">
{{ scope.row.standStatusShow }}
</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
{{ scope.row.standStatusShow }}
</span>
</template>
</el-table-column>
</div>
<div v-if="searchForm.dataSource === 'BUSINESS_STAND'">
<el-table-column
show-overflow-tooltip
label="企标编号"
width="150"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="中文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
<a v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standEnName"
label="英文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.issueTime }}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{ scope.row.issueTime }}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.issueTime }}</span>
</template>
</el-table-column>
<el-table-column
prop="putTime"
label="实施日期"
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.putTime }}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{ scope.row.putTime }}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.putTime }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standStatusShow"
label="标准状态"
width="110"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
{{ scope.row.standStatusShow }}
</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">
{{ scope.row.standStatusShow }}
</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
{{ scope.row.standStatusShow }}
</span>
</template>
</el-table-column>
</div>
</el-table>
</div>
<pagination
:page="searchForm.page"
:total="searchForm.total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div>
<div class="drawer-footer">
<el-button
round
class="common-button-primary"
icon="el-icon-check"
type="primary"
@click="onDrag"
>
带入
</el-button>
<el-button
round
class="common-button-default"
icon="el-icon-close"
@click="onCancel"
>
取消
</el-button>
</div>
<loading :loading="loading">数据获取中</loading>
</el-drawer>
</template>
<script>
export default {
name: 'StandardListDrawer',
data () {
const dataSourceOptions = [
{
label: '国内标准库',
value: 'INLAND'
},
{
label: '海外标准库',
value: 'FOREIGN'
},
{
label: '国内外政策库',
value: 'FOREIGN_LAWS'
},
{
label: '企业标准库',
value: 'BUSINESS_STAND'
},
]
const searchForm = {
dataSource: 'INLAND',
standType: 'INLAND',
lawCode: '',
lawName: '',
productType: '',
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
}
return {
searchForm,
initSearchForm: JSON.parse(JSON.stringify(searchForm)),
dataSourceOptions,
standardData: [],
loading: false,
url: {
INLANDFOREIGN: 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',
FOREIGN_LAWS: 'lawss/sarLawsInfo/page',
BUSINESS_STAND: 'lawss/sarBussionessStand/getSarBussionStandPage'
},
textStatusMap: {},
showTable: true,
visible: false,
selectedList: [],
}
},
computed: {
standardStatusName () {
return this.searchForm.standType === 'FOREIGN_LAWS' ? '政策状态' : '标准状态'
}
},
created () {
this.getDicTypeListCode()
this.getData()
},
methods: {
open () {
this.visible = true
this.searchForm = JSON.parse(JSON.stringify(this.initSearchForm))
this.selectedList = []
this.getData()
},
onCancel () {
this.visible = false
},
getData () {
this.searchForm.standType = this.searchForm.dataSource
const params = { dataSource: this.searchForm.dataSource, standType: this.searchForm.standType, page: this.searchForm.page, total: this.searchForm.total, ...this.searchForm.pageSize }
const config = {
_this: this,
loading: 'loading'
}
let url = this.url.INLANDFOREIGN
switch (this.searchForm.dataSource) {
case 'INLAND':
case 'FOREIGN':
url = this.url.INLANDFOREIGN
params.standNumber = this.searchForm.lawNumber
params.standName = this.searchForm.lawName
break
case 'FOREIGN_LAWS':
url = this.url.FOREIGN_LAWS
params.lawsNo = this.searchForm.lawNumber
params.lawsName = this.searchForm.lawName
break
case 'BUSINESS_STAND':
url = this.url.BUSINESS_STAND
params.standCode = this.searchForm.lawNumber
params.standName = this.searchForm.lawName
break
}
this.$http._getData(url, params, config).then(res => {
if (res.ok) {
this.standardData = res.data.list
this.searchForm.total = res.data.count
this.showTable = false
this.$nextTick(() => {
this.showTable = true
})
}
})
},
pageChange (page) {
this.searchForm.page = page
this.getData()
},
pageSizeChange (pageSize) {
this.searchForm.pageSize = pageSize
this.getData()
},
dataSourceChange () {
const standType = this.searchForm.dataSource
this.searchForm = JSON.parse(JSON.stringify(this.initSearchForm))
this.searchForm.dataSource = standType
this.searchForm.standType = standType
this.standType = standType
console.log(this.standType)
this.getData()
},
onSearch () {
this.searchForm.page = 1
this.getData()
},
onClear () {
this.searchForm.page = 1
this.searchForm.lawNumber = ''
this.searchForm.lawName = ''
this.getData()
},
getDicTypeListCode () {
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
if (res.ok) {
this.dict = { ...res.data }
this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
}
})
},
setMap (data, key) {
data.forEach(item => {
this.$set(this[key], item.value, item.label);
});
},
selectionChange (selection) {
this.selectedList = selection
},
// 点击查看
handlePreview (item) {
let name = '', id = item.id, pageType = ''
if (item.standType === 'INLAND') {
name = 'OtherStandardDetails'
pageType = 'INLAND_STAND'
}else if (item.standType === 'FOREIGN') {
name = 'OtherStandardDetails'
pageType = 'FOREIGN_STAND'
}else if (item.country !== undefined) {
name = 'OtherLawsStandDetails'
pageType = 'LAWS_STAND'
} else {
name = 'OtherBussStandardDetails'
pageType = 'BUSINESS_STAND'
}
const routeUrl = this.$router.resolve({ name, params: { id, pageType } })
window.open(routeUrl.href, '_blank')
},
onDrag () {
this.$emit('dragIn', {
list: this.selectedList,
type: this.searchForm.dataSource
})
this.visible = false
}
}
}
</script>
<style scoped lang="less">
.drawer-content{
padding: 0 19px;
overflow-y: auto;
flex: 1;
position: relative;
}
.drawer-footer {
width: 100%;
padding: 0 20px;
height: 70px;
line-height: 69px;
border-top: 1px solid #e8e8e8;
text-align: right;
background: #fff;
z-index: 999;
}
</style>
@@ -3,35 +3,37 @@
<el-card> <el-card>
<el-form-item :prop="prop" style="margin-bottom: 0"> <el-form-item :prop="prop" style="margin-bottom: 0">
<h4>{{ title }}</h4> <h4>{{ title }}</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;max-width: 100%">
<el-input <el-input
:disabled="disabled" :disabled="disabled"
:value="name" :value="name"
:placeholder="`选择${title}`" :placeholder="placeholder || `选择${title}`"
readonly readonly
@click.native="choice(id)"></el-input> @click.native="choice(id)"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
<Role-tree v-if="!disabled" <Role-tree
:check-box="!multiple" v-if="!disabled"
:is-title="`选择${title}`" :check-box="!multiple"
:is-visible.sync="modalShowFlag" :is-title="`选择${title}`"
@checkedRole="checkedRole" :is-visible.sync="modalShowFlag"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> @checkedRole="checkedRole"
/>
</el-timeline-item> </el-timeline-item>
</template> </template>
<script> <script>
export default { export default {
name: "TimeLineFormItem", name: 'TimeLineFormItem',
props: { props: {
id:{ id: {
type: String, type: String,
required: true required: true
}, },
name:{ name: {
type: String, type: String,
required: true required: true
}, },
@@ -50,14 +52,17 @@ export default {
type: String, type: String,
required: true required: true
}, },
multiple: {// 多选 multiple: { // 多选
type: Boolean, type: Boolean,
default: false default: false
},
placeholder: {
type: String
} }
}, },
data () { data () {
return { return {
drawerTitle: '', //drawer标题 drawerTitle: '', // drawer标题
modalShowFlag: false, // drawer开关 modalShowFlag: false, // drawer开关
nodeList: [], nodeList: [],
} }
@@ -77,7 +82,7 @@ export default {
this.$emit('update:name', name) this.$emit('update:name', name)
}, },
joint (data, type) { joint (data, type) {
return data.reduce((init,item) => { return data.reduce((init, item) => {
if (init === '') { if (init === '') {
return item[type] return item[type]
} else { } else {
+192 -47
View File
@@ -5,55 +5,122 @@
style="display: none;" style="display: none;"
:value="ids" :value="ids"
clearable clearable
></el-input> />
<div style="display: flex;justify-content: space-between"> <div style="display: flex;justify-content: space-between">
<div style="width: 80%;margin-top: 13px"> <div style="margin-top: 13px" :style="{width: view ? '100%' : '80%'}">
<div v-for="file in FileList" <template v-if="FileList.length > 0">
:key="file.id" <div
@click="onPreview(file)" v-for="file in FileList"
style="color: #409eff;cursor:pointer" :key="file.id"
class="fileClass"> style="color: #409eff;cursor:pointer"
{{ file.name }} class="fileClass"
</div> @click="onPreview(file)"
>
{{ file.name }}
<template v-if="down">
<span v-if="file.id !== ''" style="margin-left: 7px;">
<i class="el-icon-download" title="下载" @click="onPreview(file, 'down')" />
</span>
</template>
</div>
</template>
<template v-else>
<div v-if="view" style="line-height: 22px">-</div>
</template>
</div> </div>
<div style="width: 20%;"> <div v-if="!view" style="width: 20%;">
<el-button :disabled="disabled" <el-button
type="primary" :disabled="disabled"
class="common-button-primary" type="primary"
size="mini" class="common-button-primary"
@click="showUpload" size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"> style="margin-left: 10px; margin-top: 11px; float: right;"
<i class="el-icon-upload"></i> @click="showUpload"
>
<i class="el-icon-upload" />
</el-button> </el-button>
</div> </div>
</div> </div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件"> <el-dialog
v-dragDialogWidth
width="400px"
:visible.sync="fileMadel"
title="上传文件"
:close-on-click-modal="false"
append-to-body
>
<el-upload <el-upload
multiple ref="importfile"
drag multiple
:file-list="fileList" drag
:action="fileUrl" :file-list="fileList"
ref="importfile" :action="fileUrl"
name="file" name="file"
:accept="accept" :accept="accept"
:before-upload="beforeUpload" :before-upload="beforeUpload"
:on-success="onSuccess" :on-success="onSuccess"
:on-preview="onPreview" :on-preview="onPreview"
:on-remove="removeOneFile" :on-remove="removeOneFile"
:show-file-list="true" :show-file-list="false"
> >
<div style="padding: 20px 0"> <div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i> <i class="el-icon-upload" style="color: #3399ff" />
<p>点击或拖拽上传文件</p> <p>点击或拖拽上传文件</p>
</div> </div>
</el-upload> </el-upload>
<ul class="el-upload-list el-upload-list--text">
<li
v-for="(file, index) in FileList"
:key="index"
class="el-upload-list__item is-success"
:title="file.name"
@click="onPreview(file)"
>
<a class="el-upload-list__item-name">
<i class="el-icon-document" />
{{ file.name }}
</a>
<label class="el-upload-list__item-status-label">
<i class="el-icon-upload-success el-icon-circle-check" />
</label>
<i class="el-icon-edit" @click.stop="handleModifyName(file)" />
<i class="el-icon-close" @click.stop="handleRemoveFile(file)" />
</li>
</ul>
</el-dialog>
<el-dialog
title="修改文件名称"
:visible.sync="openModifyFileNameDialog"
append-to-body
>
<el-input v-model="modifyFile.fileName" />
<div class="demo-drawer-footer" style="text-align: right;margin-top:30px">
<el-button
class="common-button-primary"
size="mini"
icon="el-icon-check"
type="primary"
:loading="modifyFileNameLoading"
@click="handleModifyNameSubmite"
>
提交
</el-button>
<el-button
class="common-button-default"
size="mini"
icon="el-icon-close"
@click="openModifyFileNameDialog = false"
>
取消
</el-button>
</div>
</el-dialog> </el-dialog>
</el-form-item> </el-form-item>
</template> </template>
<script> <script>
export default { export default {
name: "UploadFormItem", name: 'UploadFormItem',
props: { props: {
ids: { ids: {
required: true, required: true,
@@ -85,28 +152,43 @@ export default {
size: { size: {
type: Number, type: Number,
default: 200 default: 200
} },
}, view: {
created () { type: Boolean,
this.initFileList() default: false
},
down: {
type: Boolean,
default: false
},
}, },
data () { data () {
return { return {
fileMadel: false, fileMadel: false,
fileList: [],// 用于el-upload fileList: [], // 用于el-upload
FileList: [],// 用于回显 FileList: [], // 用于回显
openModifyFileNameDialog: false,
modifyFile: {
fileName: '',
fileId: ''
},
modifyFileNameLoading: false
} }
}, },
created () {
this.initFileList()
},
methods: { methods: {
showUpload () { showUpload () {
this.fileMadel = true; this.fileMadel = true;
}, },
initFileList () { initFileList () {
if (this.ids && this.ids !== '' && this.names && this.names !== '') { if (this.ids && this.ids !== '' && this.names && this.names !== '') {
let fileList = [] const fileList = []
const idArr = this.ids.split(',') const idArr = this.ids.split(',')
const nameArr = this.names.split(',') const nameArr = this.names.split(',')
for (let i = 0 ; i < idArr.length; i++) { for (let i = 0; i < idArr.length; i++) {
fileList.push({ fileList.push({
id: idArr[i], id: idArr[i],
name: nameArr[i] name: nameArr[i]
@@ -114,6 +196,9 @@ export default {
} }
this.fileList = fileList this.fileList = fileList
this.FileList = fileList this.FileList = fileList
} else {
this.fileList = []
this.FileList = []
} }
}, },
beforeUpload (file) { beforeUpload (file) {
@@ -132,13 +217,13 @@ export default {
} }
// 判断文件上传大小 // 判断文件上传大小
if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line
this.$message.error('文件' + file.name + `超过${ this.size }M`) this.$message.error('文件' + file.name + `超过${this.size}M`)
return false return false
} }
return true return true
}, },
// 导入标准数据成功后执行 // 导入标准数据成功后执行
onSuccess (response, file,fileList) { onSuccess (response, file, fileList) {
// 上传成功后判断是否是两条数据是的话替换掉旧数据 // 上传成功后判断是否是两条数据是的话替换掉旧数据
if (response.ok) { if (response.ok) {
const fileObj = { const fileObj = {
@@ -165,7 +250,7 @@ export default {
}) })
} }
}, },
removeOneFile(file, fileList) { removeOneFile (file, fileList) {
const ids = fileList.reduce((init, file) => { const ids = fileList.reduce((init, file) => {
if (init === '') { if (init === '') {
return file.id || file.response.data.id return file.id || file.response.data.id
@@ -189,14 +274,58 @@ export default {
this.$emit('update:names', names) this.$emit('update:names', names)
}, },
// 文件预览及下载 // 文件预览及下载
onPreview(file) { onPreview (file, type) {
let attId = "" let attId = ''
if(file && file.id){ if(file && file.id) {
attId = file.id attId = file.id
}else { }else {
attId = file.response.data.id attId = file.response.data.id
} }
this.$preview(attId) if (type === 'down') {
if (attId) {
window.open('/api/att/attFile/downloadFileForSarNew?fileId=' + attId)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.$preview(attId)
}
},
handleRemoveFile (file) {
const fileList = []
this.FileList.forEach(item => {
if (item.id !== file.id) {
fileList.push(item)
}
})
this.removeOneFile(file, fileList)
},
handleModifyName (file) {
this.modifyFile.fileName = file.name
this.modifyFile.fileId = file.id
this.openModifyFileNameDialog = true
},
handleModifyNameSubmite () {
this.modifyFileNameLoading = true
this.$http.get('att/attFile/updateFileName', this.modifyFile, {
_this: this
}, res => {
if(res.ok) {
this.modifyFileNameLoading = false
this.openModifyFileNameDialog = false
this.FileList.forEach(item => {
if(item.id === this.modifyFile.fileId) {
item.name = this.modifyFile.fileName
}
})
const ids = this.FileList.map(item => item.id).join(',')
const names = this.FileList.map(item => item.name).join(',')
this.$emit('update:ids', ids)
this.$emit('update:names', names)
}
}, e => {
this.modifyFileNameLoading = false
})
}, },
} }
} }
@@ -206,4 +335,20 @@ export default {
.fileClass{ .fileClass{
line-height: 22px !important; line-height: 22px !important;
} }
.add-form-item /deep/ .el-form-item__content .el-form-item__error {
padding: 3px;
top: 15px;
right: 45px !important;
left: auto;
background: #fff3f3;
z-index: 9;
}
.el-upload-list__item .el-icon-edit{
position: absolute;
top: 5px;
right: 25px;
cursor: pointer;
opacity: .75;
color: #606266;
}
</style> </style>
+13 -6
View File
@@ -1,9 +1,9 @@
<template> <template>
<!--导出文件改名字模态框--> <!--导出文件改名字模态框-->
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px" :append-to-body="appendToBody"> <el-dialog :visible.sync="exportModelFlag" title="导出文件" width="310px" :append-to-body="appendToBody">
<el-form :inline="true" class="label-input-form search-area"> <el-form :inline="true" class="label-input-form search-area">
<el-form-item label="导出名称" class="search-item"> <el-form-item label="导出名称" class="search-item">
<el-input v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/> <el-input class="exportFileInput" v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="demo-drawer-footer"> <span slot="footer" class="demo-drawer-footer">
@@ -16,7 +16,7 @@
<script> <script>
export default { export default {
name: "exportDialog", name: "exportDialog",
data () { data() {
return { return {
exportModelFlag: false, exportModelFlag: false,
exportName: '' exportName: ''
@@ -29,14 +29,14 @@ export default {
} }
}, },
methods: { methods: {
openModel () { openModel() {
this.exportName = '' this.exportName = ''
this.exportModelFlag = true this.exportModelFlag = true
}, },
cancel () { cancel() {
this.exportModelFlag = false this.exportModelFlag = false
}, },
submit () { submit() {
// 导出文件名 // 导出文件名
this.$emit('exportName', this.exportName) this.$emit('exportName', this.exportName)
} }
@@ -45,9 +45,14 @@ export default {
</script> </script>
<style scoped> <style scoped>
.exportFileInput /deep/.el-input__inner {
padding-right: 0 !important;
}
/deep/ .label-input-form .add-form-item .el-form-item__content .el-input .el-input__inner { /deep/ .label-input-form .add-form-item .el-form-item__content .el-input .el-input__inner {
width: 280px; width: 280px;
} }
/deep/ .el-dialog .el-dialog__header { /deep/ .el-dialog .el-dialog__header {
width: 100%; width: 100%;
font-size: 14px; font-size: 14px;
@@ -58,9 +63,11 @@ export default {
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
/deep/ .el-dialog .el-dialog__body { /deep/ .el-dialog .el-dialog__body {
padding: 15px 20px; padding: 15px 20px;
} }
/deep/ .el-dialog .el-dialog__footer .el-button { /deep/ .el-dialog .el-dialog__footer .el-button {
height: 32px; height: 32px;
padding: 8px 23px; padding: 8px 23px;
+13 -5
View File
@@ -1,7 +1,8 @@
<template> <template>
<div> <div>
<!-- 导入模态窗 --> <!-- 导入模态窗 -->
<el-dialog width='400px' v-if="visible" :visible="visible" @close="onClose" title="导入文件"> <el-dialog width='400px' v-if="visible" :visible="visible" @close="onClose" title="导入文件" v-dragDialogWidth
:close-on-click-modal="false" append-to-body>
<el-upload <el-upload
multiple multiple
drag drag
@@ -14,10 +15,11 @@
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="true" :show-file-list="true"
> >
<div style="padding: 20px 0"> <!-- <div style="padding: 20px 0">-->
<i class="el-icon-upload" style="color: #3399ff"></i> <i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p> <div class="el-upload__text">点击或拖拽上传文件</div>
</div>
<!-- </div>-->
</el-upload> </el-upload>
</el-dialog> </el-dialog>
<!-- 导入失败--> <!-- 导入失败-->
@@ -104,6 +106,12 @@ export default {
} }
</script> </script>
<style scoped> <style scoped lang="less">
/deep/ .el-upload-dragger{
width: 100% !important;
}
/deep/ .el-upload{
width: 100% !important;
}
</style> </style>
@@ -2,30 +2,34 @@
<div> <div>
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled"> <el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
<el-input <el-input
:value="value" :value="value"
:placeholder="placeholder" :placeholder="placeholder"
:clearable="clearable" :clearable="clearable"
:disabled="disabled" :disabled="disabled"
readonly readonly
@click.native="choice('role', placeholder, value)"> @click.native="choice('role', placeholder, value)"
></el-input> />
</el-form-item> </el-form-item>
<Role-tree <Role-tree
:is-title="choiceTitle" :is-title="choiceTitle"
:is-visible.sync="modalShowRoleFlag" :is-visible.sync="modalShowRoleFlag"
@checkedRole="checkedRole" :nodeList="nodeList"
:nodeList="nodeList" @checkedRole="checkedRole"
></Role-tree> />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "personFormItem", name: 'PersonFormItem',
props: { props: {
value: { value: {
required: true required: true
}, },
id: {
type: String,
default: ''
},
prop: { prop: {
type: String type: String
}, },
@@ -57,14 +61,14 @@ export default {
handleChange (event) { handleChange (event) {
this.$emit('input', event) this.$emit('input', event)
}, },
choice(type, title, nameId) { choice (type, title, nameId) {
this.nodeList = [] this.nodeList = []
if (nameId) { if (nameId) {
let nameId1 = nameId.split(',') const nameId1 = nameId.split(',')
let idList = [] let idList = []
nameId1.forEach(item => { nameId1.forEach(item => {
let a, b let a, b
a = item.substring(item.indexOf('(') +1) a = item.substring(item.indexOf('(') + 1)
b = a.substring(0, a.lastIndexOf(')')) b = a.substring(0, a.lastIndexOf(')'))
idList.push(b) idList.push(b)
}) })
@@ -75,7 +79,7 @@ export default {
this.choiceTitle = title this.choiceTitle = title
this.modalShowRoleFlag = true this.modalShowRoleFlag = true
}, },
checkedRole(data) { checkedRole (data) {
let idList = '' let idList = ''
let nameList = '' let nameList = ''
data.forEach(item => { data.forEach(item => {
@@ -87,12 +91,13 @@ export default {
nameList += item.name nameList += item.name
}) })
this.$emit('input', nameList) this.$emit('input', nameList)
this.$emit('update:id', idList)
this.$emit('change', { this.$emit('change', {
ids: this.unique(data.map(item => item.topUnitId)).join(","), ids: this.unique(data.map(item => item.institutionId)).join(','),
names: this.unique(data.map(item => item.topUnit)).join(",") names: this.unique(data.map(item => item.institutionCascade)).join(',')
}) })
}, },
unique(newArr) { unique (newArr) {
const res = new Map(); const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1)); return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
}, },
@@ -129,6 +129,7 @@ export default {
}, },
watch: { watch: {
data() { data() {
this.isEmpty = false
if (this.data.length === 0) { if (this.data.length === 0) {
this.scrollTo(0,0) this.scrollTo(0,0)
this.isEmpty = true this.isEmpty = true
@@ -0,0 +1,103 @@
<template>
<div class="phoneHistortTable">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
min-width="100"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
min-width="100"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="100"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
min-width="100"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
min-width="100"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</template>
<script>
export default {
name: "phoneApprovalHistory",
data() {
return {
histortData: [],
loading: false
}
},
props: {
prcNum: {
type: String
}
},
methods: {
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.prcNum || this.$route.query.prcNum
}, {
loading: "loading",
_this: this
}, res => {
this.histortData = res
}, e => {})
},
},
mounted () {
this.getHistoryData()
}
}
</script>
<style lang="less" scoped>
.phoneHistortTable{
height: calc(100vh - 157px);
//min-height: calc(100vh - 52px)
}
</style>
@@ -0,0 +1,578 @@
<template>
<div class="roleTree">
<el-drawer
:title="isTitle"
v-if="visible"
:visible.sync="visible"
:wrapperClosable="false"
@close="handleTreeDrawerCancel"
append-to-body
size="90%">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
@submit.native.prevent
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText"
placeholder="请输入姓名"
@keyup.enter.native="searchChange"
size="mini"
></el-input>
</el-form-item>
<el-form-item class="form-item-disabled" style="margin-top: 10px;">
<el-button size="mini" type="primary" @click="searchChange">
查询
</el-button>
</el-form-item>
</el-form>
<div class="divTree">
<!-- 当前tree展示全部人员 -->
<el-tree
v-if="open1 && isVisible"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree tree-line"
icon-class="icon-tree"
@check-change="checkChange"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
:default-expanded-keys="defaultKey"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="true"
show-checkbox
ref="tree"
:load="loadNode"
:lazy="true">
<span class="custom-tree-node" slot-scope="{ node, data }">
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
<span> {{ node.label }} </span>
</span>
</el-tree>
<!-- 当前tree展示搜索出的人员 -->
<el-tree
v-if="!open1 && isVisible"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree tree-line"
icon-class="icon-tree"
:data="treeData1"
:props="defaultProps"
@check-change="checkChange2"
:default-checked-keys="nodeList2"
:default-expanded-keys="defaultKey"
default-expand-all
highlight-current
:check-strictly="true"
@check="drawerCheck"
show-checkbox
ref="tree"
:lazy="false"
:key="treeKey"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
<span> {{ node.label }} </span>
</span>
</el-tree>
</div>
<div class="divDel">
<div class="divDel_title">已选中人员</div>
<div class="divDel_box">
<el-tag
v-for="tag in delList"
:key="tag.id"
size="mini"
@close="handleClose(tag)"
closable>
{{tag.name}}
</el-tag>
<el-tag v-show="delList.length > 0 && !checkBox" type="danger" closable size="mini"
@close="handleCloseAll()">全部删除
</el-tag>
</div>
</div>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
:loading="subLoading" @click="saveUserInfo">确定
</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" :loading="subLoading"
@click="handleTreeDrawerCancel">取消
</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
</div>
</template>
<script>
function debounce(func, wait = 500) {
let timeout;
return function (event) {
clearTimeout(timeout)
timeout = setTimeout(() => {
func.call(this, event)
}, wait)
}
}
export default {
name: "phoneRoleTree",
props: {
checkBox: { // 单选/多选
type: Boolean,
default: false,//默认false多选
},
isTitle: { // 标题
type: String
},
isVisible: { // drawer开关
type: Boolean,
default: false,
},
nodeList: { // 回显
type: Array,
default: () => {
return []
}
},
type: {
type: Number,
default: 0
}
},
data() {
return {
treeKey: 1,
defaultKey: [],//默认展开的节点的 key 的数组
visible: false,
selectList: [],
nodeList2: [],//默认勾选的节点的 key 的数组
delList: [],
roleList: [],
filterText: '',
defaultProps: {//配置选项
children: 'children',//指定子树为节点对象的某个属性值
label: 'name',//指定节点标签为节点对象的某个属性值
},
treeData1: [],
treeData: [],
open1: true,
treeLoading: false,
subLoading: false,
roleRow: {}
}
},
methods: {
nameJoinAccount(treeData1) {
treeData1.forEach(item => {
if (item.account) item.name = `${item.name}(${item.account})`
if (item.children) this.nameJoinAccount(item.children)
})
},
handleClose(tag) {
let arr = []
for (let a = 0; a < this.delList.length; a++) {
if (tag.id === this.delList[a].id) {
this.delList.splice(a, 1)
}
}
this.delList.map(item => {
arr.push(item)
})
this.$refs.tree.setCheckedKeys(arr);
for (let b = 0; b < this.nodeList2.length; b++) {
if (tag.id === this.nodeList2[b]) {
this.nodeList2.splice(b, 1)
}
}
for (let c = 0; c < this.roleList.length; c++) {
if (tag.id === this.roleList[c].id) {
this.roleList.splice(c, 1)
}
}
},
handleCloseAll() {
this.$msgbox({
title: '提示',
message: '是否删除当前选中人员',
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
this.delList = []
this.nodeList2 = []
this.roleList = []
this.$refs.tree.setCheckedKeys([]);
}).catch(() => {
this.$message({
type: 'info',
message: '取消删除'
});
}
)
},
searchChange() {
// 查询
if (this.filterText.length) {
this.open1 = false // 显示第二个tree
this.treeLoading = true
this.defaultKey = []
this.$http.get('SarInstitution/institution/getNextTwo', {
userName: this.filterText
}, {}, res => {
this.treeData1 = res
this.treeData1.forEach(item => {
this.defaultKey.push(item.id)
})
this.nameJoinAccount(this.treeData1)
this.treeLoading = false
})
// this.treeKey++
// this.$http.get('SarInstitution/institution/institutionAndUser', {
// userName: this.filterText
// }, {}, res => {
// this.treeData1 = res.data
// this.treeData1.forEach(item => {
// this.defaultKey.push(item.id)
// })
// console.log(1);
// this.getChildren()
// this.treeLoading = false
// })
} else {
this.open1 = true
}
},
changeInput: debounce(function (val) {
if (val.length) {
this.open1 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData1 = res.data
this.treeLoading = false
})
} else {
this.open1 = true
}
}),
checkChange2(row, type, c) {
if (this.checkBox) {
} else {
if (type) {
this.nodeList2.push(row.id)
this.delList.push(row)
} else {
for (let a = 0; a < this.nodeList2.length; a++) {
if (row.id === this.nodeList2[a]) {
this.nodeList2.splice(a, 1)
}
}
for (let b = 0; b < this.delList.length; b++) {
if (row.id === this.delList[b].id) {
this.delList.splice(b, 1)
}
}
}
}
},
checkChange(row, type, c) {
//节点选中状态发生变化时的回调(传递给 data 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点)
if (this.checkBox) {
} else {
if (type) {
this.nodeList2.push(row.id)
this.delList.push(row)
} else {
for (let a = 0; a < this.nodeList2.length; a++) {
if (row.id === this.nodeList2[a]) {
this.nodeList2.splice(a, 1)
}
}
for (let b = 0; b < this.delList.length; b++) {
if (row.id === this.delList[b].id) {
this.delList.splice(b, 1)
}
}
}
}
},
handleTreeDrawerCancel() {
this.filterText = ''
this.open1 = true
this.visible = false
},
saveUserInfo() {
if (this.roleList.length === 0) {
// this.roleList.push({id: "", name: ""});
return this.$message.warning('请选择人员')
}
if (this.checkBox) {
this.$emit('checkedRole', this.roleList)
this.nodeList2 = []
this.$emit('update:isVisible', false)
} else {
if (this.nodeList2.length > 0 && this.nodeList2[0].length !== 0) {
let ids = ''
this.nodeList2.forEach(item => {
if (ids.length > 0) {
ids += ','
ids += item
} else {
ids = item
}
})
this.subLoading = true
this.$http.get('SarInstitution/institution/getNextById', {
ids: ids,
topNum: 3,
}, {
_this: this
}, res => {
this.$emit('checkedRole', res)
this.nodeList2 = []
this.$emit('update:isVisible', false)
this.subLoading = false
})
} else {
this.$emit('checkedRole', this.roleList)
this.nodeList2 = []
this.$emit('update:isVisible', false)
}
}
this.open1 = true
},
drawerCheck(data) {
//当复选框被点击的时候触发
//共两个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、树目前的选中状态对象,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四个属性
if (this.checkBox) { // 单选
// 单选判断
let getlist = this.$refs.tree.getCheckedNodes()
if (getlist.length > 1) {
this.$refs.tree.setCheckedKeys([])
this.$refs.tree.setCheckedKeys([data.id])
this.roleList = [data]
this.delList = [data]
} else if (getlist.length === 0) {
this.roleList = [{}]
this.delList = []
} else if (getlist.length === 1) {
this.roleList = [data]
this.delList = [data]
}
} else { // 多选
if (this.roleList.length === 0) {
this.roleList.push(data)
} else {
let delFlag = true
this.roleList.forEach((item, index) => {
if (item.id === data.id) {
this.roleList.splice(index, 1)
delFlag = false
}
})
if (delFlag) {
this.roleList.push(data)
}
}
// this.roleList = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes())
}
},
loadNode(node, resolve) {
//加载子树数据的方法,仅当 lazy 属性为true 时生效
if (node.level === 0) {
return resolve(this.treeData);
}
this.getChildren(node, resolve)
},
getChildren(node, resolve) {
this.$http.get('SarInstitution/institution/getNext', {
institutionId: node.key,
userName: this.filterText
}, {}, res => {
resolve(res)
})
},
getTree() {
this.treeLoading = true
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res => {
this.treeData = res
this.treeLoading = false
})
}
},
watch: {
isVisible(val) {
this.visible = val
if (val) {
this.nodeList2 = this.nodeList
if (this.nodeList2.length && this.nodeList2[0].length) {
let ids = ''
this.nodeList2.forEach(item => {
if (ids.length) {
ids += ','
ids += item
} else {
ids = item
}
})
this.$http.get('SarInstitution/institution/getNextById', {
ids: ids
}, {
_this: this
}, res => {
this.delList = res
})
} else {
this.delList = []
}
} else {
this.delList = []
}
},
visible(val) {
this.$emit('update:isVisible', val)
}
},
mounted() {
this.getTree()
}
}
</script>
<style lang="less" scoped>
.divTree {
overflow: auto;
height: calc(~'100% - 100px');
}
.divDel {
border-top: 1px solid #000;
height: 100px;
.divDel_title {
margin: 10px;
}
.divDel_box {
height: 66px;
padding: 0px 0 10px;
display: flex;
flex-wrap: wrap;
overflow: auto;
margin: 10px;
align-content: flex-start;
span {
margin: 0px 5px 5px 0;
}
}
}
/deep/ .icon-tree {
margin: 0 5px 0 10px;
position: relative;
background: url('~@/assets/images/shangqi/img/tree-add.png');
background-size: 100% 100%;
}
/deep/ .el-tree-node__content {
padding-left: 0px !important;
}
/deep/ .is-leaf {
background-image: none;
background-size: 100% 100%;
}
/deep/ .is-leaf-none {
position: relative;
display: inline-block;
width: 15px;
height: 15px;
background: url('~@/assets/images/shangqi/img/personnel.png');
background-size: 100% 100%;
}
/deep/ .is-show {
position: relative;
display: inline-block;
width: 15px;
height: 15px;
background: url('~@/assets/images/shangqi/img/mechanism.png');
background-size: 100% 100%;
}
/deep/ .tree-line {
.el-tree-node {
position: relative;
padding-left: 0px; // 缩进量
line-height: 30px;
}
.el-tree-node__children {
padding-left: 16px; // 缩进量
}
// 竖线
.el-tree-node::before {
content: "";
height: 100%;
width: 1px;
position: absolute;
left: -3px;
top: -26px;
border-width: 1px;
border-left: 1px dashed #858990e0;
}
// 当前层最后一个节点的竖线高度固定
.el-tree-node:last-child::before {
height: 38px; // 可以自己调节到合适数值
}
// 横线
.el-tree-node::after {
content: "";
width: 11px;
height: 20px;
position: absolute;
left: -3px;
top: 12px;
border-width: 1px;
border-top: 1px dashed #858990e0;
}
// 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
& > .el-tree-node::after {
border-top: none;
}
& > .el-tree-node::before {
border-left: none;
}
// 展开关闭的icon
.el-tree-node__expand-icon {
font-size: 16px;
// 叶子节点(无子节点)
&.is-leaf {
color: transparent;
// display: none; // 也可以去掉
}
}
}
.demo-drawer-footer {
height: 50px !important;
}
</style>
@@ -0,0 +1,113 @@
<template>
<el-drawer
title="政策体系"
:visible.sync="visible"
>
<el-input v-model="filterText" placeholder="请输入政策体系" class="filterInput" style="width: 100%;padding: 10px 5px"/>
<div style="flex: 1">
<el-tree
ref="tree"
:data="treeList"
:props="defaultProps"
node-key="id"
highlight-current
:filter-node-method="filterNode"
:expand-on-click-node="false"
>
<span slot-scope="{ node, data }" class="custom-tree-node">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'" />
<span style="font-size:12px"> {{ node.label }} </span>
</span>
</el-tree>
</div>
<div class="demo-drawer-footer" style="height: 51px">
<el-button size="mini" @click="cancel">取消</el-button>
<el-button size="mini" type="primary" @click="submit">确定</el-button>
</div>
</el-drawer>
</template>
<script>
export default {
name: 'PolicyTree',
data () {
return {
visible: false,
getListStand: 'sarResource/ts-resource/getListStandIgnoreMyCollection',
treeList: [],
filterText: '',
defaultProps: {
children: 'children',
label: 'menuName'
},
}
},
mounted () {
this.getList()
},
watch: {
filterText (val) {
this.$refs.tree.filter(val);
},
},
methods: {
filterNode (value, data) {
if (!value) return true;
return data.menuName.indexOf(value) !== -1;
},
getList () {
this.$http._getData(this.getListStand, {
sorDivide: 'FOREIGN_LAWS',
userId: this.$store.getters.userInfo.userId
}).then(res => {
if (res.ok) {
this.treeList = res.data
}
})
},
open (key) {
this.visible = true
this.$nextTick(() => {
this.filterText = ''
key === '' ?
this.$refs.tree.setCurrentKey() :
this.$refs.tree.setCurrentKey(key)
})
},
cancel () {
this.visible = false
},
submit () {
const currentNode = this.$refs.tree.getCurrentNode()
if (!currentNode) {
this.$message({
message: '请选择政策体系',
type: 'warning'
})
return
}
this.$emit('choose', currentNode)
this.cancel()
}
}
}
</script>
<style scoped>
/deep/ .is-leaf-none{
position: relative;
display: inline-block;
width: 15px;
height: 15px;
background: url('~@/assets/images/shangqi/img/none-file-new.png');
background-size:100% 100%;
}
/deep/ .is-show{
position: relative;
display: inline-block;
width: 15px;
height: 15px;
background:url('~@/assets/images/shangqi/img/tree.png');
background-size:100% 100%;
}
</style>
+2
View File
@@ -27,6 +27,7 @@ import SQTree from './SQTree'
import OrgTable from './OrgTable' import OrgTable from './OrgTable'
import MySelect from './mySelect' import MySelect from './mySelect'
import PhoneHistortTable from './phoneHistortTable' import PhoneHistortTable from './phoneHistortTable'
import processNodeInformation from './processNodeInformation'
import phoneRole from './phoneRole' import phoneRole from './phoneRole'
@@ -57,6 +58,7 @@ const install = function (Vue) {
Vue.component('MySelect', MySelect) Vue.component('MySelect', MySelect)
Vue.component('phoneRole', phoneRole) Vue.component('phoneRole', phoneRole)
Vue.component('PhoneHistortTable', PhoneHistortTable) Vue.component('PhoneHistortTable', PhoneHistortTable)
Vue.component('processNodeInformation', processNodeInformation)
} }
export default { export default {
+24 -4
View File
@@ -40,7 +40,7 @@
v-for="(children, childrenIndex) in item.children" v-for="(children, childrenIndex) in item.children"
:key="childrenIndex" :key="childrenIndex"
:index="children.path" :index="children.path"
style="text-align: center;" style="padding-right: 15px; padding-left: 30px;font-size: 14px"
v-if="!children.menuId || $hasPermission(children.menuId)"itemSplitInfo v-if="!children.menuId || $hasPermission(children.menuId)"itemSplitInfo
> >
<el-badge :value="getDynamicTotal.msgCount" class="item" v-if="children.title === '我的消息' && getDynamicTotal.msgCount !== 0"> <el-badge :value="getDynamicTotal.msgCount" class="item" v-if="children.title === '我的消息' && getDynamicTotal.msgCount !== 0">
@@ -52,6 +52,9 @@
<el-badge :value="getDynamicTotal.myStandCount" class="item" v-else-if="children.title === '我的企标' && getDynamicTotal.myStandCount !== 0"> <el-badge :value="getDynamicTotal.myStandCount" class="item" v-else-if="children.title === '我的企标' && getDynamicTotal.myStandCount !== 0">
{{ children.title }} {{ children.title }}
</el-badge> </el-badge>
<el-badge is-dot class="item miniBadge" v-else-if="children.title === '标准/译文获取申请管理' && getStandardTranslationTodo !== 0">
<div>{{children.title}}</div>
</el-badge>
<div v-else> <div v-else>
{{ children.title }} {{ children.title }}
</div> </div>
@@ -81,6 +84,7 @@
name: 'NavMenu', name: 'NavMenu',
data () { data () {
return { return {
standardTranslation: 0,
defaultActive: null, // 当前激活菜单的 index defaultActive: null, // 当前激活菜单的 index
navMenuList: [ navMenuList: [
// { // {
@@ -161,6 +165,11 @@
path: '/standQA', path: '/standQA',
menuId: '2621269642ea4c6c8c42905863b2dc09' menuId: '2621269642ea4c6c8c42905863b2dc09'
}, },
{
title: '标准/译文获取申请管理',
path: '/standardTranslationAcquisitionRequest',
menuId: 'd7ad73e98162894d020aa993c08a4532'
},
// { // {
// title: '零部件编号申请', // title: '零部件编号申请',
// path: '/partCodeApply', // path: '/partCodeApply',
@@ -550,6 +559,11 @@
} }
}, },
mounted () { mounted () {
this.$http.get('/lawss/standardApplyFor/queryPendingApprovalCount', '', { _this: this }, res => {
if (res.ok) {
this.$store.commit('SET_STANDARD_TRANSLATION_TODO', res.data.pendingApprovalCount)
}
})
}, },
methods: { methods: {
handleSelect (key, keyPath) { handleSelect (key, keyPath) {
@@ -573,7 +587,7 @@
// return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo5.png') // return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo5.png')
return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png') return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png')
}, },
...mapGetters(['getDynamicTotal', 'isCollapse']) ...mapGetters(['getDynamicTotal', 'isCollapse', 'getStandardTranslationTodo'])
}, },
watch: { watch: {
// 监听路由 重新渲染面包屑 // 监听路由 重新渲染面包屑
@@ -606,6 +620,7 @@
width: 58px; width: 58px;
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden;
user-select: none; user-select: none;
box-sizing: border-box; box-sizing: border-box;
position: absolute; position: absolute;
@@ -785,7 +800,7 @@
} }
} }
.el-menu-item { .el-menu-item {
padding-left: 0 !important; //padding-left: 0 !important;
font-size: 16px; font-size: 16px;
font-weight: normal; font-weight: normal;
height: 40px; height: 40px;
@@ -812,5 +827,10 @@
} }
} }
} }
.miniBadge{
/deep/ .is-dot{
left: -18px;
top: 14px;
}
}
</style> </style>
+8 -3
View File
@@ -28,9 +28,14 @@ export default {
this.$emit('pageChange', page) this.$emit('pageChange', page)
}, },
pageSizeChange (pageSize) { pageSizeChange (pageSize) {
this.userInfo.configContent = pageSize if(this.autoSize) {
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo)))) this.$emit('pageSizeChange', pageSize)
this.$emit('pageSizeChange', pageSize) }else{
this.userInfo.configContent = pageSize
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
this.$emit('pageSizeChange', pageSize)
}
// if (this.getTypeFlag === 'CloudRepository') { // if (this.getTypeFlag === 'CloudRepository') {
// this.userInfo.configContent = pageSize // this.userInfo.configContent = pageSize
@@ -0,0 +1,608 @@
<template>
<div class="flow-chart-box">
<div class="flow-chart">
<div class="flow-group-process" v-if="$route.query.oldAndNew == 'new'">
<div class="flow-group-process-stard">
开始
</div>
<div v-for="(item,index) in nameList"
:key="item.id"
:class="{'flow-group-process-box-one':arrangeFromTheLeft(index + 1)}"
class="flow-group-process-box">
<div v-if="leftArrow(index + 1)"
:class="{'flow-group-process-arrow-left':arrangeFromTheLeft(index + 1)}"
class="flow-group-process-arrow">
</div>
<div class="flow-group-process-content"
:style="backdrop(item.taskStatus)"
:class="{'flow-group-process-content-dis':!leftArrow(index + 1)}">
<div class="flow-group-process-content-top">
<el-tooltip placement="top">
<div slot="content">
{{item.taskKeyName}}
</div>
<div>
{{item.taskKeyName}}
</div>
</el-tooltip>
</div>
<el-tooltip placement="top">
<div slot="content">
<div style="margin-bottom: 4px"
v-for="val1 in item.userNames">
{{val1}}
</div>
</div>
<div class="flow-group-process-content-bottom"
v-if="item.userNames && item.userNames.length > 0">
<div v-if="item.userNames && item.userNames.length > 0"
v-for="val in item.userNames">
<div class="flow-group-process-content-bottom-text">{{val}}</div>
</div>
</div>
</el-tooltip>
<div class="flow-group-process-content-bottom" v-if="!item.userNames">
<div>暂未选择处理人</div>
</div>
</div>
<div v-if="isVerticalLine(index + 1)"
:class="{'flow-group-process-arrow-one':(index + 1) % num == 0 ? true : false}"
class="flow-group-process-arrow"></div>
<div v-if="!arrangeFromTheLeft(index + 1) && (index + 1) == nameList.length
&& (index + 1) % num != 0"
:class="{'flow-group-process-arrow-left':arrangeFromTheLeft(index + 1)}"
class="flow-group-process-arrow">
</div>
</div>
<div class="flow-group-process-end"
:style="backdrop(nameList[nameList.length - 1] &&
nameList[nameList.length - 1].taskStatus == 'done' ? 'done' : '')"
:class="{'flow-group-process-end-left':isProcessEnd(nameList.length),
'flow-group-process-end-one':isProcessEndOne(nameList.length)}">
结束
</div>
</div>
<img v-else :src="processStep" class="process-img">
<loading :loading="loadingImg">流程列表加载中</loading>
</div>
<div class="flow-list">
<el-table
v-if="$route.query.oldAndNew == 'new'"
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
type="index"
width="55"
label="序号"
align="center"/>
<el-table-column
prop="taskKeyShow"
label="任务步骤"
align="center"
/>
<el-table-column
prop="userName"
label="任务受理人"
align="center"
/>
<el-table-column
prop="createTime"
label="创建时间"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
v-if="$route.query.prcType == '3'"
prop="parentUserName"
label="任务分发人"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.parentUserName }}</span>
</template>
</el-table-column>
<el-table-column
prop="commitText"
label="意见内容"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.commitText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.taskStatusShow }}</span>
</template>
</el-table-column>
</el-table>
<el-table
v-else
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
label="序号"
align="center"
type="index"
width="50">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="loading">流程列表加载中</loading>
</div>
</template>
<script>
import axios from "axios";
export default {
name: "index",
props: {
prcId: {
type: String,
default: ''
},
prcType: {
type: String,
default: ''
},
prcNum: {
type: String,
default: ''
},
},
data() {
return {
histortData: [],
processStep: '',
nameList: [],
loading: false,
num: 0,
loadingImg: false,
}
},
mounted() {
this.processTable()
},
methods: {
// 请求列表
processTable() {
let url = ''
let query = {}
if (this.$route.query.oldAndNew == 'new') {
url = '/lawss/activiti/queryFlowHistoryList'
query = {
actiProcInstId: this.prcId,
flowType: this.prcType,
}
} else {
url = 'lawss/activiti/get_list_by_instance'
query = {
prcNum: this.prcNum,
}
}
this.loading = true
this.$http.get(url, query, {
_this: this
}, res => {
this.histortData = res
if (this.$route.query.oldAndNew == 'new') {
this.getProcessList()
} else {
this.processNum()
}
this.loading = false
}, e => {
})
},
getProcessList() {
let query = {
actiProcInstId: this.prcId,
flowType: this.prcType,
}
this.loadingImg = true
this.$http.get('/lawss/activiti/getImgDataList', query, {
_this: this
}, res => {
this.nameList = res
this.nameList.forEach(val => {
if (val.userNames) {
val.userNames = val.userNames.split(',')
}
})
if (this.$route.query.prcType == 'buss1'){
if (this.histortData && this.histortData.length > 0){
if (this.histortData[this.histortData.length - 1].taskKey == 'BussLibraryC3'){
this.nameList.forEach(val => {
if (val.taskKey == 'BussLibrary3') {
val.taskStatus = 'todo'
}
})
}else if (this.histortData[this.histortData.length - 1].taskKey == 'BussLibraryC1'){
this.nameList.forEach(val => {
if (val.taskKey == 'BussLibrary1') {
val.taskStatus = 'todo'
}
})
}else if (this.histortData[this.histortData.length - 1].taskKey == 'BussLibraryC6'){
this.nameList.forEach(val => {
if (val.taskKey == 'BussLibrary6') {
val.taskStatus = 'todo'
}
})
}
}
}
this.$nextTick(() => {
let flowGroupProcess = document.getElementsByClassName('flow-group-process')
let num = (flowGroupProcess[0].offsetWidth - 100) / 248
this.num = Math.floor(num)
let width = 248 * this.num
let offsetWidth = flowGroupProcess[0].offsetWidth
flowGroupProcess[0].style.width = (offsetWidth - (offsetWidth - 100 - width) + 40) + 'px'
this.loadingImg = false
})
}, e => {
})
},
arrangeFromTheLeft(index) {
let num = Math.ceil(index / this.num)
if (num % 2 == 0) {
return true
}
return false
},
leftArrow(index) {
let num = Math.ceil(index / this.num)
if (num % 2 == 0) {
if (index == this.num * num && this.nameList.length != index) {
return false
}
} else {
if (index > this.num) {
if (index == this.num * (num - 1) + 1) {
return false
}
}
}
return true
},
isVerticalLine(index) {
let num = Math.ceil(index / this.num)
if (index % this.num == 0 && this.nameList.length != index) {
return true
}
if (num == index / this.num && num % 3 == 0) {
return true
}
if (num == index / this.num && index <= this.num) {
return true
}
return false
},
isProcessEnd(index) {
let num = Math.ceil(index / this.num)
if (num % 2 == 0) {
return false
} else {
if (num == index / this.num && index <= this.num) {
return false
}
if (num == index / this.num && num % 3 == 0) {
return false
}
return true
}
},
isProcessEndOne(index) {
let num = Math.ceil(index / this.num)
if (num == index / this.num && index <= this.num) {
return true
}
if (num == index / this.num && num % 3 == 0) {
return true
}
return false
},
backdrop(status) {
if (status == 'done') {
return {
background: '#bcddff',
border: '1px #79c8ff solid',
}
} else if (status == 'todo') {
return {
background: '#ebfccf',
border: '1px #8bcb71 solid',
}
} else {
return {
background: '#fff',
border: '1px #d6d6d6 solid',
}
}
},
// 请求转换流程图
processNum() {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
}
}
</script>
<style scoped lang="less">
.flow-chart-box {
width: 100%;
height: 100%;
}
.flow-chart {
width: 100%;
height: 45%;
background: #F0F0F0;
border: 1px solid #CCCDCE;
border-bottom: none;
padding: 10px;
overflow-x: hidden;
overflow-y: auto;
margin-bottom: 16px;
}
.flow-group-process {
width: 100%;
height: auto;
min-height: 100%;
padding: 20px;
box-sizing: border-box;
/*display: flex;*/
/*align-items: center;*/
/*flex-wrap: wrap;*/
.flow-group-process-stard {
width: 100px;
border-radius: 20px;
height: 40px;
background: #bcddff;
border: 1px #79c8ff solid;
font-size: 12px;
color: #000;
text-align: center;
line-height: 40px;
font-weight: 600;
float: inline-start;
margin-top: 28px;
}
.flow-group-process-end {
width: 100px;
border-radius: 20px;
height: 40px;
background: #bcddff;
border: 1px #79c8ff solid;
font-size: 12px;
color: #000;
text-align: center;
line-height: 40px;
font-weight: 600;
float: inline-end;
margin-top: 28px;
}
.flow-group-process-end-left {
float: inline-start;
}
.flow-group-process-end-one {
margin-top: 0;
margin-right: 17px;
}
.flow-group-process-arrow {
width: 100px;
height: 1px;
background: #c1c1c1;
margin-right: 8px;
}
.flow-group-process-arrow::after {
content: "";
display: inline-block;
position: relative;
left: 100px;
top: -7px;
border-left: 8px solid #c1c1c1;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
}
.flow-group-process-arrow-one {
width: 30px;
height: 1px;
background: #c1c1c1;
margin-right: 8px;
transform: rotate(90deg);
right: 44px;
position: absolute;
bottom: -16px;
}
.flow-group-process-arrow-one::after {
content: "";
display: inline-block;
position: relative;
left: 30px;
top: -7px;
border-left: 8px solid #c1c1c1;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
}
.flow-group-process-arrow-left {
width: 100px;
height: 1px;
background: #c1c1c1;
margin-right: 0;
margin-left: 8px;
}
.flow-group-process-arrow-left::after {
content: "";
display: inline-block;
position: relative;
left: -8px;
top: -7px;
border-right: 8px solid #c1c1c1;
border-left: none;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
}
.flow-group-process-box {
display: flex;
align-items: center;
float: inline-start;
position: relative;
margin-bottom: 40px;
}
.flow-group-process-box-one {
float: inline-end;
}
.flow-group-process-content {
min-height: 80px;
width: 140px;
background: #bcddff;
border: 1px #79c8ff solid;
font-size: 12px;
color: #000;
text-align: center;
padding: 0 6px;
box-sizing: border-box;
font-weight: 600;
.flow-group-process-content-top {
width: 100%;
margin-top: 10px;
margin-bottom: 10px;
font-size: 12px;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1; /* 超出几行省略 */
overflow: hidden;
}
.flow-group-process-content-bottom {
width: 100%;
font-size: 12px;
line-height: 1.4;
height: 54px;
overflow: hidden;
.flow-group-process-content-bottom-text{
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1; /* 超出几行省略 */
overflow: hidden;
}
}
.flow-group-process-arrow-dis {
margin-left: 200px;
}
}
.flow-group-process-content-dis {
margin-left: 208px;
}
}
</style>
+1
View File
@@ -412,6 +412,7 @@
watch: { watch: {
isVisible(val) { isVisible(val) {
this.visible = val this.visible = val
this.filterText= ''
if (val) { if (val) {
this.nodeList2 = this.nodeList this.nodeList2 = this.nodeList
if (this.nodeList2.length && this.nodeList2[0].length) { if (this.nodeList2.length && this.nodeList2[0].length) {
+562
View File
@@ -0,0 +1,562 @@
import '@babel/polyfill'
require('es6-promise').polyfill();
require('es6-promise/auto');
import Vue from 'vue'
import App from './App'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// jQuery
import $ from 'jquery'
// vuex
import store from './store'
import Axios from 'axios'
// 复制
import VueClipboard from 'vue-clipboard2'
// 全局样式文件
import '@/assets/styles/common.less'
// 样式重置
import '@/assets/styles/reset.css'
// iconfont字体库
import '@/assets/styles/iconfont.css'
import '@/assets/styles/shangqi-iconfont/iconfont.css'
import '@/assets/styles/shangqi-iconfont-replace/iconfont.css' // 可直接替换此文件夹
import '@/assets/styles/shangqi-iconfont-2021/iconfont.css'
// axios
import axios from 'axios'
import $axios from '@/common/axios'
// 自定义全局组件
import components from '@/components'
// 自定义插件
import common from '@/common'
import dragDialogWidth from '@/common/dragDialogWidth'
// 自定义按钮显示指令
import btnPermission from '@/common/btnPermission' // eslint-disable-line
import VueI18n from 'vue-i18n' // 国际化
// import * as echarts from 'echarts'
import { simpleUploadPath } from '@/sysConfig'
// 时间转换
import moment from 'moment'
moment.suppressDeprecationWarnings = true;
// 右键菜单
import Contextmenu from 'vue-contextmenujs'
// vant
import vant from 'vant';
import 'vant/lib/index.css';
//vant
import animate from 'animate.css'
import tool from './utils/tool'
Vue.use(tool)
// 引入路由器
import router from './router'
// 路由解析器
import Re from 'path-to-regexp'
import { get_verify_by_instance,loginIdm,getMenu,loginMobile } from 'api/process'
import hwh5 from 'api/hwh5-cloudonline.js';
import { ssoLoginUrlDev,ssoLoginUrl,webLoginType,devWebUrl } from '@/sysConfig'
import { mapMutations, mapActions } from 'vuex'
import VConsole from 'vuex'
import isMobile from "./store/isMobile";
import { Loading } from 'element-ui';
// 路由拦截
router.beforeEach(function (to, from, next) {
closeLoading()
if (isMobile()){
var loading = Loading.service({
text: '加载中...',
background: '#fff'
});
}
function closeLoading(){
if (loading) {
setTimeout(() => {
loading.close()
loading = null
}, 3000)
}
}
let fromName = from.name
if(fromName === undefined || fromName === null){
window.sessionStorage.clear()
}
let toName = to.name
if (toName === 'CheckPage' || toName === 'loginStandDetails' || toName === 'error'
|| toName === 'LoginVerifyPhone') {
next()
closeLoading()
return
}
if(webLoginType === 'idm' && toName === 'Login'){
window.location.href = ssoLoginUrlDev
}
let token = store.state.token
let path = to.path;
let userName = ""
/*
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName=") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined))){
if((path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined)){
userName = to.query.userName
}else {
userName = path.split("&")[1].split("=")[1]
}
window.sessionStorage.clear()
}else {
*/
if(fromName === 'Home2'){
localStorage.removeItem("external")
}
/*
}
*/
let requireAuth = to.meta.requireAuth;
let taskId = to.query.taskIds;
let prcId = to.query.prcId;
let prcNum = to.query.prcNum;
let prcName = to.query.prcName;
let prcType = to.query.prcType;
let routerType = to.query.routerType;
let unShowReceipt = to.query.unShowReceipt;
let param = "taskIds=" + taskId + "&prcId=" + prcId
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
if (unShowReceipt) {
param += "&unShowReceipt=" + unShowReceipt
}
let param4 = {
path: path,
token: token,
taskId: taskId,
prcId: prcId,
prcNum: prcNum,
prcName: prcName,
prcType: prcType,
toName: toName
}
let url = window.location.search
let code = "";
if(url){
url = url.substr(1);
url = url.split('&');
let info = [];
let obj = {};
for (let i = 0,len = url.length; i < len; i++) {
info = url[i].split('=')
obj[info[0]] = decodeURI(info[1]);
url[i] = obj;
}
code = url[0].code
}
function extractedLocalStorage(url,param,param4) {
localStorage.removeItem("external")
localStorage.removeItem("routerUrl")
localStorage.setItem('routerUrl', url)
localStorage.removeItem("routerParam")
localStorage.setItem('routerParam', param)
}
// 返回值为登录状态
// 单点登录
/** 判断是不是在手机端操作 */
if (isMobile()) {
if(toName === 'phoneHome' && (token === undefined || token === null || token === '')){
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else if(toName === 'phoneHome' && token != null && (fromName === undefined || fromName === null)){
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
next()
closeLoading()
}else if(toName === 'phoneHome' && token != null){
next()
closeLoading()
} else if(toName === 'processCenter'){
// hwh5.close();
//关闭当前窗口
let userAgent = navigator.userAgent;
if (userAgent.indexOf("Firefox") !== -1 || userAgent.indexOf("Chrome") !==-1) {
window.location.href="about:blank";
}else if(userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1){
window.opener=null;window.open('about:blank','_self','').close();
}else {
window.opener = null;
window.open("about:blank", "_self");
window.close();
}
//如果是微信打开,关闭当前微信窗口
weixinClosePage()
}else {
if ((token === null || token === '' ) && toName !== 'Login') {
if(toName !== 'phoneIndex'){
if(toName === 'phoneHome'){
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else if(toName === 'databaseSearch' || toName === 'standDynamics' ||
toName === 'domesticStand' || toName === 'domesticDetails' || toName === 'zlzxDetails'){
localStorage.setItem("routerName",toName)
next('/loginVerifyPhone')
closeLoading()
}else {
if(fromName === 'phoneHome'){
next()
closeLoading()
}else {
localStorage.removeItem("param");
localStorage.setItem('param',JSON.stringify(param4))
next('/phoneIndex')
closeLoading()
}
}
}else {
// 区分手机端首页 单独逻辑处理 token 为空 跳回验证页面重新验证
if(fromName === 'databaseSearch' || fromName === 'standDynamics' ||
fromName === 'domesticStand' || fromName === 'domesticDetails' || toName === 'zlzxDetails'){
localStorage.setItem("routerName",toName)
next('/loginVerifyPhone')
closeLoading()
}else {
next()
closeLoading()
}
}
} else {
if(toName === 'databaseSearch' || toName === 'standDynamics' || toName === 'zlzxDetails' ||
toName === 'domesticStand' || toName === 'domesticDetails'){
next()
closeLoading()
}else if (toName.slice(0,5) !== 'phone') {
if(toName === 'LoginVerify'){
if(toName === 'phoneHome'){
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else{
next('/blankPage')
closeLoading()
}
}else {
if(toName === 'blankPage' || toName === 'processedPage') {
next()
closeLoading()
}else {
console.log('-pc端-')
extractedVerify()
}
}
}else {
if(toName !== 'blankPage'){
if(to.matched.length === 0){
if(toName === 'phoneHome'){
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else{
next('/blankPage')
closeLoading()
}
}else {
console.log('-phone端-')
next()
closeLoading()
}
}else {
next()
closeLoading()
}
}
}
}
} else {
localStorage.removeItem("routerUrl")
localStorage.setItem('routerUrl', 'home2')
localStorage.removeItem("routerParam")
localStorage.setItem('routerParam', '')
if ((token === null || token === '' ) && toName === 'OtherStandardDetails') {
if (document.cookie) {
next()
closeLoading()
return
}
}
if ((token === null || token === '' ) && toName !== 'Login') {
if(webLoginType != null && webLoginType === 'idm' ){
if(code){
next()
closeLoading()
}else {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
extractedVerify(token)
}else {
/*
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))){
extractedLocalStorage("standardSearch/All",userName)
localStorage.setItem('external', "external")
next('/LoginVerifyNoEncryption')
closeLoading()
}else {
*/
if (toName === 'LoginVerifyNoEncryption') {
next()
closeLoading()
}else {
/*
if(path === '/standardSearch/All'){
extractedLocalStorage('standardSearch/All','');
}else {
*/
extractedLocalStorage('home2','');
/*
}
*/
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
}
/*
}
*/
}
}
}else if(webLoginType != null && webLoginType === 'dev'){
if (isMobile()) {
extractedVerify(token)
} else {
next('/Login')
closeLoading()
}
}
}else {
extractedVerify(token)
}
}
function weixinClosePage() {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', weixin_ClosePage, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', weixin_ClosePage);
document.attachEvent('onWeixinJSBridgeReady', weixin_ClosePage);
}
} else {
weixin_ClosePage();
}
}
function weixin_ClosePage() {
WeixinJSBridge.call('closeWindow');
}
function extractedVerify() {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
get_verify_by_instance({
taskId: taskId, // 任务id
pId: prcId // 流程实例
}).then(res => {
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
let isNotFinished = res.isNotFinished === undefined ? 0 : res.isNotFinished;
if ((hisCount && hisCount > 0)) { // 业务系统 当前节点已完成
if(isMobile()){
next('/processedPage')
closeLoading()
}else {
next()
closeLoading()
}
} else { // 业务系统 当前节点未完成
// commitStatus 大于0 表示当前节点存在未完成干活流程
// isNotFinished OA 系统显示接受任务 已置为已办
if (routerType && routerType === 'oa' &&isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0) {
if(isMobile()) {
extractedIphone()
}else if (prcType === '3') {
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
if (path === '/bzzqyjStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '5') {
if (path === '/xmpgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '2') {
if (path === '/bzdyStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '9') {
if (path === '/bzjdStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '6') {
if (path === '/xmpg2Step6') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '10') {
if (path === '/xmqdqrStep2') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '8') {
if (path === '/wfhxzgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}
} else {
if(isMobile()) {
extractedIphone()
}else{
extracted3()
}
}
}
function extracted(routerPath) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' +param})
closeLoading()
}
}
function extracted3() {
if (token === null || token === '') {
extractedLocalStorage(toName,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next()
closeLoading()
}
}
function extractedIphone() {
let paramPhone = 'taskIds=' + taskId + '&prcId=' + prcId + '&prcNum=' + prcNum +
'&taskAssignee=' + toName + '&prcName=' + prcName + '&prcType=' + prcType
let phoneRouter = 'phone' + toName.charAt(0).toUpperCase() + toName.slice(1)
console.log(phoneRouter);
next({path: phoneRouter + '?' + paramPhone})
closeLoading()
}
function extracted2(routerPath,param2) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param2);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' + param2})
closeLoading()
}
}
function extracted4(routerPath,param4) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param4);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' + param4})
closeLoading()
}
}
})
}
if(path === '/loginVerify'){
if(webLoginType != null && webLoginType === 'dev'){
next('/Login')
closeLoading()
}else {
next()
closeLoading()
}
}else {
/*
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))) {
extractedLocalStorage("standardSearch/All",userName)
localStorage.setItem('external', "external")
next('/LoginVerifyNoEncryption')
closeLoading()
}else {
*/
next()
closeLoading()
/*
}
*/
}
}
})
// 设置用户信息
function setUserInfo (userInfo) {
const timeStamp = new Date().getTime().toString()
const _USERINFO = JSON.parse(userInfo)
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName
try {
localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
localStorage.setItem('userInfoModifyTime', timeStamp)
} catch (e) {}
}
Vue.config.productionTip = false
// jquery
Vue.prototype.$ = $
Vue.use(ElementUI)
Vue.use(common)
Vue.use(dragDialogWidth)
Vue.use(components)
Vue.use(VueI18n)
Vue.use(VueClipboard)
Vue.use(Contextmenu)
Vue.use(animate)
Vue.use(vant)
// Vue.prototype.$echarts = echarts
// 原生axios
Vue.prototype.axios = axios
// 封装后的axios
Vue.prototype.$http = $axios
Vue.prototype.simpleUploadPath = simpleUploadPath
Vue.prototype.$moment = moment
// 国际化
const i18n = new VueI18n({
locale: store.getters.getLanguage || 'cn', // 定义默认语言为中文
messages: {
cn: require('@/assets/languages/cn'),
en: require('@/assets/languages/en')
}
})
/* eslint-disable no-new */
window.vm = new Vue({
VConsole,
router,
store,
i18n,
render: h => h(App)
}).$mount('#app')
+59 -460
View File
@@ -1,6 +1,6 @@
import '@babel/polyfill' import '@babel/polyfill'
require('es6-promise').polyfill(); require('es6-promise').polyfill()
require('es6-promise/auto'); require('es6-promise/auto')
import Vue from 'vue' import Vue from 'vue'
import App from './App' import App from './App'
import ElementUI from 'element-ui' import ElementUI from 'element-ui'
@@ -9,7 +9,6 @@ import 'element-ui/lib/theme-chalk/index.css'
import $ from 'jquery' import $ from 'jquery'
// vuex // vuex
import store from './store' import store from './store'
import Axios from 'axios'
// 复制 // 复制
import VueClipboard from 'vue-clipboard2' import VueClipboard from 'vue-clipboard2'
// 全局样式文件 // 全局样式文件
@@ -32,498 +31,98 @@ import dragDialogWidth from '@/common/dragDialogWidth'
// 自定义按钮显示指令 // 自定义按钮显示指令
import btnPermission from '@/common/btnPermission' // eslint-disable-line import btnPermission from '@/common/btnPermission' // eslint-disable-line
import VueI18n from 'vue-i18n' // 国际化 import VueI18n from 'vue-i18n' // 国际化
// import * as echarts from 'echarts'
import { simpleUploadPath } from '@/sysConfig' import { simpleUploadPath } from '@/sysConfig'
// 时间转换 // 时间转换
import moment from 'moment' import moment from 'moment'
moment.suppressDeprecationWarnings = true; moment.suppressDeprecationWarnings = true
// 右键菜单 // 右键菜单
import Contextmenu from 'vue-contextmenujs' import Contextmenu from 'vue-contextmenujs'
// vant // vant
import vant from 'vant'; import vant from 'vant'
import 'vant/lib/index.css'; import 'vant/lib/index.css'
//vant
import animate from 'animate.css' import animate from 'animate.css'
import tool from './utils/tool' import tool from './utils/tool'
Vue.use(tool) Vue.use(tool)
// 引入路由器 // 引入路由器
import router from './router' import router from './router'
// 路由解析器
import Re from 'path-to-regexp'
import { get_verify_by_instance,loginIdm,getMenu,loginMobile } from 'api/process' import { webLoginType } from '@/sysConfig'
import hwh5 from 'api/hwh5-cloudonline.js';
import { ssoLoginUrlDev,ssoLoginUrl,webLoginType,devWebUrl } from '@/sysConfig'
import { mapMutations, mapActions } from 'vuex'
import VConsole from 'vuex' import VConsole from 'vuex'
import isMobile from './store/isMobile'
import { getCode, toIdmLoginPage, loginInIdm, loginInPhone, close } from '@/utils/login'
import isMobile from "./store/isMobile"; router.beforeEach((to, from, next) => {
import { Loading } from 'element-ui'; const token = store.state.token
if (to.query.taskIds && to.query.taskIds !== '' && to.query.prcId && to.query.prcId !== '') {
// 路由拦截 const fullPath = to.fullPath.slice(1)
router.beforeEach(function (to, from, next) { if (isMobile()) {
closeLoading() if (fullPath.indexOf('phone') !== 0) {
if (isMobile()){ let path = fullPath.replace(fullPath.charAt(0), fullPath.charAt(0).toUpperCase())
var loading = Loading.service({ if (path.indexOf('BussLibraryProduct/') !== -1) {
text: '加载中...', // 产品标准流程-pc端重构,pc端路由改变而手机端路由未改变,此处让手机端跳转到正确路由
background: '#fff' path = path.replace('BussLibraryProduct/', 'BussLibraryProduct')
});
}
function closeLoading(){
if (loading) {
setTimeout(() => {
loading.close()
loading = null
}, 3000)
}
}
let fromName = from.name
if(fromName === undefined || fromName === null){
window.sessionStorage.clear()
}
let toName = to.name
if (toName === 'CheckPage' || toName === 'loginStandDetails' || toName === 'error'
|| toName === 'LoginVerifyPhone') {
next()
closeLoading()
return
}
if(webLoginType === 'idm' && toName === 'Login'){
window.location.href = ssoLoginUrlDev
}
let token = store.state.token
let path = to.path;
let userName = ""
/*
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName=") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined))){
if((path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined)){
userName = to.query.userName
}else {
userName = path.split("&")[1].split("=")[1]
}
window.sessionStorage.clear()
}else {
*/
if(fromName === 'Home2'){
localStorage.removeItem("external")
}
/*
}
*/
let requireAuth = to.meta.requireAuth;
let taskId = to.query.taskIds;
let prcId = to.query.prcId;
let prcNum = to.query.prcNum;
let prcName = to.query.prcName;
let prcType = to.query.prcType;
let routerType = to.query.routerType;
let unShowReceipt = to.query.unShowReceipt;
let param = "taskIds=" + taskId + "&prcId=" + prcId
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
if (unShowReceipt) {
param += "&unShowReceipt=" + unShowReceipt
}
let param4 = {
path: path,
token: token,
taskId: taskId,
prcId: prcId,
prcNum: prcNum,
prcName: prcName,
prcType: prcType,
toName: toName
}
let url = window.location.search
let code = "";
if(url){
url = url.substr(1);
url = url.split('&');
let info = [];
let obj = {};
for (let i = 0,len = url.length; i < len; i++) {
info = url[i].split('=')
obj[info[0]] = decodeURI(info[1]);
url[i] = obj;
}
code = url[0].code
}
function extractedLocalStorage(url,param,param4) {
localStorage.removeItem("external")
localStorage.removeItem("routerUrl")
localStorage.setItem('routerUrl', url)
localStorage.removeItem("routerParam")
localStorage.setItem('routerParam', param)
}
// 返回值为登录状态
// 单点登录
/** 判断是不是在手机端操作 */
if (isMobile()) {
if(toName === 'phoneHome' && (token === undefined || token === null || token === '')){
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else if(toName === 'phoneHome' && token != null && (fromName === undefined || fromName === null)){
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
next()
closeLoading()
}else if(toName === 'phoneHome' && token != null){
next()
closeLoading()
} else if(toName === 'processCenter'){
// hwh5.close();
//关闭当前窗口
let userAgent = navigator.userAgent;
if (userAgent.indexOf("Firefox") !== -1 || userAgent.indexOf("Chrome") !==-1) {
window.location.href="about:blank";
}else if(userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1){
window.opener=null;window.open('about:blank','_self','').close();
}else {
window.opener = null;
window.open("about:blank", "_self");
window.close();
}
//如果是微信打开,关闭当前微信窗口
weixinClosePage()
}else {
if ((token === null || token === '' ) && toName !== 'Login') {
if(toName !== 'phoneIndex'){
if(toName === 'phoneHome'){
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else if(toName === 'databaseSearch' || toName === 'standDynamics' ||
toName === 'domesticStand' || toName === 'domesticDetails' || toName === 'zlzxDetails'){
localStorage.setItem("routerName",toName)
next('/loginVerifyPhone')
closeLoading()
}else {
if(fromName === 'phoneHome'){
next()
closeLoading()
}else {
localStorage.removeItem("param");
localStorage.setItem('param',JSON.stringify(param4))
next('/phoneIndex')
closeLoading()
}
}
}else {
// 区分手机端首页 单独逻辑处理 token 为空 跳回验证页面重新验证
if(fromName === 'databaseSearch' || fromName === 'standDynamics' ||
fromName === 'domesticStand' || fromName === 'domesticDetails' || toName === 'zlzxDetails'){
localStorage.setItem("routerName",toName)
next('/loginVerifyPhone')
closeLoading()
}else {
next()
closeLoading()
}
} }
path = '/phone' + path
next({ path: path })
}
if (!to.name) {
// 不存在路由
next('/blankPage')
}
}
}
if (token && token !== '') {
if (to.path === '/') {
if (isMobile()) {
next('/phoneHome')
} else { } else {
if(toName === 'databaseSearch' || toName === 'standDynamics' || toName === 'zlzxDetails' || next('/home2')
toName === 'domesticStand' || toName === 'domesticDetails'){
next()
closeLoading()
}else if (toName.slice(0,5) !== 'phone') {
if(toName === 'LoginVerify'){
if(toName === 'phoneHome'){
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else{
next('/blankPage')
closeLoading()
}
}else {
if(toName === 'blankPage' || toName === 'processedPage') {
next()
closeLoading()
}else {
console.log('-pc端-')
extractedVerify()
}
}
}else {
if(toName !== 'blankPage'){
if(to.matched.length === 0){
if(toName === 'phoneHome'){
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
localStorage.removeItem('token')
token = localStorage.getItem("token")
window.sessionStorage.clear()
localStorage.setItem("routerName","phoneHome")
next('/loginVerifyPhone')
closeLoading()
}else{
next('/blankPage')
closeLoading()
}
}else {
console.log('-phone端-')
next()
closeLoading()
}
}else {
next()
closeLoading()
}
}
} }
} }
next()
} else { } else {
localStorage.removeItem("routerUrl") if (to.path === '/login') {
localStorage.setItem('routerUrl', 'home2') if (webLoginType === 'idm') {
localStorage.removeItem("routerParam") // webLoginType === "idm"时不会进入login路由
localStorage.setItem('routerParam', '') // let href = window.location.href.replace('code=' + getCode(), '')
if ((token === null || token === '' ) && toName === 'OtherStandardDetails') { // toIdmLoginPage(href)
if (document.cookie) { }
if (webLoginType === 'dev') {
next() next()
closeLoading()
return
}
}
if ((token === null || token === '' ) && toName !== 'Login') {
if(webLoginType != null && webLoginType === 'idm' ){
if(code){
next()
closeLoading()
}else {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
extractedVerify(token)
}else {
/*
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))){
extractedLocalStorage("standardSearch/All",userName)
localStorage.setItem('external', "external")
next('/LoginVerifyNoEncryption')
closeLoading()
}else {
*/
if (toName === 'LoginVerifyNoEncryption') {
next()
closeLoading()
}else {
/*
if(path === '/standardSearch/All'){
extractedLocalStorage('standardSearch/All','');
}else {
*/
extractedLocalStorage('home2','');
/*
}
*/
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
}
/*
}
*/
}
}
}else if(webLoginType != null && webLoginType === 'dev'){
if (isMobile()) {
extractedVerify(token)
} else {
next('/Login')
closeLoading()
}
}
}else {
extractedVerify(token)
}
}
function weixinClosePage() {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', weixin_ClosePage, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', weixin_ClosePage);
document.attachEvent('onWeixinJSBridgeReady', weixin_ClosePage);
} }
} else { } else {
weixin_ClosePage(); if (webLoginType === 'idm') {
} if (isMobile()) {
} loginInPhone().then(() => {
function weixin_ClosePage() {
WeixinJSBridge.call('closeWindow');
}
function extractedVerify() {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
get_verify_by_instance({
taskId: taskId, // 任务id
pId: prcId // 流程实例
}).then(res => {
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
let isNotFinished = res.isNotFinished === undefined ? 0 : res.isNotFinished;
if ((hisCount && hisCount > 0)) { // 业务系统 当前节点已完成
if(isMobile()){
next('/processedPage')
closeLoading()
}else {
next()
closeLoading()
}
} else { // 业务系统 当前节点未完成
// commitStatus 大于0 表示当前节点存在未完成干活流程
// isNotFinished OA 系统显示接受任务 已置为已办
if (routerType && routerType === 'oa' &&isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0) {
if(isMobile()) {
extractedIphone()
}else if (prcType === '3') {
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
if (path === '/bzzqyjStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '5') {
if (path === '/xmpgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '2') {
if (path === '/bzdyStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '9') {
if (path === '/bzjdStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '6') {
if (path === '/xmpg2Step6') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '10') {
if (path === '/xmqdqrStep2') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '8') {
if (path === '/wfhxzgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}
} else {
if(isMobile()) {
extractedIphone()
}else{
extracted3()
}
}
}
function extracted(routerPath) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' +param})
closeLoading()
}
}
function extracted3() {
if (token === null || token === '') {
extractedLocalStorage(toName,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next() next()
closeLoading() })
} } else {
} if (getCode()) {
loginInIdm(getCode()).then(() => {
function extractedIphone() { const path = to.fullPath.replace('code=' + getCode(), '')
let paramPhone = 'taskIds=' + taskId + '&prcId=' + prcId + '&prcNum=' + prcNum + next({ path })
'&taskAssignee=' + toName + '&prcName=' + prcName + '&prcType=' + prcType })
let phoneRouter = 'phone' + toName.charAt(0).toUpperCase() + toName.slice(1)
console.log(phoneRouter);
next({path: phoneRouter + '?' + paramPhone})
closeLoading()
}
function extracted2(routerPath,param2) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param2);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else { } else {
next({path: routerPath + '?' + param2}) toIdmLoginPage(window.location.href)
closeLoading()
} }
} }
function extracted4(routerPath,param4) { }
if (token === null || token === '') { if (webLoginType === 'dev') {
extractedLocalStorage(routerPath,param4); if (isMobile()) {
// ssoLoginUrlDev 默认sso 地址 next('/login')
window.location.href = ssoLoginUrlDev } else {
} else { next('/login')
next({path: routerPath + '?' + param4})
closeLoading()
}
} }
})
}
if(path === '/loginVerify'){
if(webLoginType != null && webLoginType === 'dev'){
next('/Login')
closeLoading()
}else {
next()
closeLoading()
} }
}else {
/*
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))) {
extractedLocalStorage("standardSearch/All",userName)
localStorage.setItem('external', "external")
next('/LoginVerifyNoEncryption')
closeLoading()
}else {
*/
next()
closeLoading()
/*
}
*/
} }
} }
}) })
// 设置用户信息
function setUserInfo (userInfo) {
const timeStamp = new Date().getTime().toString()
const _USERINFO = JSON.parse(userInfo)
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName
try {
localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
localStorage.setItem('userInfoModifyTime', timeStamp)
} catch (e) {}
}
Vue.config.productionTip = false Vue.config.productionTip = false
// jquery // jquery
Vue.prototype.$ = $ Vue.prototype.$ = $
@@ -537,7 +136,7 @@ Vue.use(Contextmenu)
Vue.use(animate) Vue.use(animate)
Vue.use(vant) Vue.use(vant)
// Vue.prototype.$echarts = echarts Vue.prototype.$close = close
// 原生axios // 原生axios
Vue.prototype.axios = axios Vue.prototype.axios = axios
// 封装后的axios // 封装后的axios
+18 -9
View File
@@ -1,26 +1,35 @@
<template> <template>
<div class="blankPage"> <div class="blankPage">
<van-icon name="clear" color="#dabb27" size="70"/> <van-icon name="clear" color="#dabb27" size="70" />
<div style="font-size: 15px;margin-top: 20px;color: #8c939d">当前任务不支持手机端处理</div> <div style="font-size: 15px;margin-top: 20px;color: #8c939d">
<el-button type="primary" size="small" style="margin-top: 30px;width: 270px;" @click="closeWindow()">返回</el-button> 当前任务不支持手机端处理
</div>
<el-button
type="primary"
size="small"
style="margin-top: 30px;width: 270px;"
@click="closeWindow()"
>
返回
</el-button>
</div> </div>
</template> </template>
<script> <script>
import Vue from 'vue'; import Vue from 'vue';
import { Icon } from 'vant'; import { Icon } from 'vant';
import hwh5 from '../../api/hwh5-cloudonline.js';
Vue.use(Icon); Vue.use(Icon);
export default { export default {
name: "blankPage", name: 'BlankPage',
data() { data () {
return {} return {}
}, },
methods: { methods: {
closeWindow(){ closeWindow () {
// hwh5.close() // hwh5.close()
this.$router.go(-2) // this.$router.go(-2)
this.$close()
} }
} }
} }
@@ -17,7 +17,7 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="标准体系" name="standSystem" v-if="standSystem"> <el-tab-pane label="标准体系" name="standSystem" v-if="standSystem">
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;"> <div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0; overflow: auto">
<standSystem v-if="tabValue === 'standSystem'" ></standSystem> <standSystem v-if="tabValue === 'standSystem'" ></standSystem>
</div> </div>
</el-tab-pane> </el-tab-pane>
@@ -0,0 +1,167 @@
<template>
<el-drawer
title="绑定角色"
:visible.sync="visible"
:wrapperClosable="false"
size="800px"
>
<div class="drawer-content" style="padding-top: 20px">
<el-form
ref="form"
:model="form"
label-width="120px"
label-position="left"
>
<el-form-item label="部门名称">
{{ form.institutionName }}
</el-form-item>
<el-divider style="margin: 0" />
<el-form-item label="绑定角色" class="search-item">
<el-select
:value="getRoleIds"
placeholder="请选择"
multiple
size="medium"
@change="roleIdsChange"
>
<el-option
v-for="item in allRoleOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-form>
</div>
<div class="drawer-footer">
<el-button
class="common-button-default"
icon="el-icon-close"
size="mini"
:loading="btnLoading"
@click="onCancel"
>
取消
</el-button>
<el-button
class="common-button-primary"
icon="el-icon-check"
type="primary"
size="mini"
:loading="btnLoading"
@click="onSubmit"
>
确定
</el-button>
</div>
<loading :loading="loading">加载中...</loading>
</el-drawer>
</template>
<script>
export default {
name: 'SetRoleForDepartment',
data () {
return {
visible: false,
allRoleOptions: [],
form: {
institutionId: '', // 部门id
institutionName: '',
roleIds: '', // 角色id
},
loading: false,
btnLoading: false,
}
},
computed: {
getRoleIds () {
if (!this.form.roleIds || this.form.roleIds === '') {
return []
} else {
return this.form.roleIds.split(',')
}
}
},
created () {
this.getAllRole()
},
methods: {
open (id) {
this.form.institutionId = id
this.form.roleIds = ''
this.form.institutionName = ''
const config = {
_this: this,
loading: 'loading'
}
const query = { institutionId: this.form.institutionId }
this.$http._getData('SarInstitution/institution/findInstitutionTree', query, config).then(res => {
if (res.ok && res.data) {
this.form.institutionName = res.data.institutionName
this.form.roleIds = res.data.selectedRoleIds.join(',') || ''
}
})
this.visible = true
},
getAllRole () {
this.$http._getData('sarRole/role/getAllRole').then(res => {
if (res.ok && res.data) {
this.allRoleOptions = res.data
}
})
},
roleIdsChange (val) {
this.form.roleIds = val.join(',')
},
onSubmit () {
const config = {
_this: this,
loading: 'btnLoading'
}
this.$http._getData('/SarInstitution/institution/setRoleToInstitutionAndUser', this.form, config).then(res => {
if (res.ok) {
this.$emit('success')
this.onCancel()
}
})
console.log(this.form)
},
onCancel () {
this.visible = false
}
}
}
</script>
<style scoped lang="less">
.drawer-content {
padding: 0 19px;
overflow-y: auto;
flex: auto;
/deep/.el-form-item{
margin: 0 !important;
}
/deep/.el-select--medium{
width: 100%;
margin: 5px 0;
}
/deep/.el-divider{
margin: 0 !important;
}
/deep/ .el-select .el-tag {
//max-width: 110px !important;
}
}
.drawer-footer {
width: 100%;
padding: 0 20px;
height: 70px;
line-height: 69px;
border-top: 1px solid #e8e8e8;
text-align: right;
background: #fff;
z-index: 999;
}
</style>
@@ -5,76 +5,66 @@
<div class="tree"> <div class="tree">
<!-- @keyup.enter.native="searchPeople"--> <!-- @keyup.enter.native="searchPeople"-->
<el-input <el-input
v-model="filterText"
class="filter-tree-input" class="filter-tree-input"
placeholder="输入关键字进行过滤" placeholder="输入关键字进行过滤"
v-model="filterText"> />
</el-input>
<!-- <el-tree-->
<!-- node-key="id"-->
<!-- :data="treeData"-->
<!-- :props="defaultProps"-->
<!-- :default-checked-keys="nodeList"-->
<!-- :current-node-key="nodeKeyId"-->
<!-- highlight-current-->
<!-- check-strictly-->
<!-- :expand-on-click-node="false"-->
<!-- ref="tree"-->
<!-- :load="loadNode"-->
<!-- @node-click="handleNodeClick"-->
<!-- lazy>-->
<!-- </el-tree>-->
<el-tree <el-tree
ref="tree"
:data="treeData" :data="treeData"
:props="defaultProps" :props="defaultProps"
:current-node-key="nodeKeyId" :current-node-key="nodeKeyId"
node-key="id" node-key="id"
:filter-node-method="filterNode" :filter-node-method="filterNode"
highlight-current highlight-current
ref="tree"
:expand-on-click-node="false" :expand-on-click-node="false"
@node-click="handleNodeClick"> @node-click="handleNodeClick"
</el-tree> />
</div> </div>
<div class="tree-collapse" @click="treeCollapse" :class="{ 'tree-close': sideClose }"> <div class="tree-collapse" :class="{ 'tree-close': sideClose }" @click="treeCollapse">
<!--切换折叠样式--> <!--切换折叠样式-->
<i class="el-icon-arrow-left" v-if="sideClose === false"></i> <i v-if="sideClose === false" class="el-icon-arrow-left" />
<i class="el-icon-arrow-right" v-if="sideClose === true"></i> <i v-if="sideClose === true" class="el-icon-arrow-right" />
</div> </div>
</div> </div>
<div class="tree-right"> <div class="tree-right">
<div class="content"> <div class="content">
<!--搜索区域--> <!--搜索区域-->
<div class="search-area"> <div class="search-area">
<el-form inline class="label-input-form" v-model="searchForm"> <el-form v-model="searchForm" inline class="label-input-form">
<el-form-item label="姓名" class="search-item"> <el-form-item label="姓名" class="search-item">
<el-input placeholder="根据姓名查询" clearable v-model="searchForm.uname"> <el-input v-model="searchForm.uname" placeholder="根据姓名查询" clearable />
</el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮箱" class="search-item"> <el-form-item label="邮箱" class="search-item">
<el-input placeholder="根据邮箱查询" clearable v-model="searchForm.email"> <el-input v-model="searchForm.email" placeholder="根据邮箱查询" clearable />
</el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="mini" <el-button
class="common-button-primary" @click="getDatas('1')" v-btn-permission="'d285ee99b52abcd63d863f6783e350f0'"> v-btn-permission="'d285ee99b52abcd63d863f6783e350f0'"
type="primary"
size="mini"
class="common-button-primary"
@click="getDatas('1')"
>
查询 查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="mini" class="common-button-default" @click="clearAllSearch" v-btn-permission="'12a6b1f548cef7b152746c978fc32dbb'"> <el-button v-btn-permission="'12a6b1f548cef7b152746c978fc32dbb'" size="mini" class="common-button-default" @click="clearAllSearch">
清空 清空
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" @click="selectEdit" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'"> <el-button v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'" size="mini" type="primary" @click="selectEdit">
批量配置角色 批量配置角色
</el-button> </el-button>
<el-button size="mini" type="primary" @click="selectEditOfOrg" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'"> <el-button v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'" size="mini" type="primary" @click="selectEditOfOrg">
根据部门批量配置角色 根据部门批量配置角色
</el-button> </el-button>
<el-button v-btn-permission="'335a0e7929ac7e11887bec0d7efd0fef'" size="mini" type="primary" @click="setRoleForDepartment">
配置部门绑定角色
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -86,19 +76,21 @@
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
class="drag-table" class="drag-table"
height="100%" height="100%"
@selection-change="selectedData"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}"
@selection-change="selectedData"
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center" align="center"
/> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (page - 1) * pageSize }} {{ ($index + 1) + (page - 1) * pageSize }}
</template> </template>
@@ -106,17 +98,18 @@
<el-table-column <el-table-column
prop="account" prop="account"
label="账号" label="账号"
width="100px"> width="100px"
</el-table-column> />
<el-table-column <el-table-column
prop="uname" prop="uname"
label="姓名" label="姓名"
width="100px"> width="100px"
</el-table-column> />
<el-table-column <el-table-column
prop="sex" prop="sex"
label="性别" label="性别"
width="50px"> width="50px"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.sex === '1'"></div> <div v-if="scope.row.sex === '1'"></div>
<div v-if="scope.row.sex === '2'"></div> <div v-if="scope.row.sex === '2'"></div>
@@ -125,54 +118,57 @@
<el-table-column <el-table-column
prop="phone" prop="phone"
label="电话" label="电话"
width="170px"> width="170px"
</el-table-column> />
<el-table-column <el-table-column
prop="email" prop="email"
label="邮箱" label="邮箱"
width="170px"> width="170px"
</el-table-column> />
<el-table-column <el-table-column
prop="institutionName" prop="institutionName"
label="所属部门"> label="所属部门"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover trigger="hover" placement="top"> <el-popover trigger="hover" placement="top">
{{ scope.row.institutionName }} {{ scope.row.institutionName }}
<div slot="reference" class="name-wrapper"> <div slot="reference" class="name-wrapper">
<p v-if="!scope.row.institutionName || scope.row.institutionName.length<15"> <!-- <p v-if="!scope.row.institutionName || scope.row.institutionName.length<15">
{{ scope.row.institutionName }} {{ scope.row.institutionName }}
</p> </p>
<p v-else> {{ scope.row.institutionName.substring(0, 15) }}...</p> <p v-else> {{ scope.row.institutionName.substring(0, 15) }}...</p>-->
<p> {{ scope.row.institutionName }}</p>
</div> </div>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roles" prop="roles"
label="角色" label="角色"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{getRoleName(scope.row.roles)}} {{ scope.row.roles }}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- prop="NameList"--> <!-- prop="NameList"-->
<!-- label="所属岗位">--> <!-- label="所属岗位">-->
<!-- <template slot-scope="scope">--> <!-- <template slot-scope="scope">-->
<!-- <el-popover trigger="hover" placement="top">--> <!-- <el-popover trigger="hover" placement="top">-->
<!-- {{ scope.row.NameList }}--> <!-- {{ scope.row.NameList }}-->
<!-- <div slot="reference" class="name-wrapper">--> <!-- <div slot="reference" class="name-wrapper">-->
<!-- <p v-if="!scope.row.institutionName ||scope.row.NameList.length<15">--> <!-- <p v-if="!scope.row.institutionName ||scope.row.NameList.length<15">-->
<!-- {{ scope.row.NameList }}--> <!-- {{ scope.row.NameList }}-->
<!-- </p>--> <!-- </p>-->
<!-- <p v-else> {{ scope.row.NameList.substring(0, 15) }}...</p>--> <!-- <p v-else> {{ scope.row.NameList.substring(0, 15) }}...</p>-->
<!-- </div>--> <!-- </div>-->
<!-- </el-popover>--> <!-- </el-popover>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column <el-table-column
label="状态" label="状态"
width="100px"> width="100px"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.disableFlag === '1'">已禁用</div> <div v-if="scope.row.disableFlag === '1'">已禁用</div>
<div v-else>已启用</div> <div v-else>已启用</div>
@@ -180,16 +176,17 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
width="50px"> width="50px"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div @click.stop style="display: inline-block"> <div style="display: inline-block" @click.stop>
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'30db3b395deb5004266cd65d302c2776'" v-if="scope.row.disableFlag === '1'" :command="[scope.row, '启用']" > <el-dropdown-item v-if="scope.row.disableFlag === '1'" v-btn-permission="'30db3b395deb5004266cd65d302c2776'" :command="[scope.row, '启用']">
启用 启用
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-btn-permission="'30db3b395deb5004266cd65d302c2776'" v-if="scope.row.disableFlag === '0'" :command="[scope.row, '禁用']"> <el-dropdown-item v-if="scope.row.disableFlag === '0'" v-btn-permission="'30db3b395deb5004266cd65d302c2776'" :command="[scope.row, '禁用']">
禁用 禁用
</el-dropdown-item> </el-dropdown-item>
@@ -204,7 +201,13 @@
</el-table> </el-table>
</div> </div>
<loading :loading="Loading">加载中...</loading> <loading :loading="Loading">加载中...</loading>
<pagination :page="page" :total="total" :pageSize="pageSize" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination> <pagination
:page="page"
:total="total"
:pageSize="pageSize"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div> </div>
<el-drawer <el-drawer
class="postPage" class="postPage"
@@ -215,29 +218,42 @@
@close="resetFormPost" @close="resetFormPost"
> >
<el-form ref="" :model="sarPost" inline> <el-form ref="" :model="sarPost" inline>
<el-form-item class="search-item" style="padding-left: 25px"> <el-form-item class="search-item" style="padding-left: 25px">
<el-input v-model="sarPost.name" <el-input
size="small" v-model="sarPost.name"
placeholder="角色名称查找" size="small"
clearable></el-input> placeholder="角色名称查找"
clearable
/>
</el-form-item> </el-form-item>
<el-form-item label="" class="search-item btn-box"> <el-form-item label="" class="search-item btn-box">
<el-button class="common-button-primary" type="primary" size="mini" @click="searchPostName" <el-button
v-btn-permission="''">查询 v-btn-permission="''"
class="common-button-primary"
type="primary"
size="mini"
@click="searchPostName"
>
查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item label="" class="search-item btn-box"> <el-form-item label="" class="search-item btn-box">
<el-button class="common-button-default" @click="resetSelect" size="mini" <el-button
v-btn-permission="">清空 v-btn-permission=""
class="common-button-default"
size="mini"
@click="resetSelect"
>
清空
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-tree <el-tree
v-if="modalPost"
ref="tree2" ref="tree2"
node-key="id" node-key="id"
class="filter-tree" class="filter-tree"
style="height: 100%; overflow: auto;" style="height: 100%; overflow: auto;"
v-if="modalPost"
:props="props" :props="props"
:data="postList" :data="postList"
:filter-node-method="filterNode" :filter-node-method="filterNode"
@@ -246,9 +262,16 @@
check-strictly check-strictly
default-expand-all default-expand-all
:expand-on-click-node="false" :expand-on-click-node="false"
show-checkbox> show-checkbox
</el-tree> />
<pagination :page="page1" :pageSize="pageSize1" :total="total2" @pageChange="pageChange2" @pageSizeChange="pageSizeChange2"></pagination> <pagination
:auto-size="true"
:page="page1"
:pageSize="pageSize1"
:total="total2"
@pageChange="pageChange2"
@pageSizeChange="pageSizeChange2"
/>
<div id="roleFormButton" class="demo-drawer-footer"> <div id="roleFormButton" class="demo-drawer-footer">
<el-button <el-button
size="mini" size="mini"
@@ -257,26 +280,32 @@
type="primary" type="primary"
:loading="butionLoading" :loading="butionLoading"
@click="PostSubmit" @click="PostSubmit"
>确定 >
确定
</el-button> </el-button>
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="resetFormPost">取消</el-button> <el-button size="mini" class="common-button-default" icon="el-icon-close" @click="resetFormPost">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading> <loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
<SetRoleForDepartment ref="SetRoleForDepartmentRef" @success="getDatas('1')" />
</div> </div>
</template> </template>
<script> <script>
import SetRoleForDepartment from '../components/SetRoleForDepartment'
export default { export default {
name: 'mechanism', name: 'Mechanism',
data() { components: {
SetRoleForDepartment
},
data () {
return { return {
formLoading: true, formLoading: true,
peopleType: '', //1为树结构 2 为全机构 peopleType: '', // 1为树结构 2 为全机构
nodeKeyId: '', nodeKeyId: '',
searchForm: { searchForm: {
uname: "", uname: '',
email: "" email: ''
}, },
userId: '', userId: '',
postList: [], postList: [],
@@ -287,7 +316,7 @@ export default {
nodeList: [], nodeList: [],
modalPost: false, modalPost: false,
sarPost: { sarPost: {
name: "", // 角色名称 name: '', // 角色名称
}, },
filterText: '', // 树结构检索条件 filterText: '', // 树结构检索条件
defaultProps: { defaultProps: {
@@ -299,8 +328,8 @@ export default {
total: 0, total: 0,
total2: 0, total2: 0,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
page1:1, page1: 1,
pageSize1:20, pageSize1: 20,
sideClose: false, sideClose: false,
data: [], // table数据 data: [], // table数据
treeLoading: false, treeLoading: false,
@@ -309,31 +338,46 @@ export default {
id: '', id: '',
// 批量配置角色勾选暂存 // 批量配置角色勾选暂存
manageData: [], manageData: [],
configOrgManage:false, configOrgManage: false,
drawerTitle: '配置角色' drawerTitle: '配置角色'
} }
}, },
computed: {},
watch: {
filterText (val) {
this.$refs.tree.filter(val);
},
},
mounted () {
// 获取组织结构树
this.getTree()
this.getTree2()
},
methods: { methods: {
getRoleName(roles){ // 给部门所有人员配置角色·
let names=roles.map(item=>{ setRoleForDepartment () {
return item.name this.$refs.SetRoleForDepartmentRef.open(this.id)
}) },
getRoleName (roles) {
const names = roles.map(item => {
return item.name
})
return names.join(',') return names.join(',')
}, },
clearAllSearch() { clearAllSearch () {
this.searchForm = { this.searchForm = {
uname: "", uname: '',
email: "" email: ''
} }
this.page = 1 this.page = 1
this.getData() this.getData()
}, },
resetFormPost() { resetFormPost () {
this.modalPost = false this.modalPost = false
this.postList = [] this.postList = []
this.page1 = 1 this.page1 = 1
}, },
PostSubmit() { PostSubmit () {
this.butionLoading = true this.butionLoading = true
if (this.drawerTitle === '配置角色') { if (this.drawerTitle === '配置角色') {
this.$http.postData('sarUser/user/role', { this.$http.postData('sarUser/user/role', {
@@ -347,8 +391,8 @@ export default {
this.getData() this.getData()
} }
}) })
} else if(this.configOrgManage){ } else if(this.configOrgManage) {
//批量配置角色信息 // 批量配置角色信息
this.$http.postData('sarUser/user/roleBatchByOrgId', { this.$http.postData('sarUser/user/roleBatchByOrgId', {
roleIds: this.$refs.tree2.getCheckedKeys(), roleIds: this.$refs.tree2.getCheckedKeys(),
orgId: this.id orgId: this.id
@@ -373,18 +417,17 @@ export default {
} }
}) })
} }
}, },
searchPostName() { searchPostName () {
this.page = 1; this.page = 1;
this.getTree2(); this.getTree2();
this.sarPost.name = ""; this.sarPost.name = '';
}, // 查询 }, // 查询
resetSelect() { resetSelect () {
this.sarPost.name = ""; this.sarPost.name = '';
this.getTree2(); this.getTree2();
}, // 外层清空条件查询 }, // 外层清空条件查询
handleCommand(command) { handleCommand (command) {
switch (command[1]) { switch (command[1]) {
case '启用': case '启用':
this.disableFlagEdit(command[0], 0) this.disableFlagEdit(command[0], 0)
@@ -398,7 +441,7 @@ export default {
} }
}, },
getTree2() { getTree2 () {
this.$http.get('sarRole/role/allPage', { this.$http.get('sarRole/role/allPage', {
current: this.page1, current: this.page1,
pageSize: this.pageSize1, pageSize: this.pageSize1,
@@ -410,10 +453,10 @@ export default {
this.total2 = res.data.total this.total2 = res.data.total
}) })
}, },
postsConfigure(row) { postsConfigure (row) {
this.configOrgManage = false this.configOrgManage = false
this.drawerTitle = '配置角色' this.drawerTitle = '配置角色'
var arr = [] const arr = []
this.userId = row.userId this.userId = row.userId
row.positions.forEach((item) => { row.positions.forEach((item) => {
arr.push(item.id) arr.push(item.id)
@@ -422,8 +465,8 @@ export default {
this.modalPost = true this.modalPost = true
this.getTree2() this.getTree2()
}, },
disableFlagEdit(row, type) { disableFlagEdit (row, type) {
let json = {} const json = {}
json.userId = row.userId json.userId = row.userId
json.disableFlag = type json.disableFlag = type
this.$http.postData('sarUser/user/disable', json, {}, this.$http.postData('sarUser/user/disable', json, {},
@@ -438,14 +481,14 @@ export default {
} }
}) })
}, },
treeCollapse() { treeCollapse () {
this.sideClose = !this.sideClose this.sideClose = !this.sideClose
}, },
filterNode(value, data) { filterNode (value, data) {
if (!value) return true; if (!value) return true;
return data.name.indexOf(value) !== -1; return data.name.indexOf(value) !== -1;
}, },
handleNodeClick(data) { handleNodeClick (data) {
this.id = data.id this.id = data.id
this.page = 1 this.page = 1
this.getData() this.getData()
@@ -485,7 +528,7 @@ export default {
// }, e => { // }, e => {
// }) // })
// }, // },
getTree() { getTree () {
this.$http.get('SarInstitution/institution', {}, { this.$http.get('SarInstitution/institution', {}, {
_this: this, _this: this,
loading: 'treeLoading' loading: 'treeLoading'
@@ -501,7 +544,7 @@ export default {
console.log(e); console.log(e);
}) })
}, },
getDatas(type) { getDatas (type) {
if (type === '1') { if (type === '1') {
this.page = 1 this.page = 1
} }
@@ -530,7 +573,7 @@ export default {
this.total = res.data.total this.total = res.data.total
}) })
}, },
getData() { getData () {
this.peopleType = 1; this.peopleType = 1;
this.$http.post('SarInstitution/institution/userUnderInstitution', { this.$http.post('SarInstitution/institution/userUnderInstitution', {
current: this.page, current: this.page,
@@ -556,42 +599,42 @@ export default {
this.total = res.data.total this.total = res.data.total
}) })
}, },
pageChange(page) { pageChange (page) {
this.page = page this.page = page
if(this.peopleType === 1){ if(this.peopleType === 1) {
this.getData() this.getData()
}else{ }else{
this.getDatas() this.getDatas()
} }
}, },
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = pageSize this.pageSize = pageSize
if(this.peopleType === 1){ if(this.peopleType === 1) {
this.getData() this.getData()
}else{ }else{
this.getDatas() this.getDatas()
} }
}, },
pageChange2(page1) { pageChange2 (page1) {
this.page1 = page1 this.page1 = page1
this.getTree2() this.getTree2()
}, },
pageSizeChange2(pageSize1) { pageSizeChange2 (pageSize1) {
this.pageSize1 = pageSize1 this.pageSize1 = pageSize1
this.getTree2() this.getTree2()
}, },
/** 批量编辑角色的勾选数据 */ /** 批量编辑角色的勾选数据 */
selectedData(val) { selectedData (val) {
this.manageData = val this.manageData = val
}, },
selectEdit() { selectEdit () {
this.configOrgManage = false this.configOrgManage = false
this.getTree2() this.getTree2()
if(this.manageData.length){ if(this.manageData.length) {
this.userId = [] this.userId = []
this.manageData.forEach(item=>{ this.manageData.forEach(item => {
this.userId.push(item.userId) this.userId.push(item.userId)
}) })
this.drawerTitle = '批量配置角色' this.drawerTitle = '批量配置角色'
@@ -600,24 +643,13 @@ export default {
this.$message.warning('请选择需要批量配置的角色') this.$message.warning('请选择需要批量配置的角色')
} }
}, },
selectEditOfOrg() { selectEditOfOrg () {
this.configOrgManage = true this.configOrgManage = true
this.getTree2() this.getTree2()
this.drawerTitle = '批量配置角色' this.drawerTitle = '批量配置角色'
this.modalPost = true this.modalPost = true
}, },
},
computed: {},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
},
},
mounted() {
// 获取组织结构树
this.getTree()
this.getTree2()
} }
} }
</script> </script>
@@ -728,5 +760,4 @@ export default {
} }
} }
</style> </style>
+2 -1
View File
@@ -362,7 +362,7 @@
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%;" style="width: 100%;"
border border
height="100%" height="93%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}"> fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column <el-table-column
@@ -917,6 +917,7 @@ export default {
res.data.forEach(item => { res.data.forEach(item => {
if (item.id && item.id == 'asdfadf') { if (item.id && item.id == 'asdfadf') {
item.disabled = true; item.disabled = true;
this.nodeList.push(item.id)
// if (item.childNodes && item.childNodes.length !== 0) { // if (item.childNodes && item.childNodes.length !== 0) {
// this.addAttr(item.childNodes); // this.addAttr(item.childNodes);
// } // }
@@ -390,12 +390,13 @@ export default {
}, },
goNuwPage (item) { goNuwPage (item) {
this.$store.commit('setDetailMap', this.$route.path) this.$store.commit('setDetailMap', this.$route.path)
console.log(item);
const params = { const params = {
id: item.id, id: item.id,
dictionaryName: item.dictionaryName, dictionaryName: item.dictionaryName,
dictionType: item.dictionType, dictionType: item.dictionType,
isRelate: item.isRelate, isRelate: item.isRelate,
relateDicId: item.relateDicId relateDicId: item.relateDicId || '1'
} }
if(item.dictionType && item.dictionType === 'TREE'){ if(item.dictionType && item.dictionType === 'TREE'){
this.$router.push({ this.$router.push({
@@ -408,7 +409,6 @@ export default {
params: params params: params
}) })
} }
}, },
handleSelectone (data) { handleSelectone (data) {
this.selectedList = [] this.selectedList = []
+34 -47
View File
@@ -8,13 +8,16 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>基础信息</span> <i class="icon-modular-title" /><span>基础信息</span>
</div> </div>
<div class="modular-header-btn"> <div class="modular-header-btn">
<el-button class="relation-btn" <el-button
icon="icon-relation" class="relation-btn"
@click.stop="relateEvent()" icon="icon-relation"
>更新记录</el-button> @click.stop="relateEvent()"
>
更新记录
</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -29,10 +32,10 @@
<label style=" margin-right: 132px;line-height: 44px">会议纪要</label> <label style=" margin-right: 132px;line-height: 44px">会议纪要</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.meetingMinutesList && form.meetingMinutesList.length > 0"> <template v-if="form.meetingMinutesList && form.meetingMinutesList.length > 0">
<p class="file-item" v-for="file in form.meetingMinutesList"> <p v-for="file in form.meetingMinutesList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -45,7 +48,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>会议分类</span> <i class="icon-modular-title" /><span>会议分类</span>
</div> </div>
</div> </div>
</template> </template>
@@ -58,7 +61,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>会议议题</span> <i class="icon-modular-title" /><span>会议议题{{ index + 1 }}</span>
</div> </div>
</div> </div>
</template> </template>
@@ -68,10 +71,10 @@
<label style=" margin-right: 132px;line-height: 44px">议题材料</label> <label style=" margin-right: 132px;line-height: 44px">议题材料</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="item.agendaMaterialsList && item.agendaMaterialsList.length > 0"> <template v-if="item.agendaMaterialsList && item.agendaMaterialsList.length > 0">
<p class="file-item" v-for="file in item.agendaMaterialsList"> <p v-for="file in item.agendaMaterialsList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -87,19 +90,20 @@
</div> </div>
<!-- 更新LOG --> <!-- 更新LOG -->
<el-dialog <el-dialog
title="更新记录" title="更新记录"
:visible.sync="relateDialog" :visible.sync="relateDialog"
width="60%" width="60%"
class="relateClass" class="relateClass"
:before-close="relateDialogClose"> :before-close="relateDialogClose"
>
<div <div
v-for="(item, index) in relateNowList" v-for="(item, index) in relateNowList"
:key="index" v-if="relateNowList"
v-if="relateNowList" :key="index"
style="margin-bottom: 10px;line-height: 20px" style="margin-bottom: 10px;line-height: 20px"
> >
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}} {{ index+1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
<div v-if="relateNowList.length >1"><el-divider></el-divider></div> <div v-if="relateNowList.length >1"><el-divider /></div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="relateDialogClose()"> </el-button> <el-button type="primary" @click="relateDialogClose()"> </el-button>
@@ -110,10 +114,8 @@
</template> </template>
<script> <script>
import { getBusStandFileByAttId } from 'api/process'
export default { export default {
name: "meetingDetail", name: 'MeetingDetail',
data () { data () {
return { return {
url: { url: {
@@ -121,14 +123,14 @@ export default {
getLogList: 'lawss/sarUpdLog/getLogList', // 更新记录 getLogList: 'lawss/sarUpdLog/getLogList', // 更新记录
}, },
form: {}, form: {},
activeNames: ['1', '2'], activeNames: [ '1', '2' ],
// 更新记录 // 更新记录
relateDialog: false, relateDialog: false,
relateNowList: [], relateNowList: [],
loading: false loading: false
} }
}, },
created() { created () {
this.getData() this.getData()
}, },
methods: { methods: {
@@ -141,7 +143,7 @@ export default {
res.data.meetingTopicList.forEach((item, index) => { res.data.meetingTopicList.forEach((item, index) => {
activeNames.push(index) activeNames.push(index)
}) })
this.activeNames = [...this.activeNames, ...activeNames] this.activeNames = [ ...this.activeNames, ...activeNames ]
} }
this.$set(this, 'form', res.data) this.$set(this, 'form', res.data)
} }
@@ -158,9 +160,9 @@ export default {
if (res.ok && res.data.length > 0) { if (res.ok && res.data.length > 0) {
this.relateDialog = true this.relateDialog = true
const relateList = res.data const relateList = res.data
var i let i
for (i = 0; i < relateList.length; i++) { for (i = 0; i < relateList.length; i++) {
let obj = {creationUserName: '', creationTime: '', content: ''} const obj = { creationUserName: '', creationTime: '', content: '' }
obj.creationUserName = relateList[i].creationUserName obj.creationUserName = relateList[i].creationUserName
obj.creationTime = relateList[i].creationTime obj.creationTime = relateList[i].creationTime
obj.content = relateList[i].content obj.content = relateList[i].content
@@ -193,21 +195,6 @@ export default {
} }
} }
}, },
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
openFileInPdf (attId, fileName) { openFileInPdf (attId, fileName) {
this.$preview(attId) this.$preview(attId)
}, },
@@ -1,3 +1,4 @@
<!-- eslint-disable -->
<!--企标详情页--> <!--企标详情页-->
<template> <template>
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}"> <div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
@@ -5,7 +6,7 @@
<div class="details-header"> <div class="details-header">
<span>{{sarStandardsInfoEO.standCode}} {{sarStandardsInfoEO.standName ? sarStandardsInfoEO.standName : sarStandardsInfoEO.standEnName}} 企标详情</span> <span>{{sarStandardsInfoEO.standCode}} {{sarStandardsInfoEO.standName ? sarStandardsInfoEO.standName : sarStandardsInfoEO.standEnName}} 企标详情</span>
<!--<b style="float:right;font-size: 25px;color: #ff9900">{{ ((qualityCommentScore*2*0.9)+(dynamicCommentScore*2*0.1)).toFixed(1) }}</b>--> <!--<b style="float:right;font-size: 25px;color: #ff9900">{{ ((qualityCommentScore*2*0.9)+(dynamicCommentScore*2*0.1)).toFixed(1) }}</b>-->
<b style="float:right;font-size: 25px;color: #ff9900">{{ score }}</b> <b v-show="score !== '0.00'" style="float:right;font-size: 25px;color: #ff9900;">{{ score }}</b>
<!-- 之前的先注掉--> <!-- 之前的先注掉-->
<!-- <span>{{sarStandardsInfoEO.standCode}}-{{sarStandardsInfoEO.standYear}} {{sarStandardsInfoEO.standName}} 企标详情</span>--> <!-- <span>{{sarStandardsInfoEO.standCode}}-{{sarStandardsInfoEO.standYear}} {{sarStandardsInfoEO.standName}} 企标详情</span>-->
</div> </div>
@@ -444,7 +445,7 @@
<p class="half"> <p class="half">
<label style=" margin-right: 156px;" <label style=" margin-right: 156px;"
title="修订中为现行有效版本已修订标准的有效性需根据实际实施情况判定" title="修订中为现行有效版本已修订标准的有效性需根据实际实施情况判定"
>文本状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span> >标准状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 157px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
<p class="half" style=""><label style=" margin-right: 122px;">企标实施日期</label><span>{{ sarStandardsInfoEO.putTime || '-' }}</span></p> <p class="half" style=""><label style=" margin-right: 122px;">企标实施日期</label><span>{{ sarStandardsInfoEO.putTime || '-' }}</span></p>
@@ -1341,6 +1342,7 @@
</div> </div>
</template> </template>
<script> <script>
/* eslint-disable */
import PutQuestionButton from '@/components/PutQuestionButton' import PutQuestionButton from '@/components/PutQuestionButton'
import {dateFormat} from '../../../common/date' import {dateFormat} from '../../../common/date'
import { getBusStandFileByAttId } from 'api/process' import { getBusStandFileByAttId } from 'api/process'
@@ -1371,6 +1373,7 @@ export default {
data () { data () {
return { return {
score: 0, score: 0,
XGLC:'',
externalStatus:'', externalStatus:'',
QFTP: false, QFTP: false,
textOptions: [], textOptions: [],
@@ -1670,7 +1673,7 @@ export default {
getScore () { getScore () {
//查询动态评价总平均分和质量评价总平均分 //查询动态评价总平均分和质量评价总平均分
let standId = this.$route.params.id let standId = this.$route.params.id
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId}, { this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId,prcNum:this.XGLC}, {
_this: this _this: this
}, res => { }, res => {
if (res.ok) { if (res.ok) {
@@ -2488,6 +2491,12 @@ export default {
_this: this _this: this
}, res => { }, res => {
this.sarStandardsInfoEO = res.data || {} this.sarStandardsInfoEO = res.data || {}
if (res.data.attrInfoMap && res.data.attrInfoMap.XGLC){
let XGLCData = res.data.attrInfoMap.XGLC.split(',')
this.XGLC = XGLCData[XGLCData.length - 1]
}else{
this.XGLC = ''
}
if (this.sarStandardsInfoEO.standCode && this.sarStandardsInfoEO.standCode.indexOf('Q/QCBFC') !== -1) { if (this.sarStandardsInfoEO.standCode && this.sarStandardsInfoEO.standCode.indexOf('Q/QCBFC') !== -1) {
this.QFTP = true this.QFTP = true
} }
@@ -2590,6 +2599,12 @@ export default {
}) })
}, },
openFileInPdf (attId, oldFileName) { openFileInPdf (attId, oldFileName) {
if (this.$hasPermission('43ae63abc1b64e6bd5cf3bb75b423bc2')) {
this.$preview(attId)
} else {
this.$message.error('没有在线预览文档权限!')
}
/*
// 判断是否是图片格式,图片格式不预览,直接下载 // 判断是否是图片格式,图片格式不预览,直接下载
let index1 = oldFileName.lastIndexOf('.') let index1 = oldFileName.lastIndexOf('.')
let index2 = oldFileName.length let index2 = oldFileName.length
@@ -2680,6 +2695,7 @@ export default {
} else { } else {
this.$message.error('没有在线预览文档权限!') this.$message.error('没有在线预览文档权限!')
} }
*/
this.$http.get('lawss/sarBussionessStand/logBuss', { this.$http.get('lawss/sarBussionessStand/logBuss', {
standCode: this.sarStandardsInfoEO.standCode, standCode: this.sarStandardsInfoEO.standCode,
standName: this.sarStandardsInfoEO.standName standName: this.sarStandardsInfoEO.standName
@@ -2790,7 +2806,8 @@ export default {
showReplaceStandInfo (item) { showReplaceStandInfo (item) {
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType // this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', { this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', {
standNumber: item standNumber: item,
standType: 'BUSS'
}, { }, {
_this: this _this: this
}, res => { }, res => {
@@ -3381,12 +3398,12 @@ export default {
this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车型” this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车型”
this.emergyKindOptions = res.data.ENERGYTYPES this.emergyKindOptions = res.data.ENERGYTYPES
this.requestOptions = res.data.REQUESTTYPE this.requestOptions = res.data.REQUESTTYPE
this.textOptions = res.data.TEXTSTATUSBUSS //企标文本状态 this.textOptions = res.data.TEXTSTATUSBUSS //企标标准状态
this.mjOptions = res.data.MJ this.mjOptions = res.data.MJ
this.STANDSOURCEREVISION = res.data.STANDSOURCEREVISION this.STANDSOURCEREVISION = res.data.STANDSOURCEREVISION
}, e => { }, e => {
}) })
this.getScore()
/* /*
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId}, { this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId}, {
_this: this _this: this
@@ -3439,6 +3456,7 @@ export default {
this.getOrgTreeSource() this.getOrgTreeSource()
this.standItemEO.standId = this.$route.params.id this.standItemEO.standId = this.$route.params.id
Promise.all([this.queryDisplayLocation(), this.selectStandMessage(), this.getAddFormFieldList()]).then(async(values) => { Promise.all([this.queryDisplayLocation(), this.selectStandMessage(), this.getAddFormFieldList()]).then(async(values) => {
this.getScore()
const [displayLocation, {attrInfoMap: dynamicFormField}, formFieldList] = values const [displayLocation, {attrInfoMap: dynamicFormField}, formFieldList] = values
// const relatedPlansRes = await this.queryRelatedPlans() // const relatedPlansRes = await this.queryRelatedPlans()
// const relatedPlans = relatedPlansRes.list // const relatedPlans = relatedPlansRes.list
@@ -420,7 +420,7 @@
<p class="half"> <p class="half">
<label style=" margin-right: 156px;" <label style=" margin-right: 156px;"
title="修订中为现行有效版本已修订标准的有效性需根据实际实施情况判定" title="修订中为现行有效版本已修订标准的有效性需根据实际实施情况判定"
>文本状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span> >标准状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 157px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
<p class="half" style=""><label style=" margin-right: 122px;">企标实施日期</label><span>{{ sarStandardsInfoEO.putTime || '-' }}</span></p> <p class="half" style=""><label style=" margin-right: 122px;">企标实施日期</label><span>{{ sarStandardsInfoEO.putTime || '-' }}</span></p>
@@ -3113,7 +3113,7 @@ export default {
this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车型” this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车型”
this.emergyKindOptions = res.data.ENERGYTYPES this.emergyKindOptions = res.data.ENERGYTYPES
this.requestOptions = res.data.REQUESTTYPE this.requestOptions = res.data.REQUESTTYPE
this.textOptions = res.data.TEXTSTATUSBUSS //企标文本状态 this.textOptions = res.data.TEXTSTATUSBUSS //企标标准状态
this.mjOptions = res.data.MJ this.mjOptions = res.data.MJ
this.STANDSOURCEREVISION = res.data.STANDSOURCEREVISION this.STANDSOURCEREVISION = res.data.STANDSOURCEREVISION
}, e => { }, e => {
@@ -1,3 +1,4 @@
<!-- eslint-disable -->
<!--政策详情页--> <!--政策详情页-->
<template> <template>
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}"> <div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
@@ -42,9 +43,9 @@
<div class="basic-information-content"> <div class="basic-information-content">
<!--<p style="" class="half"><label style=" margin-right: 157px;">政策分类</label><span>{{ sarStandardsInfoEO.lawsType }}</span></p>--> <!--<p style="" class="half"><label style=" margin-right: 157px;">政策分类</label><span>{{ sarStandardsInfoEO.lawsType }}</span></p>-->
<p style="" class="half"><label style=" margin-right: 132px;">1级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFirstLevelName || '-' }}</span></p> <p style="" class="half"><label style=" margin-right: 132px;">1级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFirstLevelName || '-' }}</span></p>
<p style="" class="half"><label style=" margin-right: 132px;">2级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFourthLevelName || '-' }}</span></p> <p style="" class="half"><label style=" margin-right: 132px;">2级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeSecondLevelName || '-' }}</span></p>
<p style="" class="half"><label style=" margin-right: 132px;">3级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeSecondLevelName || '-' }}</span></p> <p style="" class="half"><label style=" margin-right: 132px;">3级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeThirdLevelName || '-' }}</span></p>
<p style="" class="half"><label style=" margin-right: 132px;">4级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeThirdLevelName || '-' }}</span></p> <p style="" class="half"><label style=" margin-right: 132px;">4级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFourthLevelName || '-' }}</span></p>
<!--<p style="" class="half"><label style=" margin-right: 157px;">政策编号</label><span>{{ sarStandardsInfoEO.lawsNumber }}</span></p>--> <!--<p style="" class="half"><label style=" margin-right: 157px;">政策编号</label><span>{{ sarStandardsInfoEO.lawsNumber }}</span></p>-->
<p class="half"><label style=" margin-right: 157px;">政策名称</label><span>{{ sarStandardsInfoEO.lawsName || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">政策名称</label><span>{{ sarStandardsInfoEO.lawsName || '-' }}</span></p>
<p class="half"><label style=" margin-right: 157px;">英文名称</label><span>{{ sarStandardsInfoEO.lawsEnName || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">英文名称</label><span>{{ sarStandardsInfoEO.lawsEnName || '-' }}</span></p>
@@ -52,7 +53,7 @@
<p class="half"><label style=" margin-right: 157px;">发文日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">发文日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
<p class="half"><label style=" margin-right: 157px;">发文单位</label><span>{{ sarStandardsInfoEO.issueCompany || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">发文单位</label><span>{{ sarStandardsInfoEO.issueCompany || '-' }}</span></p>
<p class="half"><label style=" margin-right: 125px;">征集意见周期</label><span>{{ formatDateFunc(sarStandardsInfoEO.commentCycleStart) || '' }} - {{formatDateFunc(sarStandardsInfoEO.commentCycleEnd) || ''}}</span></p> <p class="half"><label style=" margin-right: 125px;">征集意见周期</label><span>{{ formatDateFunc(sarStandardsInfoEO.commentCycleStart) || '' }} - {{formatDateFunc(sarStandardsInfoEO.commentCycleEnd) || ''}}</span></p>
<p class="half"><label style=" margin-right: 156px;">文本状态</label><span style="">{{ sarStandardsInfoEO.standStatusShow || '-' }}</span></p> <p class="half"><label style=" margin-right: 156px;">政策状态</label><span style="">{{ sarStandardsInfoEO.standStatusShow || '-' }}</span></p>
<p class="half"><label style=" margin-right: 157px;">适用车型</label><span>{{ sarStandardsInfoEO.lawsSycx || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">适用车型</label><span>{{ sarStandardsInfoEO.lawsSycx || '-' }}</span></p>
<p class="half"><label style=" margin-right: 95px;">是否纳入认证清单</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? '是' : (sarStandardsInfoEO.isRelateAccess ? '否':'-')}}</span></p> <p class="half"><label style=" margin-right: 95px;">是否纳入认证清单</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? '是' : (sarStandardsInfoEO.isRelateAccess ? '否':'-')}}</span></p>
<p class="half"><label style=" margin-right: 190px;">年度</label><span>{{ sarStandardsInfoEO.lawsYear || '-' }}</span></p> <p class="half"><label style=" margin-right: 190px;">年度</label><span>{{ sarStandardsInfoEO.lawsYear || '-' }}</span></p>
@@ -63,11 +64,17 @@
<span v-else>{{ sarStandardsInfoEO.lawsNotisyncNum || '-' }}</span> <span v-else>{{ sarStandardsInfoEO.lawsNotisyncNum || '-' }}</span>
</p> </p>
<!--<p class="half"><label style=" margin-right: 125px;">通知文号链接</label><span>{{ sarStandardsInfoEO.notisyncNumLink || '-' }}</span></p>--> <!--<p class="half"><label style=" margin-right: 125px;">通知文号链接</label><span>{{ sarStandardsInfoEO.notisyncNumLink || '-' }}</span></p>-->
<p class="half"><label style=" margin-right: 157px;">信息</label><span>{{ sarStandardsInfoEO.lawsBulletin || '-' }}</span></p> <p class="half"><label style=" margin-right: 157px;">信息</label><span>{{ sarStandardsInfoEO.lawsBulletin || '-' }}</span></p>
<p class="half"><label style=" margin-right: 157px;">参考消息</label><span>{{ sarStandardsInfoEO.referenceNews || '-' }}</span></p>
<p class="half"><label style=" margin-right: 190px;">标签</label><span>{{ sarStandardsInfoEO.lawsLabel || '-' }}</span></p> <p class="half"><label style=" margin-right: 190px;">标签</label><span>{{ sarStandardsInfoEO.lawsLabel || '-' }}</span></p>
<p class="half"><label style=" margin-right: 62px;">备注最终政策发布</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p> <!-- <p class="half"><label style=" margin-right: 62px;">备注最终政策发布</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p>-->
<!--<p class="half"><label style=" margin-right: 157px;">适用区域</label><span>{{ sarStandardsInfoEO.lawsSyqy || '-' }}</span></p>--> <p class="half"><label style=" margin-right: 157px;">政策要点</label><span>{{ sarStandardsInfoEO.lawsKeyPoint || '-' }}</span></p>
<!--<p class="half"><label style=" margin-right: 157px;">政策文号</label><span>{{ sarStandardsInfoEO.lawsNo || '-' }}</span></p>--> <p class="half"><label style=" margin-right: 190px;">备注</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p>
<p class="half">
<label style=" margin-right: 125px;">政策原文链接</label>
<a v-if="sarStandardsInfoEO.lawsOriginalLink && sarStandardsInfoEO.lawsOriginalLink !== ''" :href="sarStandardsInfoEO.lawsOriginalLink" target="_blank">{{ sarStandardsInfoEO.lawsOriginalLink }}</a>
<span v-else>-</span>
</p>
<template v-for="(child, childIndex) in item.child2"> <template v-for="(child, childIndex) in item.child2">
<p class="half"> <p class="half">
<label style=" margin-right: 156px;">{{child.attrName}}</label> <label style=" margin-right: 156px;">{{child.attrName}}</label>
@@ -906,6 +913,7 @@
</div> </div>
</template> </template>
<script> <script>
/* eslint-disable */
import PutQuestionButton from '@/components/PutQuestionButton' import PutQuestionButton from '@/components/PutQuestionButton'
import {dateFormat} from '../../../common/date' import {dateFormat} from '../../../common/date'
import { getBusStandFileByAttId } from 'api/process' import { getBusStandFileByAttId } from 'api/process'
@@ -1511,6 +1519,12 @@ export default {
}) })
}, },
openFileInPdf (attId, oldFileName) { openFileInPdf (attId, oldFileName) {
if (this.$hasPermission('fd83032ae5f41a0021b00e93c88edbbg')) {
this.$preview(attId)
} else {
this.$message.error('没有在线预览文档权限!')
}
/*
// 判断是否是图片格式,图片格式不预览,直接下载 // 判断是否是图片格式,图片格式不预览,直接下载
let index1 = oldFileName.lastIndexOf('.') let index1 = oldFileName.lastIndexOf('.')
let index2 = oldFileName.length let index2 = oldFileName.length
@@ -1601,6 +1615,7 @@ export default {
} else { } else {
this.$message.error('没有在线预览文档权限!') this.$message.error('没有在线预览文档权限!')
} }
*/
}, },
showItemsModel (attField) { showItemsModel (attField) {
this.fileType = attField this.fileType = attField
@@ -88,7 +88,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileTypeShow" prop="fileTypeShow"
label="文本状态" label="标准状态"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -99,7 +99,7 @@ export default {
standId: '', standId: '',
standNumSplit: '', // 标准号/政策号 standNumSplit: '', // 标准号/政策号
standNameSplit: '', // 标准名称/政策名称 standNameSplit: '', // 标准名称/政策名称
fileType: '' // 文本状态 fileType: '' // 标准状态
}, },
itemsTextDialogs:false, itemsTextDialogs:false,
itemsText: "" itemsText: ""
@@ -1,3 +1,4 @@
<!-- eslint-disable -->
<!--国内标准法规详情页--> <!--国内标准法规详情页-->
<template> <template>
<div :class="{'hidden': !isMoreAwayBtn}" class="other-standard-details v-class"> <div :class="{'hidden': !isMoreAwayBtn}" class="other-standard-details v-class">
@@ -291,15 +292,17 @@
</p> </p>
</template> </template>
<p class="half"> <p class="half">
<label style=" margin-right: 150px;" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">文本状态</label> <label style=" margin-right: 150px;" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">标准状态</label>
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span> <span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span> <p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 150px;">标准体系</label><span>{{ <p class="half" style="display: flex"><label style=" margin-right: 150px;">标准体系</label>
sarStandardsInfoEO.standSystem || '-' <el-tooltip class="item" effect="dark" :content="sarStandardsInfoEO.standSystem" placement="top">
}}</span></p> <span style="width: 60%;display: inline-block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap">{{sarStandardsInfoEO.standSystem}}</span>
</el-tooltip>
</p>
<p class="half"> <p class="half">
<label style=" margin-right: 84px;">是否纳入认证清单</label> <label style=" margin-right: 84px;">是否纳入认证清单</label>
<span> <span>
@@ -561,7 +564,7 @@
<div <div
v-show="child.attrField !== 'ZBJBD' && child.attrField !== 'KWJ' && child.attrField !== 'FBGYWBD' " v-show="child.attrField !== 'ZBJBD' && child.attrField !== 'KWJ' && child.attrField !== 'FBGYWBD' "
:key="child.id" :key="child.id"
:class="'modular-item half'" :class="'modular-item' + ($route.params.pageType === 'FOREIGN_STAND' ? '' : ' half')"
> >
<label :title="child.attrName" class="modular-content-p-name">{{ child.attrName }}</label> <label :title="child.attrName" class="modular-content-p-name">{{ child.attrName }}</label>
<span <span
@@ -576,13 +579,14 @@
v-for="(file, fileIndex) in child.value" v-for="(file, fileIndex) in child.value"
:key="fileIndex" :key="fileIndex"
class="files-title" class="files-title"
style="width: calc(100% - 80px)"
> >
<!--发布稿、增补件单独设置下载权限--> <!--发布稿、增补件单独设置下载权限-->
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG' <template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA' || child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'"> || child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
<a :title="file.oldFileName" target="_blank" <a :title="file.oldFileName" target="_blank"
@click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName | ellipsis }}</a> @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName}}</a>
<i <i
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'" v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'"
class="icon-download" class="icon-download"
@@ -597,8 +601,8 @@
/> />
</template> </template>
<template v-else> <template v-else>
<a :title="file.oldFileName" target="_blank" <a :title="file.oldFileName" target="_blank"
@click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName | ellipsis }}</a> @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName}}</a>
<i <i
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'" v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'"
class="icon-download" class="icon-download"
@@ -673,6 +677,7 @@
v-for="(file, fileIndex) in child.value" v-for="(file, fileIndex) in child.value"
:key="fileIndex" :key="fileIndex"
class="files-title" class="files-title"
style="width: calc(100% - 80px)"
> >
<!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>--> <!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>-->
<!--发布稿、增补件单独设置下载权限--> <!--发布稿、增补件单独设置下载权限-->
@@ -1000,6 +1005,8 @@
<loading :loading="tableLoading">数据加载中...</loading> <loading :loading="tableLoading">数据加载中...</loading>
</div> </div>
<pagination <pagination
:auto-size="true"
:page-size="pageSize7"
:page="page7" :page="page7"
:total="total7" :total="total7"
@pageChange="pageChange7" @pageChange="pageChange7"
@@ -1818,6 +1825,7 @@
</div> </div>
</template> </template>
<script> <script>
/* eslint-disable */
import PutQuestionButton from '@/components/PutQuestionButton' import PutQuestionButton from '@/components/PutQuestionButton'
import CustomSVPPS from '@/components/CustomFormComponents/SVPPS' import CustomSVPPS from '@/components/CustomFormComponents/SVPPS'
import CustomSelectArray from '@/components/CustomFormComponents/SelectArray' import CustomSelectArray from '@/components/CustomFormComponents/SelectArray'
@@ -1838,6 +1846,13 @@ export default {
RelatedTermsSelect RelatedTermsSelect
}, },
filters: { filters: {
ellipsis20(value) {
if (!value) return ''
if (value.length > 20) {
return value.slice(0, 20) + '...'
}
return value
},
ellipsis(value) { ellipsis(value) {
if (!value) return '' if (!value) return ''
if (value.length > 12) { if (value.length > 12) {
@@ -1898,7 +1913,7 @@ export default {
orderBy: '', orderBy: '',
total7: 0, total7: 0,
page7: 1, page7: 1,
pageSize7: this.$store.getters.userInfo.configContent, pageSize7: 20,
addForm: { addForm: {
title: '', title: '',
content: '', content: '',
@@ -2395,7 +2410,7 @@ export default {
FormatDate(date) { FormatDate(date) {
return moment(date).format('YYYY-MM-DD'); return moment(date).format('YYYY-MM-DD');
}, },
// 将文本状态的id与name对应 // 将标准状态的id与name对应
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -2839,6 +2854,7 @@ export default {
// 代替标准编号 // 代替标准编号
showReplaceStandInfo(item) { showReplaceStandInfo(item) {
this.replaceStandInfoEO.standNumber = item this.replaceStandInfoEO.standNumber = item
this.replaceStandInfoEO.standType = this.$route.params.pageType=='INLAND_STAND'?'INLAND':'FOREIGN'
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType // this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, { this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
_this: this _this: this
@@ -3267,6 +3283,14 @@ export default {
}) })
}, },
openFileInPdf(attId, oldFileName) { openFileInPdf(attId, oldFileName) {
if (this.$route.params.pageType === 'INLAND_STAND' && this.$hasPermission('2d6ab9d465ab73d415194e1ca4313793')) {
this.$preview(attId)
} else if (this.$route.params.pageType === 'FOREIGN_STAND' && this.$hasPermission('ee684b4a9975f5d8a6dfe898c0332f98')) {
this.$preview(attId)
} else {
this.$message.error('没有在线预览文档权限!')
}
/*
// 判断是否是图片格式,图片格式不预览,直接下载 // 判断是否是图片格式,图片格式不预览,直接下载
let index1 = oldFileName.lastIndexOf('.') let index1 = oldFileName.lastIndexOf('.')
let index2 = oldFileName.length let index2 = oldFileName.length
@@ -3389,6 +3413,7 @@ export default {
this.$message.error('没有在线预览文档权限!') this.$message.error('没有在线预览文档权限!')
} }
} }
*/
if (this.$route.params.pageType === 'INLAND_STAND') { if (this.$route.params.pageType === 'INLAND_STAND') {
let standNumber = this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear || this.sarStandardsInfoEO.standSort + ' ' + this.sarStandardsInfoEO.standNumber let standNumber = this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear || this.sarStandardsInfoEO.standSort + ' ' + this.sarStandardsInfoEO.standNumber
this.$http.get('sarStandardsInfo/sar-standards-info/logInvalid', { this.$http.get('sarStandardsInfo/sar-standards-info/logInvalid', {
@@ -4026,7 +4051,7 @@ export default {
this.emergyKindOptions = res.data.ENERGYTYPES this.emergyKindOptions = res.data.ENERGYTYPES
this.requestOptions = res.data.REQUESTTYPE this.requestOptions = res.data.REQUESTTYPE
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系 this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系
this.setMap(res.data.WBZTCLASS) // 文本状态 this.setMap(res.data.WBZTCLASS) // 标准状态
this.setMap(res.data.SARPROPERTY) // 标准性质 this.setMap(res.data.SARPROPERTY) // 标准性质
}, e => { }, e => {
}) })
@@ -4214,9 +4239,12 @@ export default {
a { a {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
width: calc(~'100% - 40px'); width: calc(~'100% - 40px');
white-space: nowrap; white-space: break-spaces;
display: block; word-break: break-all;
} }
} }
@@ -4320,7 +4348,8 @@ export default {
.other-standard-details { .other-standard-details {
padding: 15px 30px 0; padding: 15px 30px 0;
width: 1200px; width: 85%;
min-width: 1200px;
margin: 0 auto; margin: 0 auto;
height: 100%; height: 100%;
@@ -4610,7 +4639,7 @@ export default {
width: calc(~'100% - 225px'); width: calc(~'100% - 225px');
& > .files-title { & > .files-title {
width: calc(~'100% - 120px'); width: calc(~'100% - 10px');
//报批稿撑开 //报批稿撑开
//min-height: 50px; //min-height: 50px;
//line-height: 50px; //line-height: 50px;
@@ -79,7 +79,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileTypeShow" prop="fileTypeShow"
label="文本状态" label="标准状态"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -261,7 +261,7 @@
<p class="half"> <p class="half">
<label style=" margin-right: 150px;" <label style=" margin-right: 150px;"
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
>文本状态</label> >标准状态</label>
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span> <span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{ <p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{
@@ -2189,7 +2189,7 @@ export default {
FormatDate(date) { FormatDate(date) {
return moment(date).format('YYYY-MM-DD'); return moment(date).format('YYYY-MM-DD');
}, },
// idname // idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -3758,7 +3758,7 @@ export default {
this.emergyKindOptions = res.data.ENERGYTYPES this.emergyKindOptions = res.data.ENERGYTYPES
this.requestOptions = res.data.REQUESTTYPE this.requestOptions = res.data.REQUESTTYPE
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ //
this.setMap(res.data.WBZTCLASS) // this.setMap(res.data.WBZTCLASS) //
this.setMap(res.data.SARPROPERTY) // this.setMap(res.data.SARPROPERTY) //
}, e => { }, e => {
}) })
+61 -74
View File
@@ -8,13 +8,16 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>基础信息</span> <i class="icon-modular-title" /><span>基础信息</span>
</div> </div>
<div class="modular-header-btn"> <div class="modular-header-btn">
<el-button class="relation-btn" <el-button
icon="icon-relation" class="relation-btn"
@click.stop="relateEvent()" icon="icon-relation"
>更新记录</el-button> @click.stop="relateEvent()"
>
更新记录
</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -31,10 +34,10 @@
<label style=" margin-right: 164px;line-height: 44px">协议</label> <label style=" margin-right: 164px;line-height: 44px">协议</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.agreementList && form.agreementList.length > 0"> <template v-if="form.agreementList && form.agreementList.length > 0">
<p class="file-item" v-for="file in form.agreementList"> <p v-for="file in form.agreementList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -47,7 +50,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>课题组会议</span> <i class="icon-modular-title" /><span>课题组会议</span>
</div> </div>
</div> </div>
</template> </template>
@@ -64,7 +67,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>课题组资料</span> <i class="icon-modular-title" /><span>课题组资料</span>
</div> </div>
</div> </div>
</template> </template>
@@ -73,10 +76,10 @@
<label style=" margin-right: 132px;line-height: 44px">研究方案</label> <label style=" margin-right: 132px;line-height: 44px">研究方案</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.researchPlanList && form.researchPlanList.length > 0"> <template v-if="form.researchPlanList && form.researchPlanList.length > 0">
<p class="file-item" v-for="file in form.researchPlanList"> <p v-for="file in form.researchPlanList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -86,10 +89,10 @@
<label style=" margin-right: 132px;line-height: 44px">研究成果</label> <label style=" margin-right: 132px;line-height: 44px">研究成果</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.researchFindingsList && form.researchFindingsList.length > 0"> <template v-if="form.researchFindingsList && form.researchFindingsList.length > 0">
<p class="file-item" v-for="file in form.researchFindingsList"> <p v-for="file in form.researchFindingsList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -99,10 +102,10 @@
<label style=" margin-right: 164px;line-height: 44px">其他</label> <label style=" margin-right: 164px;line-height: 44px">其他</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.researchGroupOtherList && form.researchGroupOtherList.length > 0"> <template v-if="form.researchGroupOtherList && form.researchGroupOtherList.length > 0">
<p class="file-item" v-for="file in form.researchGroupOtherList"> <p v-for="file in form.researchGroupOtherList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -112,10 +115,10 @@
<label style=" margin-right: 132px;line-height: 44px">会议资料</label> <label style=" margin-right: 132px;line-height: 44px">会议资料</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.conferenceMaterialsList && form.conferenceMaterialsList.length > 0"> <template v-if="form.conferenceMaterialsList && form.conferenceMaterialsList.length > 0">
<p class="file-item" v-for="file in form.conferenceMaterialsList"> <p v-for="file in form.conferenceMaterialsList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -128,7 +131,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>课题组联系方式</span> <i class="icon-modular-title" /><span>课题组联系方式</span>
</div> </div>
</div> </div>
</template> </template>
@@ -145,7 +148,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>内部资料</span> <i class="icon-modular-title" /><span>内部资料</span>
</div> </div>
</div> </div>
</template> </template>
@@ -154,10 +157,10 @@
<label style=" margin-right: 132px;line-height: 44px">立项报告</label> <label style=" margin-right: 132px;line-height: 44px">立项报告</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.insideProjectProposalReportList && form.insideProjectProposalReportList.length > 0"> <template v-if="form.insideProjectProposalReportList && form.insideProjectProposalReportList.length > 0">
<p class="file-item" v-for="file in form.insideProjectProposalReportList"> <p v-for="file in form.insideProjectProposalReportList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -167,10 +170,10 @@
<label style=" margin-right: 132px;line-height: 44px">研究方案</label> <label style=" margin-right: 132px;line-height: 44px">研究方案</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.insideResearchPlanList && form.insideResearchPlanList.length > 0"> <template v-if="form.insideResearchPlanList && form.insideResearchPlanList.length > 0">
<p class="file-item" v-for="file in form.insideResearchPlanList"> <p v-for="file in form.insideResearchPlanList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -180,10 +183,10 @@
<label style=" margin-right: 132px;line-height: 44px">会议资料</label> <label style=" margin-right: 132px;line-height: 44px">会议资料</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.insideConferenceMaterialsList && form.insideConferenceMaterialsList.length > 0"> <template v-if="form.insideConferenceMaterialsList && form.insideConferenceMaterialsList.length > 0">
<p class="file-item" v-for="file in form.insideConferenceMaterialsList"> <p v-for="file in form.insideConferenceMaterialsList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -193,10 +196,10 @@
<label style=" margin-right: 132px;line-height: 44px">研究成果</label> <label style=" margin-right: 132px;line-height: 44px">研究成果</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.insideResearchFindingsList && form.insideResearchFindingsList.length > 0"> <template v-if="form.insideResearchFindingsList && form.insideResearchFindingsList.length > 0">
<p class="file-item" v-for="file in form.insideResearchFindingsList"> <p v-for="file in form.insideResearchFindingsList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -206,10 +209,10 @@
<label style=" margin-right: 164px;line-height: 44px">其他</label> <label style=" margin-right: 164px;line-height: 44px">其他</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.insideOtherList && form.insideOtherList.length > 0"> <template v-if="form.insideOtherList && form.insideOtherList.length > 0">
<p class="file-item" v-for="file in form.insideOtherList"> <p v-for="file in form.insideOtherList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -222,7 +225,7 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>内部联系方式</span> <i class="icon-modular-title" /><span>内部联系方式</span>
</div> </div>
</div> </div>
</template> </template>
@@ -239,19 +242,20 @@
</div> </div>
<!-- 更新LOG --> <!-- 更新LOG -->
<el-dialog <el-dialog
title="更新记录" title="更新记录"
:visible.sync="relateDialog" :visible.sync="relateDialog"
width="60%" width="60%"
class="relateClass" class="relateClass"
:before-close="relateDialogClose"> :before-close="relateDialogClose"
>
<div <div
v-for="(item, index) in relateNowList" v-for="(item, index) in relateNowList"
:key="index" v-if="relateNowList"
v-if="relateNowList" :key="index"
style="margin-bottom: 10px;line-height: 20px" style="margin-bottom: 10px;line-height: 20px"
> >
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}} {{ index+1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
<div v-if="relateNowList.length >1"><el-divider></el-divider></div> <div v-if="relateNowList.length >1"><el-divider /></div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="relateDialogClose()"> </el-button> <el-button type="primary" @click="relateDialogClose()"> </el-button>
@@ -262,10 +266,8 @@
</template> </template>
<script> <script>
import { getBusStandFileByAttId } from 'api/process'
export default { export default {
name: "policyTopicsDetail", name: 'PolicyTopicsDetail',
data () { data () {
return { return {
url: { url: {
@@ -273,14 +275,14 @@ export default {
getLogList: 'lawss/sarUpdLog/getLogList', // getLogList: 'lawss/sarUpdLog/getLogList', //
}, },
form: {}, form: {},
activeNames: ['1', '2', '3'], activeNames: [ '1', '2', '3' ],
// //
relateDialog: false, relateDialog: false,
relateNowList: [], relateNowList: [],
loading: false loading: false
} }
}, },
created() { created () {
this.getData() this.getData()
}, },
methods: { methods: {
@@ -298,7 +300,7 @@ export default {
res.data.insideContactInformationList.forEach((item, index) => { res.data.insideContactInformationList.forEach((item, index) => {
activeNames.push('insideContactInformationList' + index) activeNames.push('insideContactInformationList' + index)
}) })
this.activeNames = [...this.activeNames, ...activeNames] this.activeNames = [ ...this.activeNames, ...activeNames ]
this.$set(this, 'form', res.data) this.$set(this, 'form', res.data)
} }
}) })
@@ -314,9 +316,9 @@ export default {
if (res.ok && res.data.length > 0) { if (res.ok && res.data.length > 0) {
this.relateDialog = true this.relateDialog = true
const relateList = res.data const relateList = res.data
var i let i
for (i = 0; i < relateList.length; i++) { for (i = 0; i < relateList.length; i++) {
let obj = {creationUserName: '', creationTime: '', content: ''} const obj = { creationUserName: '', creationTime: '', content: '' }
obj.creationUserName = relateList[i].creationUserName obj.creationUserName = relateList[i].creationUserName
obj.creationTime = relateList[i].creationTime obj.creationTime = relateList[i].creationTime
obj.content = relateList[i].content obj.content = relateList[i].content
@@ -349,21 +351,6 @@ export default {
} }
} }
}, },
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
openFileInPdf (attId, fileName) { openFileInPdf (attId, fileName) {
this.$preview(attId) this.$preview(attId)
}, },
@@ -8,27 +8,32 @@
<template slot="title"> <template slot="title">
<div class="modular-header"> <div class="modular-header">
<div class="modular-header-title"> <div class="modular-header-title">
<i class="icon-modular-title"/><span>基础信息</span> <i class="icon-modular-title" /><span>基础信息</span>
</div> </div>
<div class="modular-header-btn"> <div class="modular-header-btn">
<el-button v-if="form.collectId" <el-button
@click.stop="collectClick(form.collectId)" v-if="form.collectId"
title="取消收藏" title="取消收藏"
class="collection-btn" class="collection-btn"
icon="el-icon-star-on" icon="el-icon-star-on"
:loading="isSubmit" :loading="isSubmit"
></el-button> @click.stop="collectClick(form.collectId)"
<el-button v-else />
@click.stop="collectClick()" <el-button
title="收藏" v-else
class="collection-btn" title="收藏"
icon="el-icon-star-off" class="collection-btn"
:loading="isSubmit" icon="el-icon-star-off"
></el-button> :loading="isSubmit"
<el-button class="relation-btn" @click.stop="collectClick()"
icon="icon-relation" />
@click.stop="relateEvent()" <el-button
>更新记录</el-button> class="relation-btn"
icon="icon-relation"
@click.stop="relateEvent()"
>
更新记录
</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -46,10 +51,10 @@
<label style=" margin-right: 156px;line-height: 44px">资料文件</label> <label style=" margin-right: 156px;line-height: 44px">资料文件</label>
<div style="min-height: 44px;padding: 8px 0;"> <div style="min-height: 44px;padding: 8px 0;">
<template v-if="form.informationFileList && form.informationFileList.length > 0"> <template v-if="form.informationFileList && form.informationFileList.length > 0">
<p class="file-item" v-for="file in form.informationFileList"> <p v-for="file in form.informationFileList" class="file-item">
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a> <a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
<i v-if="form.downloadable" title="下载" class="icon-download" @click="downloadFile(file.id)"></i> <i v-if="form.downloadable" title="下载" class="icon-download" @click="downloadFile(file.id)" />
<i v-if="form.downloadable" title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i> <i v-if="form.downloadable" title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
</p> </p>
</template> </template>
<p v-else>-</p> <p v-else>-</p>
@@ -64,19 +69,20 @@
</div> </div>
<!-- 更新LOG --> <!-- 更新LOG -->
<el-dialog <el-dialog
title="更新记录" title="更新记录"
:visible.sync="relateDialog" :visible.sync="relateDialog"
width="60%" width="60%"
class="relateClass" class="relateClass"
:before-close="relateDialogClose"> :before-close="relateDialogClose"
>
<div <div
v-for="(item, index) in relateNowList" v-for="(item, index) in relateNowList"
:key="index" v-if="relateNowList"
v-if="relateNowList" :key="index"
style="margin-bottom: 10px;line-height: 20px" style="margin-bottom: 10px;line-height: 20px"
> >
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}} {{ index+1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
<div v-if="relateNowList.length >1"><el-divider></el-divider></div> <div v-if="relateNowList.length >1"><el-divider /></div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="relateDialogClose()"> </el-button> <el-button type="primary" @click="relateDialogClose()"> </el-button>
@@ -87,10 +93,8 @@
</template> </template>
<script> <script>
import { getBusStandFileByAttId } from 'api/process'
export default { export default {
name: "regulatoryMaterialsDetail", name: 'RegulatoryMaterialsDetail',
data () { data () {
return { return {
url: { url: {
@@ -100,7 +104,7 @@ export default {
updateByUserId: 'person/personCollect/updateByUserId', // updateByUserId: 'person/personCollect/updateByUserId', //
}, },
form: {}, form: {},
activeNames: ['1'], activeNames: [ '1' ],
isSubmit: false, isSubmit: false,
// //
@@ -109,7 +113,7 @@ export default {
loading: false, loading: false,
} }
}, },
created() { created () {
this.getData() this.getData()
}, },
methods: { methods: {
@@ -117,7 +121,7 @@ export default {
return (userStr && userStr !== '') ? userStr.split(',').map(item => item.split('(')[1].split(')')[0]) : [] return (userStr && userStr !== '') ? userStr.split(',').map(item => item.split('(')[1].split(')')[0]) : []
}, },
// //
hasDownLoadPermission() { hasDownLoadPermission () {
const userId = this.$store.getters.userInfo.userId const userId = this.$store.getters.userInfo.userId
// //
if (!this.form.downloadableBy || this.form.downloadableBy === '') { if (!this.form.downloadableBy || this.form.downloadableBy === '') {
@@ -141,7 +145,7 @@ export default {
} }
}) })
}, },
removeCommasAtStartAndEnd(inputString) { removeCommasAtStartAndEnd (inputString) {
// //
if (inputString.charAt(0) === ',') { if (inputString.charAt(0) === ',') {
inputString = inputString.slice(1); // inputString = inputString.slice(1); //
@@ -163,7 +167,7 @@ export default {
// //
this.$http._put(this.url.updateByUserId, { this.$http._put(this.url.updateByUserId, {
id: collectId id: collectId
},{ }, {
_this: this, _this: this,
loading: 'isSubmit' loading: 'isSubmit'
}).then(res => { }).then(res => {
@@ -171,7 +175,7 @@ export default {
}) })
} else { } else {
// //
let personCollect = { const personCollect = {
userId: this.$store.getters.userInfo.userId, userId: this.$store.getters.userInfo.userId,
collectResId: this.form.id, collectResId: this.form.id,
collectTitle: this.form.name, collectTitle: this.form.name,
@@ -198,9 +202,9 @@ export default {
if (res.ok && res.data.length > 0) { if (res.ok && res.data.length > 0) {
this.relateDialog = true this.relateDialog = true
const relateList = res.data const relateList = res.data
var i let i
for (i = 0; i < relateList.length; i++) { for (i = 0; i < relateList.length; i++) {
let obj = {creationUserName: '', creationTime: '', content: ''} const obj = { creationUserName: '', creationTime: '', content: '' }
obj.creationUserName = relateList[i].creationUserName obj.creationUserName = relateList[i].creationUserName
obj.creationTime = relateList[i].creationTime obj.creationTime = relateList[i].creationTime
obj.content = relateList[i].content obj.content = relateList[i].content
@@ -233,21 +237,6 @@ export default {
} }
} }
}, },
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
openFileInPdf (attId, fileName) { openFileInPdf (attId, fileName) {
this.$preview(attId) this.$preview(attId)
}, },
+121 -101
View File
@@ -1,61 +1,72 @@
<!-- 标准发布 --> <!-- 标准发布 -->
<template> <template>
<div class="release"> <div class="release">
<!-- <ul>--> <el-table
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >--> ref="selection"
<!-- <div style="height: 18px;">--> :data="standardReleaseList"
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>--> tooltip-effect="dark"
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>--> border
<!-- </div>--> style="cursor:pointer;"
<!-- </li>--> :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
<!-- </ul>--> >
<el-table <el-table-column
ref="selection" label="序号"
:data="standardReleaseList" type="index"
tooltip-effect="dark" align="center"
border width="55"
style="cursor:pointer;" >
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> <template slot-scope="{scope, column, $index}">
<el-table-column {{ ($index + 1) + (page - 1) * pageSize }}
label="序号" </template>
type="index" </el-table-column>
align="center" <el-table-column
width="55"> width="200"
<template slot-scope="{scope, column, $index}"> label="标准编号"
{{ ($index + 1) + (page - 1) * pageSize }} >
</template> <template slot-scope="scope">
</el-table-column> <span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
<el-table-column </template>
width="200" </el-table-column>
label="标准编号"> <el-table-column
<template slot-scope="scope"> prop="standName"
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span> label="标准名称"
</template> >
</el-table-column> <template slot-scope="scope">
<el-table-column <span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
prop="standName" <span>{{ scope.row.standardName }}</span>
label="标准名称"> <img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
<template slot-scope="scope"> </span>
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span> </template>
</template> </el-table-column>
</el-table-column> <el-table-column
<el-table-column width="120"
width="120" label="发布时间"
label="发布时间"> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> <el-table-column
<div class="more" v-if="!pageVerify" @click="togo">更多 </div> width="120"
<loading :loading="loading">加载中...</loading> v-if="messageType == 'GNBZFG'"
<pagination prop="putTime"
v-if="pageVerify" label="实施时间"
style="position: static;" >
:page="page" <template slot-scope="scope">
:total="total" <span>{{ scope.row.putTime }}</span>
@pageChange="pageChange" </template>
@pageSizeChange="pageSizeChange"></pagination> </el-table-column>
</el-table>
<div v-if="!pageVerify" class="more" @click="togo">更多 </div>
<loading :loading="loading">加载中...</loading>
<pagination
v-if="pageVerify"
style="position: static;"
:page="page"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div> </div>
</template> </template>
@@ -64,48 +75,52 @@ export default {
name: 'Release', name: 'Release',
components: {}, components: {},
mixins: [], mixins: [],
data() {
return {
loading: false,
pageVerify: false,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
putTime: '',
standardReleaseList: [], //
}
},
props: { props: {
messageType: { messageType: {
type: String, type: String,
required: true required: true
} }
}, },
data () {
return {
loading: false,
pageVerify: false,
page: 1,
pageSize: 10,
total: 0,
putTime: '',
standardReleaseList: [], //
}
},
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate() this.getDate()
this.getAdvice() this.getAdvice()
// this.addDate()
}, },
methods: { methods: {
pageChange(page) { pageChange (page) {
this.page = page this.page = page
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
}, },
// //
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
// //
}, },
togo () { togo () {
this.$router.push({path:'/release2'}) this.$router.push({
}, path: '/release2',
query: {
messageType: this.messageType
}
})
},
// //
handlePreview (item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.standardId, id: item.standardId,
@@ -114,32 +129,37 @@ export default {
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
// //
getDate (date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : '' return date != null ? date.substring(0, date.indexOf(' ')) : ''
}, },
// //
getAdvice() { getAdvice () {
this.loading = true this.loading = true
this.$http.get("/lawss/NewsFeed/getNewsFeed", { this.$http.get('/lawss/NewsFeed/getNewsFeed', {
// messageType: 'GNWBZFG', messageType: this.messageType,
messageType: this.messageType, page: this.page,
page: this.page, pageSize: this.pageSize
pageSize: this.pageSize }, {
}, { _this: this, loading: 'loading'
_this: this,loading: 'loading' }, res => {
}, res => { this.standardReleaseList = res.data.records
this.standardReleaseList = res.data.records this.total = res.data.total
this.total = res.data.total this.loading = false
this.loading = false if (res.data && res.data.records && res.data.records.length > 0) {
const isNew = res.data.records[0].threeDaysNew || false
this.$emit('isNew', isNew)
}
}, e => { }, e => {
this.loading = false this.loading = false
this.standardReleaseList = [] this.standardReleaseList = []
this.total = 0 this.total = 0
}) })
}, },
checkTime (time) {
return this.$moment(time.slice(0, 10)).diff(this.$moment(), 'day') > -3
},
}, },
} }
</script> </script>
+109 -109
View File
@@ -1,62 +1,63 @@
<!-- 标准发布 --> <!-- 标准发布 -->
<template> <template>
<div class="release"> <div class="release">
<!-- <ul>--> <el-table
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >--> ref="selection"
<!-- <div style="height: 18px;">--> :data="standardReleaseList"
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>--> tooltip-effect="dark"
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>--> border
<!-- </div>--> height="90%"
<!-- </li>--> style="width: 100%; flex: auto;"
<!-- </ul>--> class="drag-table"
<el-table :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
ref="selection" fontWeight: 'bold', height: '48px'}"
:data="standardReleaseList" >
tooltip-effect="dark" <el-table-column
border label="序号"
height="90%" type="index"
style="width: 100%; flex: auto;" align="center"
class="drag-table" width="55"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', >
fontWeight: 'bold', height: '48px'}"> <template slot-scope="{scope, column, $index}">
<el-table-column {{ ($index + 1) + (page - 1) * pageSize }}
label="序号" </template>
type="index" </el-table-column>
align="center" <el-table-column
width="55"> width="200"
<template slot-scope="{scope, column, $index}"> label="标准编号"
{{ ($index + 1) + (page - 1) * pageSize }} >
</template> <template slot-scope="scope">
</el-table-column> <span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
<el-table-column </template>
width="200" </el-table-column>
label="标准编号"> <el-table-column
<template slot-scope="scope"> prop="standName"
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span> label="标准名称"
</template> >
</el-table-column> <template slot-scope="scope">
<el-table-column <span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
prop="standName" {{ scope.row.standardName }}
label="标准名称"> <img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
<template slot-scope="scope"> </span>
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span> </template>
</template> </el-table-column>
</el-table-column> <el-table-column
<el-table-column width="120"
width="120" label="发布时间"
label="发布时间"> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
<pagination <pagination
style="position: static;" style="position: static;"
:page="page" :page="page"
:total="total" :total="total"
@pageChange="pageChange" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination> @pageSizeChange="pageSizeChange"
/>
</div> </div>
</template> </template>
@@ -65,48 +66,47 @@ export default {
name: 'Release', name: 'Release',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
loading: false, loading: false,
pageVerify: false, pageVerify: false,
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
putTime: '', putTime: '',
standardReleaseList: [], // standardReleaseList: [], //
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate() this.getDate()
this.getAdvice() this.getAdvice()
// this.addDate()
}, },
methods: { methods: {
pageChange(page) { pageChange (page) {
this.page = page this.page = page
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
}, },
// //
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
// //
}, },
togo () { togo () {
if(this.total && this.total > 10){ if(this.total && this.total > 10) {
this.pageVerify = true this.pageVerify = true
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
}else { }else {
this.pageVerify = false this.pageVerify = false
} }
this.getAdvice() this.getAdvice()
}, },
// //
handlePreview (item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.standardId, id: item.standardId,
@@ -115,27 +115,27 @@ export default {
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
// //
getDate (date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : '' return date != null ? date.substring(0, date.indexOf(' ')) : ''
}, },
// //
getAdvice() { getAdvice () {
this.loading = true this.loading = true
this.$http.get("/lawss/NewsFeed/getNewsFeed", { this.$http.get('/lawss/NewsFeed/getNewsFeed', {
messageType: 'GNWBZFG', messageType: this.$route.query.messageType,
page: this.page, page: this.page,
pageSize: this.pageSize pageSize: this.pageSize
}, { }, {
_this: this,loading: 'loading' _this: this, loading: 'loading'
}, res => { }, res => {
this.standardReleaseList = res.data.records this.standardReleaseList = res.data.records
this.total = res.data.total this.total = res.data.total
this.loading = false this.loading = false
}, e => { }, e => {
this.loading = false this.loading = false
this.standardReleaseList = [] this.standardReleaseList = []
this.total = 0 this.total = 0
}) })
}, },
}, },
@@ -152,12 +152,12 @@ export default {
font-size: 13px; font-size: 13px;
} }
/deep/.more { /deep/.more {
position: absolute; //position: absolute;
right: 0; //right: 0;
bottom: 2px; //bottom: 2px;
font-size: 15px; //font-size: 15px;
float: right; //float: right;
color: #4788c0; //color: #4788c0;
&:hover { &:hover {
color: #3a8ee6; color: #3a8ee6;
cursor: pointer; cursor: pointer;
+124 -107
View File
@@ -1,64 +1,78 @@
<!-- 企标发布 --> <!-- 企标发布 -->
<template> <template>
<div class="release"> <div class="release">
<!-- <ul>--> <el-table
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >--> ref="selection"
<!-- <div style="height: 18px;">--> :data="standardReleaseList"
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>--> tooltip-effect="dark"
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>--> border
<!-- </div>--> style="cursor:pointer;"
<!-- </li>--> :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
<!-- </ul>--> >
<el-table <el-table-column
ref="selection" label="序号"
:data="standardReleaseList" type="index"
tooltip-effect="dark" align="center"
border width="55"
style="cursor:pointer;" >
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> <template slot-scope="{scope, column, $index}">
<el-table-column {{ ($index + 1) + (page - 1) * pageSize }}
label="序号" </template>
type="index" </el-table-column>
align="center" <el-table-column
width="55"> width="200"
<template slot-scope="{scope, column, $index}"> label="标准编号"
{{ ($index + 1) + (page - 1) * pageSize }} >
</template> <template slot-scope="scope">
</el-table-column> <span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
<el-table-column </template>
width="200" </el-table-column>
label="标准编号"> <el-table-column
<template slot-scope="scope"> prop="standName"
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span> label="标准名称"
</template> >
</el-table-column> <template slot-scope="scope">
<el-table-column <span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
prop="standName" <span>{{ scope.row.standardName }}</span>
label="标准名称"> <img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
<template slot-scope="scope"> </span>
<span @click="handlePreview(scope.row)" style="display: flex;align-items: center"> </template>
<span>{{ scope.row.standardName }}</span> </el-table-column>
<img v-if="checkTime(scope.row.releaseDate)" src="/static/images/new.png" style="width: 30px;margin-left: 5px"> <el-table-column
</span> width="150"
</template> label="代替标准号"
</el-table-column> >
<el-table-column <template slot-scope="scope">
width="120" <span>{{ scope.row.dtbzh }}</span>
label="发布时间"> </template>
<template slot-scope="scope"> </el-table-column>
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span> <el-table-column
</template> width="120"
</el-table-column> label="发布时间"
</el-table> >
<div class="more" v-if="!pageVerify" @click="togo">更多 </div> <template slot-scope="scope">
<loading :loading="loading">加载中...</loading> <span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
<pagination </template>
v-if="pageVerify" </el-table-column>
style="position: static;" <el-table-column
:page="page" width="120"
:total="total" label="实施时间"
@pageChange="pageChange" >
@pageSizeChange="pageSizeChange"></pagination> <template slot-scope="scope">
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table>
<div v-if="!pageVerify" class="more" @click="togo">更多 </div>
<loading :loading="loading">加载中...</loading>
<pagination
v-if="pageVerify"
style="position: static;"
:page="page"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div> </div>
</template> </template>
@@ -68,78 +82,81 @@ export default {
name: 'ReleaseBuss', name: 'ReleaseBuss',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
loading: false, loading: false,
pageVerify: false, pageVerify: false,
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 10,
total: 0, total: 0,
putTime: '', putTime: '',
standardReleaseList: [], // standardReleaseList: [], //
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate() this.getDate()
this.getAdvice() this.getAdvice()
// this.addDate() // this.addDate()
}, },
methods: { methods: {
checkTime (time) { checkTime (time) {
return moment(time.slice(0,10)).diff(moment(), 'day') > -3 return moment(time.slice(0, 10)).diff(moment(), 'day') > -3
}, },
pageChange(page) { pageChange (page) {
this.page = page this.page = page
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
}, },
// //
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
// //
}, },
togo () { togo () {
this.$router.push({path:'/releaseBuss2'}) this.$router.push({ path: '/releaseBuss2' })
}, },
// //
handlePreview (item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherBussStandardDetails', name: 'OtherBussStandardDetails',
params: { params: {
id: item.standardId, id: item.standardId,
pageType: 'BUSINESS_STAND' pageType: 'BUSINESS_STAND'
} }
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
// //
getDate (date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : '' return date != null ? date.substring(0, date.indexOf(' ')) : ''
}, },
// //
getAdvice() { getAdvice () {
this.loading = true this.loading = true
this.$http.get("/lawss/NewsFeed/getNewsFeed", { this.$http.get('/lawss/NewsFeed/getNewsFeed', {
messageType: 'QYBZFB', messageType: 'QYBZFB',
page: this.page, page: this.page,
pageSize: this.pageSize pageSize: this.pageSize
}, { }, {
_this: this,loading: 'loading' _this: this, loading: 'loading'
}, res => { }, res => {
this.standardReleaseList = res.data.records this.standardReleaseList = res.data.records
this.total = res.data.total this.total = res.data.total
this.loading = false this.loading = false
}, e => { if (res.data && res.data.records && res.data.records.length > 0) {
this.loading = false const isNew = res.data.records[0].threeDaysNew || false
this.standardReleaseList = [] this.$emit('isNew', isNew)
this.total = 0 }
}) }, e => {
this.loading = false
this.standardReleaseList = []
this.total = 0
})
}, },
}, },
} }
</script> </script>
+110 -113
View File
@@ -1,65 +1,63 @@
<!-- 企标发布 --> <!-- 企标发布 -->
<template> <template>
<div class="release"> <div class="release">
<!-- <ul>--> <el-table
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >--> ref="selection"
<!-- <div style="height: 18px;">--> :data="standardReleaseList"
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>--> tooltip-effect="dark"
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>--> border
<!-- </div>--> height="90%"
<!-- </li>--> style="width: 100%; flex: auto;"
<!-- </ul>--> class="drag-table"
<el-table :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
ref="selection" fontWeight: 'bold', height: '48px'}"
:data="standardReleaseList" >
tooltip-effect="dark" <el-table-column
border label="序号"
height="90%" type="index"
style="width: 100%; flex: auto;" align="center"
class="drag-table" width="55"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', >
fontWeight: 'bold', height: '48px'}"> <template slot-scope="{scope, column, $index}">
<el-table-column {{ ($index + 1) + (page - 1) * pageSize }}
label="序号" </template>
type="index" </el-table-column>
align="center" <el-table-column
width="55"> width="200"
<template slot-scope="{scope, column, $index}"> label="标准编号"
{{ ($index + 1) + (page - 1) * pageSize }} >
</template> <template slot-scope="scope">
</el-table-column> <span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
<el-table-column </template>
width="200" </el-table-column>
label="标准编号"> <el-table-column
<template slot-scope="scope"> prop="standName"
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span> label="标准名称"
</template> >
</el-table-column> <template slot-scope="scope">
<el-table-column <span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
prop="standName" {{ scope.row.standardName }}
label="标准名称"> <img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
<template slot-scope="scope"> </span>
<span @click="handlePreview(scope.row)" style="display: flex;align-items: center"> </template>
{{ scope.row.standardName }} </el-table-column>
<img v-if="checkTime(scope.row.releaseDate)" src="/static/images/new.png" style="width: 30px;margin-left: 5px"> <el-table-column
</span> width="120"
</template> label="发布时间"
</el-table-column> >
<el-table-column <template slot-scope="scope">
width="120" <span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
label="发布时间"> </template>
<template slot-scope="scope"> </el-table-column>
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span> </el-table>
</template> <loading :loading="loading">加载中...</loading>
</el-table-column> <pagination
</el-table> style="position: static;"
<loading :loading="loading">加载中...</loading> :page="page"
<pagination :total="total"
style="position: static;" @pageChange="pageChange"
:page="page" @pageSizeChange="pageSizeChange"
:total="total" />
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
</div> </div>
</template> </template>
@@ -69,7 +67,7 @@ export default {
name: 'ReleaseBuss2', name: 'ReleaseBuss2',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
loading: false, loading: false,
pageVerify: false, pageVerify: false,
@@ -77,73 +75,72 @@ export default {
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
putTime: '', putTime: '',
standardReleaseList: [], // standardReleaseList: [], //
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate() this.getDate()
this.getAdvice() this.getAdvice()
// this.addDate()
}, },
methods: { methods: {
checkTime (time) { checkTime (time) {
return moment(time.slice(0,10)).diff(moment(), 'day') > -3 return moment(time.slice(0, 10)).diff(moment(), 'day') > -3
}, },
pageChange(page) { pageChange (page) {
this.page = page this.page = page
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
}, },
// //
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
// //
}, },
togo () { togo () {
if(this.total && this.total > 10){ if(this.total && this.total > 10) {
this.pageVerify = true this.pageVerify = true
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
}else { }else {
this.pageVerify = false this.pageVerify = false
} }
this.getAdvice() this.getAdvice()
}, },
// //
handlePreview (item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherBussStandardDetails', name: 'OtherBussStandardDetails',
params: { params: {
id: item.standardId, id: item.standardId,
pageType: 'BUSINESS_STAND' pageType: 'BUSINESS_STAND'
} }
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
// //
getDate (date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : '' return date != null ? date.substring(0, date.indexOf(' ')) : ''
}, },
// //
getAdvice() { getAdvice () {
this.loading = true this.loading = true
this.$http.get("/lawss/NewsFeed/getNewsFeed", { this.$http.get('/lawss/NewsFeed/getNewsFeed', {
messageType: 'QYBZFB', messageType: 'QYBZFB',
page: this.page, page: this.page,
pageSize: this.pageSize pageSize: this.pageSize
}, { }, {
_this: this,loading: 'loading' _this: this, loading: 'loading'
}, res => { }, res => {
this.standardReleaseList = res.data.records this.standardReleaseList = res.data.records
this.total = res.data.total this.total = res.data.total
this.loading = false this.loading = false
}, e => { }, e => {
this.loading = false this.loading = false
this.standardReleaseList = [] this.standardReleaseList = []
this.total = 0 this.total = 0
}) })
}, },
}, },
+58 -47
View File
@@ -1,51 +1,57 @@
<!-- 标准问答 --> <!-- 标准问答 -->
<template> <template>
<div class="release"> <div class="release">
<el-table ref="table" <el-table
:data="data" ref="table"
tooltip-effect = "dark" :data="data"
border tooltip-effect="dark"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
align="center" align="center"
width="55"> width="55"
</el-table-column> />
<el-table-column <el-table-column
prop="classification" prop="classification"
label="类型" label="类型"
width="150" width="150"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="standardEncdoing" prop="standardEncdoing"
label="标准编号" label="标准编号"
width="150" width="150"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="problemDescription" prop="problemDescription"
label="问题描述" label="问题描述"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a class="table-jump" @click="handleClick(scope.row.id)">{{ scope.row.problemDescription }}</a> <span style="display: flex;align-items: center;justify-content: center">
<a class="table-jump" @click="handleClick(scope.row.id)">{{ scope.row.problemDescription }}</a>
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="questioner" prop="questioner"
label="提问人" label="提问人"
width="150" width="150"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="questionTime" prop="questionTime"
label="提问时间" label="提问时间"
width="150" width="150"
align="center"> align="center"
</el-table-column> />
</el-table> </el-table>
<div class="more" v-if="!pageVerify" @click="togo">更多 </div> <div v-if="!pageVerify" class="more" @click="togo">更多 </div>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
</div> </div>
</template> </template>
@@ -55,7 +61,7 @@ export default {
name: 'ReleaseQA', name: 'ReleaseQA',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
loading: false, loading: false,
pageVerify: false, pageVerify: false,
@@ -63,36 +69,36 @@ export default {
total: 0, total: 0,
currentPage: 1, currentPage: 1,
data: [], data: [],
form:{ form: {
classification:"", // classification: '', //
problemDescription: "", // problemDescription: '', //
}, },
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate() this.getDate()
}, },
methods: { methods: {
togo () { togo () {
this.$router.push({path:'/releaseQA2'}) this.$router.push({ path: '/releaseQA2' })
}, },
handleClick (id) { handleClick (id) {
this.$router.push({ this.$router.push({
path:'/standQA', path: '/standQA',
query: { id } query: { id }
}) })
}, },
getDate(){ getDate () {
this.loading = true this.loading = true
let form = this.form const form = this.form
form.userId = this.$store.getters.userInfo.account form.userId = this.$store.getters.userInfo.account
form.pageSize = this.pageSize form.pageSize = this.pageSize
form.page = this.currentPage form.page = this.currentPage
return new Promise((resolve,reject)=>{ return new Promise((resolve, reject) => {
this.$http.get('lawss/AskQuestions/getAskQuestionsPage', form, {_this: this }, res => { this.$http.get('lawss/AskQuestions/getAskQuestionsPage', form, { _this: this }, res => {
if(res.data){ if(res.data) {
const data = res.data const data = res.data
this.data = data.records this.data = data.records
this.total = data.total this.total = data.total
@@ -101,6 +107,11 @@ export default {
} }
this.loading = false this.loading = false
resolve(res) resolve(res)
if (res.data && res.data.records && res.data.records.length > 0) {
const isNew = res.data.records[0].threeDaysNew || false
this.$emit('isNew', isNew)
}
}, e => { }, e => {
this.loading = false this.loading = false
reject(e) reject(e)
+114 -108
View File
@@ -1,62 +1,68 @@
<!-- 标准发布 --> <!-- 标准发布 -->
<template> <template>
<div class="release"> <div class="release">
<!-- <ul>--> <!-- <ul>-->
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >--> <!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
<!-- <div style="height: 18px;">--> <!-- <div style="height: 18px;">-->
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>--> <!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>--> <!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
<!-- </div>--> <!-- </div>-->
<!-- </li>--> <!-- </li>-->
<!-- </ul>--> <!-- </ul>-->
<el-table <el-table
ref="selection" ref="selection"
:data="standardReleaseList" :data="standardReleaseList"
tooltip-effect="dark" tooltip-effect="dark"
border border
style="cursor:pointer;" style="cursor:pointer;"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
<el-table-column >
label="序号" <el-table-column
type="index" label="序号"
align="center" type="index"
width="55"> align="center"
<template slot-scope="{scope, column, $index}"> width="55"
{{ ($index + 1) + (page - 1) * pageSize }} >
</template> <template slot-scope="{scope, column, $index}">
</el-table-column> {{ ($index + 1) + (page - 1) * pageSize }}
<el-table-column </template>
width="200" </el-table-column>
prop="standard" <el-table-column
label="标准编号"> width="200"
<template slot-scope="scope"> prop="standard"
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span> label="标准编号"
</template> >
</el-table-column> <template slot-scope="scope">
<el-table-column <span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
prop="standardName" </template>
label="标准名称"> </el-table-column>
<template slot-scope="scope"> <el-table-column
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span> prop="standardName"
</template> label="标准名称"
</el-table-column> >
<el-table-column <template slot-scope="scope">
width="120" <span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
label="文本状态"> </template>
<template slot-scope="scope"> </el-table-column>
<span>{{ textStatusMap[scope.row.textState] }}</span> <el-table-column
</template> width="120"
</el-table-column> label="标准状态"
</el-table> >
<div class="more" v-if="!pageVerify" @click="togo">更多 </div> <template slot-scope="scope">
<loading :loading="loading">加载中...</loading> <span>{{ textStatusMap[scope.row.textState] }}</span>
<pagination </template>
v-if="pageVerify" </el-table-column>
style="position: static;" </el-table>
:page="page" <div v-if="!pageVerify" class="more" @click="togo">更多 </div>
:total="total" <loading :loading="loading">加载中...</loading>
@pageChange="pageChange" <pagination
@pageSizeChange="pageSizeChange"></pagination> v-if="pageVerify"
style="position: static;"
:page="page"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div> </div>
</template> </template>
@@ -65,7 +71,7 @@ export default {
name: 'ReleaseUs', name: 'ReleaseUs',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
loading: false, loading: false,
pageVerify: false, pageVerify: false,
@@ -73,49 +79,49 @@ export default {
pageSize: 10, pageSize: 10,
total: 0, total: 0,
putTime: '', putTime: '',
standardReleaseList: [], // standardReleaseList: [], //
textStatusMap: {} // idname textStatusMap: {} // idname
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.$http.get('sys/dictype/getDicTypeListCode', '', { this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this _this: this
}, res => { }, res => {
if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null){ if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null) {
this.setMap(res.data.WBZTCLASS) // this.setMap(res.data.WBZTCLASS) //
} }
}, e => { }, e => {
}) })
this.getDate() this.getDate()
this.getAdvice() this.getAdvice()
// this.addDate() // this.addDate()
}, },
methods: { methods: {
pageChange(page) { pageChange (page) {
this.page = page this.page = page
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
}, },
// //
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
// //
}, },
togo () { togo () {
this.$router.push({path:'/releaseUs2'}) this.$router.push({ path: '/releaseUs2' })
}, },
// idname // idname
setMap(data) { setMap (data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
}) })
}, },
// //
handlePreview (item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.standardId, id: item.standardId,
@@ -124,28 +130,28 @@ export default {
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
// //
getDate (date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : '' return date != null ? date.substring(0, date.indexOf(' ')) : ''
}, },
// //
getAdvice() { getAdvice () {
this.loading = true this.loading = true
this.$http.get("/lawss/NewsFeed/getNewsFeed", { this.$http.get('/lawss/NewsFeed/getNewsFeed', {
messageType: 'ZYBZFG', messageType: 'ZYBZFG',
page: this.page, page: this.page,
pageSize: this.pageSize pageSize: this.pageSize
}, { }, {
_this: this,loading: 'loading' _this: this, loading: 'loading'
}, res => { }, res => {
this.standardReleaseList = res.data.records this.standardReleaseList = res.data.records
this.total = res.data.total this.total = res.data.total
this.loading = false this.loading = false
}, e => { }, e => {
this.loading = false this.loading = false
this.standardReleaseList = [] this.standardReleaseList = []
this.total = 0 this.total = 0
}) })
}, },
}, },
@@ -45,7 +45,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="120" width="120"
label="文本状态"> label="标准状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textState] }}</span> <span>{{ textStatusMap[scope.row.textState] }}</span>
</template> </template>
@@ -75,7 +75,7 @@ export default {
total: 0, total: 0,
putTime: '', putTime: '',
standardReleaseList: [], // standardReleaseList: [], //
textStatusMap: {} // idname textStatusMap: {} // idname
} }
}, },
computed: {}, computed: {},
@@ -85,7 +85,7 @@ export default {
_this: this _this: this
}, res => { }, res => {
if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null){ if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null){
this.setMap(res.data.WBZTCLASS) // this.setMap(res.data.WBZTCLASS) //
} }
}, e => { }, e => {
}) })
@@ -114,7 +114,7 @@ export default {
} }
this.getAdvice() this.getAdvice()
}, },
// idname // idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
+114 -110
View File
@@ -1,66 +1,66 @@
<!-- 企标发布 --> <!-- 企标发布 -->
<template> <template>
<div class="release"> <div class="release">
<!-- <ul>--> <el-table
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >--> ref="selection"
<!-- <div style="height: 18px;">--> :data="standardReleaseList"
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>--> tooltip-effect="dark"
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>--> border
<!-- </div>--> style="cursor:pointer;"
<!-- </li>--> :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
<!-- </ul>--> >
<el-table <el-table-column
ref="selection" type="index"
:data="standardReleaseList" width="55"
tooltip-effect="dark" label="序号"
border align="center"
style="cursor:pointer;" >
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> <template slot-scope="{scope, column, $index}">
<el-table-column {{ ($index + 1) + (page - 1) * pageSize }}
type="index" </template>
width="55" </el-table-column>
label="序号" <el-table-column
align="center"> prop="dataType"
<template slot-scope="{scope, column, $index}"> width="250"
{{ ($index + 1) + (page - 1) * pageSize }} label="类型"
</template> :show-overflow-tooltip="true"
</el-table-column> align="center"
<el-table-column />
prop="dataType" <el-table-column
width="250" prop="dataTitle"
label="类型" min-width="250"
:show-overflow-tooltip="true" label="资料标题"
align="center"> :show-overflow-tooltip="true"
</el-table-column> align="center"
<el-table-column >
prop="dataTitle" <template slot-scope="scope">
min-width="250" <span style="display: flex;align-items: center;justify-content: center">
label="资料标题" <span style="cursor:pointer;color: #409eff" @click.stop="toDetail(scope.row)">{{ scope.row.dataTitle }}</span>
:show-overflow-tooltip="true" <img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
align="center"> </span>
<template slot-scope="scope"> </template>
<span @click.stop="toDetail(scope.row)" style="cursor:pointer;color: #409eff">{{ scope.row.dataTitle }}</span> </el-table-column>
</template> <el-table-column
</el-table-column> prop="dataUploadTime"
<el-table-column width="250"
prop="dataUploadTime" label="上传时间"
width="250" align="center"
label="上传时间" >
align="center"> <template slot-scope="scope">
<template slot-scope="scope"> <span>{{ $moment(scope.row.dataUploadTime).format("YYYY-MM-DD") }}</span>
<span>{{ $moment(scope.row.dataUploadTime).format("YYYY-MM-DD") }}</span> </template>
</template> </el-table-column>
</el-table-column> </el-table>
</el-table> <div v-if="!pageVerify" class="more" @click="togo">更多 </div>
<div class="more" v-if="!pageVerify" @click="togo">更多 </div> <loading :loading="loading">加载中...</loading>
<loading :loading="loading">加载中...</loading> <pagination
<pagination v-if="pageVerify"
v-if="pageVerify" style="position: static;"
style="position: static;" :page="page"
:page="page" :total="total"
:total="total" @pageChange="pageChange"
@pageChange="pageChange" @pageSizeChange="pageSizeChange"
@pageSizeChange="pageSizeChange"></pagination> />
</div> </div>
</template> </template>
@@ -69,7 +69,7 @@ export default {
name: 'ReleaseQA', name: 'ReleaseQA',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
loading: false, loading: false,
pageVerify: false, pageVerify: false,
@@ -77,76 +77,80 @@ export default {
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
putTime: '', putTime: '',
standardReleaseList: [], // standardReleaseList: [], //
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate() this.getDate()
this.getAdvice() this.getAdvice()
// this.addDate() // this.addDate()
}, },
methods: { methods: {
pageChange(page) { pageChange (page) {
this.page = page this.page = page
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
}, },
// //
pageSizeChange(pageSize) { pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent this.pageSize = this.$store.getters.userInfo.configContent
this.getAdvice() this.getAdvice()
// //
}, },
togo () { togo () {
this.$router.push({path:'/dataCenter'}) this.$router.push({ path: '/dataCenter' })
}, },
// //
handlePreview (item) { handlePreview (item) {
// let routeUrl = this.$router.resolve({ // let routeUrl = this.$router.resolve({
// name: 'OtherBussStandardDetails', // name: 'OtherBussStandardDetails',
// params: { // params: {
// id: item.standardId, // id: item.standardId,
// pageType: 'BUSINESS_STAND' // pageType: 'BUSINESS_STAND'
// } // }
// }) // })
// window.open(routeUrl.href, '_blank') // window.open(routeUrl.href, '_blank')
}, },
// //
getDate (date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : '' return date != null ? date.substring(0, date.indexOf(' ')) : ''
}, },
toDetail(row){ toDetail (row) {
this.$router.push({ this.$router.push({
name: "dataCenterDetail", name: 'dataCenterDetail',
query: { query: {
id: row.id id: row.id
} }
}); });
}, },
// //
getAdvice() { getAdvice () {
this.loading = true this.loading = true
// //
const timer = setInterval(() => { const timer = setInterval(() => {
this.loading = false this.loading = false
}, 2000) }, 2000)
console.log(timer) console.log(timer)
let userInfo = JSON.parse(localStorage.getItem('userInfo')); const userInfo = JSON.parse(localStorage.getItem('userInfo'));
this.$http.get("fileMaterialCenter/file-material/getFileMaterialIndex", { this.$http.get('fileMaterialCenter/file-material/getFileMaterialIndex', {
userId: userInfo.userId, userId: userInfo.userId,
}, { }, {
_this: this,loading: 'loading' _this: this, loading: 'loading'
}, res => { }, res => {
this.standardReleaseList = res.data this.standardReleaseList = res.data
this.total = res.data.total this.total = res.data.total
this.loading = false this.loading = false
}, e => { if (res.data && res.data.length > 0) {
this.loading = false const isNew = res.data[0].threeDaysNew || false
this.standardReleaseList = [] this.$emit('isNew', isNew)
this.total = 0 }
}) }, e => {
this.loading = false
this.standardReleaseList = []
this.total = 0
})
}, },
}, },
@@ -1,41 +1,36 @@
<!-- 标准征求意见 --> <!-- 标准征求意见 -->
<template> <template>
<div class="solicitopinions"> <div class="solicitopinions">
<!-- <ul>-->
<!-- <li v-for="item in domesticDynamics" :key="item.id" class="time-title">-->
<!-- <div style="height: 18px; border-bottom: dashed 1px #cccccc">-->
<!-- <a class="title" style="color: #333333;" :title="item.cname" @click="standForComments(item)">{{ item.cid }}</a>-->
<!-- <span class="time">{{ item.endTime }}</span>-->
<!-- </div>-->
<!-- </li>-->
<!-- </ul>-->
<el-table <el-table
ref="selection" ref="selection"
:data="domesticDynamics" :data="domesticDynamics"
tooltip-effect="dark" tooltip-effect="dark"
border border
style="cursor:pointer;" style="cursor:pointer;"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
style="width: 100%"> >
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
align="center" align="center"
width="55"> width="55"
</el-table-column> />
<el-table-column <el-table-column
prop="cid" prop="cid"
show-overflow-tooltip label="标准名称"
label="标准名称"> >
<template slot-scope="scope"> <template slot-scope="scope">
<span @click="standForComments(scope.row)">{{ scope.row.cid }}</span> <span style="display: flex;align-items: center" @click="standForComments(scope.row)">
<span>{{ scope.row.cid }}</span>
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
width="120" width="120"
label="结束时间"> label="结束时间"
</el-table-column> />
</el-table> </el-table>
<div class="more" @click="$router.push('standardForComments')">更多 </div> <div class="more" @click="$router.push('standardForComments')">更多 </div>
</div> </div>
@@ -43,45 +38,48 @@
<script> <script>
export default { export default {
name: "Solicitopinions", name: 'Solicitopinions',
components: {}, components: {},
mixins: [], mixins: [],
data() { data () {
return { return {
updateTime: "", updateTime: '',
putTime: "", putTime: '',
domesticDynamics: [] // domesticDynamics: [] //
}; };
}, },
computed: {}, computed: {},
watch: {}, watch: {},
mounted() { mounted () {
this.getDate(); this.getDate();
this.getAdvice(); this.getAdvice();
// this.addDate();
}, },
methods: { methods: {
// //
getDate(date) { getDate (date) {
return date != null ? date.substring(0, date.indexOf(" ")) : ""; return date != null ? date.substring(0, date.indexOf(' ')) : '';
}, },
// //
getAdvice() { getAdvice () {
this.$http.get("slrs/sar-public-idea/SelectAllPage", { this.$http.get('slrs/sar-public-idea/SelectAllPage', {
page: 1, page: 1,
size: 10 size: 10
}, { }, {
_this: this _this: this
}, res => { }, res => {
this.domesticDynamics = res.data.records this.domesticDynamics = res.data.records
if (res.data && res.data.records && res.data.records.length > 0) {
const isNew = res.data.records[0].threeDaysNew || false
this.$emit('isNew', isNew)
}
}, e => { }, e => {
}); });
}, },
standForComments(item) { standForComments (item) {
this.$store.commit("setDetailMap", this.$router.path); this.$store.commit('setDetailMap', this.$router.path);
this.$router.push({ this.$router.push({
name: "consultationDetails", name: 'consultationDetails',
query: { query: {
item: JSON.stringify(item) item: JSON.stringify(item)
} }
@@ -188,6 +188,16 @@ export default {
} }
break break
case 'buss1': case 'buss1':
let oldAndNewBuss = ''
const currentDateBuss = new Date('2024-04-01 00:00:00').getTime();
const dateBuss = new Date(row.creatTime);
const timestampBuss = dateBuss.getTime();
if (currentDateBuss > timestampBuss){
oldAndNewBuss = 'old'
}else{
oldAndNewBuss = 'new'
}
query.oldAndNew = oldAndNewBuss
if (row.taskInfo === '企标编写') { if (row.taskInfo === '企标编写') {
name = 'bussLibrary2' name = 'bussLibrary2'
}else if (row.taskInfo === '企标编写汇总'){ }else if (row.taskInfo === '企标编写汇总'){
@@ -219,8 +229,36 @@ export default {
}else if (row.taskInfo === '发布'){ }else if (row.taskInfo === '发布'){
name = 'bussLibrary13' name = 'bussLibrary13'
} }
break break
case 'buss2': case 'buss2':
name = 'bussLibraryProduct'
if (row.taskInfo === '企标编写') {
params.type = '2'
}else if (row.taskInfo === '企标编写汇总') {
params.type = '3'
}else if (row.taskInfo === '重新企标编写汇总') {
params.type = 'C3'
}else if (row.taskInfo === '标准化初审') {
params.type = '4'
}else if (row.taskInfo === '征求意见') {
params.type = '5'
}else if (row.taskInfo === '意见汇总修订') {
params.type = '6'
}else if (row.taskInfo === '重新意见汇总修订') {
params.type = 'C6'
}else if (row.taskInfo === '标准化复审') {
params.type = '7'
}else if (row.taskInfo === '审核') {
params.type = '8'
}else if (row.taskInfo === '审定') {
params.type = '10'
}else if (row.taskInfo === '批准') {
params.type = '12'
}else if (row.taskInfo === '发布') {
params.type = '13'
}
/*
if (row.taskInfo === '企标编写') { if (row.taskInfo === '企标编写') {
name = 'bussLibraryProduct2' name = 'bussLibraryProduct2'
}else if (row.taskInfo === '企标编写汇总'){ }else if (row.taskInfo === '企标编写汇总'){
@@ -248,6 +286,7 @@ export default {
}else if (row.taskInfo === '抄送'){ }else if (row.taskInfo === '抄送'){
name = 'bussLibraryProduct14' name = 'bussLibraryProduct14'
} }
*/
break; break;
case 'buss3': case 'buss3':
if (row.taskInfo === '选择复审人') { if (row.taskInfo === '选择复审人') {
@@ -289,6 +328,16 @@ export default {
} }
break; break;
case '3': case '3':
let oldAndNewBuss1 = ''
const currentDateBuss1 = new Date('2024-04-01 00:00:00').getTime();
const dateBuss1 = new Date(row.creatTime);
const timestampBuss1 = dateBuss1.getTime();
if (currentDateBuss1 > timestampBuss1){
oldAndNewBuss1 = 'old'
}else{
oldAndNewBuss1 = 'new'
}
query.oldAndNew = oldAndNewBuss1
if (row.taskInfo === '任务分发') { if (row.taskInfo === '任务分发') {
name = 'bzzqyjStep2' name = 'bzzqyjStep2'
} else if (row.taskInfo === '意见反馈'){ } else if (row.taskInfo === '意见反馈'){
+111 -72
View File
@@ -1,61 +1,91 @@
<template> <template>
<div class="home"> <div class="home">
<div class="home_main"> <div class="home_main">
<div class="left_wrapper"> <div class="left_wrapper">
<search-group></search-group> <search-group />
<div class="main-tabs" style="box-shadow:1px 1px 10px rgba(0,0,0,0.1);border-radius: 3px;" > <div class="main-tabs" style="box-shadow:1px 1px 10px rgba(0,0,0,0.1);border-radius: 3px;">
<div class="main-left-wrap" > <div class="main-left-wrap">
<!-- <el-button type="text" style="font-size: 14px" class="more" @click="MORE">MORE</el-button>--> <el-tabs
<el-tabs v-model="activeName"
v-model="activeName" class="home-tabs"
class="home-tabs" @tab-click="handleTabClick"
@tab-click="handleTabClick" >
> <el-tab-pane name="solicitOpinions">
<el-tab-pane name="solicitOpinions"> <span slot="label" style="position: relative">
<span slot="label"><i class="el-icon-s-order"></i> 标准征求意见</span> <i class="el-icon-s-order" />
<solicitOpinions></solicitOpinions> 标准征求意见
</el-tab-pane> <span v-if="opinionIsNew" class="more-doc" />
<el-tab-pane name="releaseZL" style="overflow-y: auto;height: 100%"> </span>
<span slot="label"><i class="el-icon-chat-line-round"></i> 标准化动态</span> <solicitOpinions @isNew="setIsNew($event, 'opinionIsNew')" />
<releaseZL></releaseZL> </el-tab-pane>
</el-tab-pane>
<el-tab-pane name="releaseUs" style="overflow-y: auto;height: 100%"> <el-tab-pane name="releaseZL" style="overflow-y: auto;height: 100%">
<span slot="label"><i class="el-icon-s-operation"></i> 在研标准法规动态</span> <span slot="label" style="position: relative">
<releaseUs></releaseUs> <i class="el-icon-chat-line-round" />
</el-tab-pane> 标准化动态
<el-tab-pane name="releaseCn" style="overflow-y: auto;height: 100%"> <span v-if="trendsIsNew" class="more-doc" />
<span slot="label"><i class="el-icon-s-promotion"></i> 国内标准法规动态</span> </span>
<release messageType="GNBZFG"></release> <releaseZL @isNew="setIsNew($event, 'trendsIsNew')" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="release" style="overflow-y: auto;height: 100%">
<span slot="label"><i class="el-icon-s-promotion"></i> 国外标准法规动态</span> <el-tab-pane name="releaseUs" style="overflow-y: auto;height: 100%">
<release messageType="GWBZFG"></release> <span slot="label" style="position: relative">
</el-tab-pane> <i class="el-icon-s-operation" />
<el-tab-pane name="releaseBuss" style="overflow-y: auto;height: 100%"> 在研标准法规动态
<span slot="label" style="position: relative"><i class="el-icon-s-promotion"></i> <span v-if="underResearchIsNew" class="more-doc" />
企业标准发布 </span>
<span v-if="isNew" class="more-doc"></span> <!-- <releaseUs />-->
<!--<img v-if="isNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">--> <release messageType="ZYBZFG" @isNew="setIsNew($event, 'underResearchIsNew')" />
</span> </el-tab-pane>
<releaseBuss></releaseBuss>
</el-tab-pane> <el-tab-pane name="releaseCn" style="overflow-y: auto;height: 100%">
<el-tab-pane name="releaseQA" style="overflow-y: auto;height: 100%"> <span slot="label" style="position: relative">
<span slot="label"><i class="el-icon-chat-line-round"></i> 标准问答</span> <i class="el-icon-s-promotion" />
<releaseQA></releaseQA> 国内标准法规动态
</el-tab-pane> <span v-if="domIsNew" class="more-doc" />
</el-tabs> </span>
</div> <release messageType="GNBZFG" @isNew="setIsNew($event, 'domIsNew')" />
</div> </el-tab-pane>
</div>
<div class="right_wrapper"> <el-tab-pane name="release" style="overflow-y: auto;height: 100%">
<nav-menu></nav-menu> <span slot="label" style="position: relative">
<todo-list></todo-list> <i class="el-icon-s-promotion" />
国外标准法规动态
<span v-if="abroadIsNew" class="more-doc" />
</span>
<release messageType="GWBZFG" @isNew="setIsNew($event, 'abroadIsNew')" />
</el-tab-pane>
<el-tab-pane name="releaseBuss" style="overflow-y: auto;height: 100%">
<span slot="label" style="position: relative">
<i class="el-icon-s-promotion" />
企业标准发布
<span v-if="isNew" class="more-doc" />
</span>
<releaseBuss @isNew="setIsNew($event, 'isNew')" />
</el-tab-pane>
<el-tab-pane name="releaseQA" style="overflow-y: auto;height: 100%">
<span slot="label" style="position: relative">
<i class="el-icon-chat-line-round" />
标准问答
<span v-if="questionIsNew" class="more-doc" />
</span>
<releaseQA @isNew="setIsNew($event, 'questionIsNew')" />
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
<div class="right_wrapper">
<nav-menu />
<todo-list />
</div>
</div>
<div calss="home_footer" style="padding: 0">
<Empennage />
</div> </div>
</div> </div>
<div calss="home_footer" style="padding: 0">
<Empennage></Empennage>
</div>
</div>
</template> </template>
<script> <script>
@@ -70,9 +100,9 @@ import releaseZL from './components/releaseZL'
import solicitOpinions from './components/solicitopinions' import solicitOpinions from './components/solicitopinions'
import navMenu from './components/navMenu' import navMenu from './components/navMenu'
import todoList from './components/todoList' import todoList from './components/todoList'
import Empennage from "./components/empennage" import Empennage from './components/empennage'
export default { export default {
name: "Home2", name: 'Home2',
components: { components: {
searchGroup, searchGroup,
solicitOpinions, solicitOpinions,
@@ -85,18 +115,27 @@ export default {
todoList, todoList,
Empennage, Empennage,
}, },
data() { data () {
return { return {
activeName: 'solicitOpinions', activeName: 'solicitOpinions',
isNew: false opinionIsNew: false,
trendsIsNew: false,
underResearchIsNew: false,
domIsNew: false,
abroadIsNew: false,
isNew: false,
questionIsNew: false,
} }
}, },
created() { created () {
this.getAdvice() // this.getAdvice()
}, },
methods: { methods: {
getAdvice() { setIsNew (isNew, key) {
this.$http.get("/lawss/NewsFeed/getNewsFeed", { this.$set(this, key, isNew)
},
getAdvice () {
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
messageType: 'QYBZFB', messageType: 'QYBZFB',
page: 1, page: 1,
pageSize: 1 pageSize: 1
@@ -104,7 +143,7 @@ export default {
_this: this _this: this
}, res => { }, res => {
if (res.data && res.data.records && res.data.records.length > 0) { if (res.data && res.data.records && res.data.records.length > 0) {
if (res.data.records[0].releaseDate && res.data.records[0].releaseDate!== '') { if (res.data.records[0].releaseDate && res.data.records[0].releaseDate !== '') {
this.isNew = this.checkTime(res.data.records[0].releaseDate) this.isNew = this.checkTime(res.data.records[0].releaseDate)
} }
} }
@@ -113,11 +152,11 @@ export default {
}) })
}, },
checkTime (time) { checkTime (time) {
return moment(time.slice(0,10)).diff(moment(), 'day') > -3 return moment(time.slice(0, 10)).diff(moment(), 'day') > -3
}, },
handleTabClick(tab, event) {}, handleTabClick (tab, event) {},
//退 // 退
logout(){ logout () {
this.$confirm('您确认要退出吗?', '提示', { this.$confirm('您确认要退出吗?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@@ -135,10 +174,10 @@ export default {
}).catch(() => { }).catch(() => {
}) })
}, },
MORE() { MORE () {
switch (this.activeName) { switch (this.activeName) {
case 'solicitOpinions': case 'solicitOpinions':
this.$router.push({name: 'standardForComments'}) this.$router.push({ name: 'standardForComments' })
break break
case 'release': case 'release':
this.$confirm('请选择国内/海外标准', { this.$confirm('请选择国内/海外标准', {
@@ -147,9 +186,9 @@ export default {
type: 'warning', type: 'warning',
center: true center: true
}).then(() => { }).then(() => {
this.$router.push({name: 'domesticStandardsAndRegulations'}) this.$router.push({ name: 'domesticStandardsAndRegulations' })
}).catch(() => { }).catch(() => {
this.$router.push({name: 'foreignStandardsAndRegulations'}) this.$router.push({ name: 'foreignStandardsAndRegulations' })
}); });
break break
default: default:
File diff suppressed because it is too large Load Diff
@@ -779,12 +779,12 @@
<el-input v-model="editForm.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称" clearable></el-input> <el-input v-model="editForm.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="文本状态" label="标准状态"
class="add-form-item" class="add-form-item"
prop="fileType" prop="fileType"
label-width="140px" label-width="140px"
> >
<el-select v-model="editForm.fileType" placeholder="请选择文本状态" clearable> <el-select v-model="editForm.fileType" placeholder="请选择标准状态" clearable>
<el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option> <el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -831,19 +831,19 @@ export default {
standId: '', standId: '',
standNumSplit: '', // / standNumSplit: '', // /
standNameSplit: '', // / standNameSplit: '', // /
fileType: '' // fileType: '' //
}, },
editForm: { editForm: {
id: '', id: '',
standId: '', standId: '',
standNumSplit: '', // / standNumSplit: '', // /
standNameSplit: '', // / standNameSplit: '', // /
fileType: '' // fileType: '' //
}, },
editFormRules: { editFormRules: {
standNumSplit: [{required: true, message: '标准号/政策号不能为空', trigger: 'blur'}], standNumSplit: [{required: true, message: '标准号/政策号不能为空', trigger: 'blur'}],
standNameSplit: [{required: true, message: '标准名称/政策名称不能为空', trigger: 'blur'}], standNameSplit: [{required: true, message: '标准名称/政策名称不能为空', trigger: 'blur'}],
fileType: [{ required: true, message: '文本状态不能为空', trigger: 'change' }] fileType: [{ required: true, message: '标准状态不能为空', trigger: 'change' }]
}, },
standFileClassifyOptions: [], standFileClassifyOptions: [],
openSubmitAndExamineVisible: false, openSubmitAndExamineVisible: false,
@@ -1692,6 +1692,7 @@ export default {
this.isSubmit = false this.isSubmit = false
if (res.ok) { if (res.ok) {
this.modalItemaddShowflag = false this.modalItemaddShowflag = false
this.selectMenu()
// this.showItemRequestDetails() // this.showItemRequestDetails()
// let content = res.data.itermsConditions // let content = res.data.itermsConditions
// $('#itemContentHtml').html(content) // $('#itemContentHtml').html(content)
+2 -2
View File
@@ -76,7 +76,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="oldFileTypeShow" prop="oldFileTypeShow"
label="旧文本状态" label="旧标准状态"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -93,7 +93,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="newFileTypeShow" prop="newFileTypeShow"
label="新文本状态" label="新标准状态"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -82,7 +82,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileTypeShow" prop="fileTypeShow"
label="文本状态" label="标准状态"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -181,7 +181,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileTypeShow" prop="fileTypeShow"
label="文本状态" label="标准状态"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -60,12 +60,15 @@
:label="$t('m.action')" :label="$t('m.action')"
width="280px" width="280px"
align="center"> align="center">
<!-- v-btn-permission="'99CSTACRWA5SKM94W2F2'"-->
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
class="opera-btn" class="opera-btn"
size="mini" size="mini"
type="primary" type="primary"
@click="handlePreview(scope.row)" v-btn-permission="'99CSTACRWA5SKM94W2F2'">{{$t('m.lookAtTheDifferences')}}</el-button> @click="handlePreview(scope.row)">
{{$t('m.lookAtTheDifferences')}}
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -198,7 +198,7 @@
:placeholder="$t('m.pleaseEnterTheStandardNameAndPolicyName')" :placeholder="$t('m.pleaseEnterTheStandardNameAndPolicyName')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文本状态" prop="fileType" label-width="145px"> <el-form-item label="标准状态" prop="fileType" label-width="145px">
<el-select class="bead-input" v-model="uploadFilesdfEo.fileType"> <el-select class="bead-input" v-model="uploadFilesdfEo.fileType">
<el-option <el-option
v-for="item in options" v-for="item in options"
@@ -395,10 +395,10 @@
prop="textStatus" prop="textStatus"
sortable="custom" sortable="custom"
width="110" width="110"
label="文本状态"> label="标准状态">
<!-- <template slot="header" slot-scope="scope">--> <!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">--> <!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态<i class="el-icon-warning-outline"></i></span>--> <!-- <span>标准状态<i class="el-icon-warning-outline"></i></span>-->
<!-- </el-tooltip>--> <!-- </el-tooltip>-->
<!-- </template>--> <!-- </template>-->
<template slot-scope="scope"> <template slot-scope="scope">
@@ -520,10 +520,10 @@
prop="textStatus" prop="textStatus"
sortable="custom" sortable="custom"
width="110" width="110"
label="文本状态"> label="标准状态">
<!-- <template slot="header" slot-scope="scope">--> <!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">--> <!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态 <i class="el-icon-warning-outline"></i></span>--> <!-- <span>标准状态 <i class="el-icon-warning-outline"></i></span>-->
<!-- </el-tooltip>--> <!-- </el-tooltip>-->
<!-- </template>--> <!-- </template>-->
<template slot-scope="scope"> <template slot-scope="scope">
@@ -602,7 +602,7 @@
show-overflow-tooltip show-overflow-tooltip
sortable sortable
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="110" width="110"
> >
@@ -684,7 +684,7 @@
show-overflow-tooltip show-overflow-tooltip
sortable sortable
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="110" width="110"
> >
@@ -723,6 +723,7 @@
</template> </template>
<script> <script>
import {baseUrl} from '@/sysConfig'
import axios from 'axios' import axios from 'axios'
export default { export default {
name: "StandardRecognition", name: "StandardRecognition",
@@ -730,7 +731,7 @@ export default {
data() { data() {
return { return {
selectTableDatas: [], selectTableDatas: [],
textStatusMap: {}, // idname textStatusMap: {}, // idname
lawInfoTable:[], lawInfoTable:[],
lawInfoTableLoading: true, lawInfoTableLoading: true,
// //
@@ -789,7 +790,7 @@ export default {
// }, // },
// ], // ],
fileType: [ fileType: [
{ required: true, message: "文本状态称不能为空", trigger: "change" }, { required: true, message: "标准状态称不能为空", trigger: "change" },
], ],
fileName: [ fileName: [
{ required: true, message: '文件不能为空', trigger: 'change' } { required: true, message: '文件不能为空', trigger: 'change' }
@@ -816,7 +817,7 @@ export default {
props: {}, props: {},
watch: {}, watch: {},
methods: { methods: {
// idname // idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -835,7 +836,7 @@ export default {
this.uploadFilesdfEo.standNumber =this.handleSelectTableList[0].standCode || this.handleSelectTableList[0].lawsNumber || this.handleSelectTableList[0].standSort+" "+this.handleSelectTableList[0].standNumber+"-"+this.handleSelectTableList[0].standYear this.uploadFilesdfEo.standNumber =this.handleSelectTableList[0].standCode || this.handleSelectTableList[0].lawsNumber || this.handleSelectTableList[0].standSort+" "+this.handleSelectTableList[0].standNumber+"-"+this.handleSelectTableList[0].standYear
this.uploadFilesdfEo.standName = this.handleSelectTableList[0].standName || this.handleSelectTableList[0].lawsName this.uploadFilesdfEo.standName = this.handleSelectTableList[0].standName || this.handleSelectTableList[0].lawsName
// console.log('999',this.handleSelectTableList[0]) // console.log('999',this.handleSelectTableList[0])
//(tnnd西 //(tnnd西
// this.uploadFilesdfEo.fileType = this.handleSelectTableList[0].standTextStatusShow || this.handleSelectTableList[0].standStatusShow // this.uploadFilesdfEo.fileType = this.handleSelectTableList[0].standTextStatusShow || this.handleSelectTableList[0].standStatusShow
this.selectModal = false this.selectModal = false
} }
@@ -1276,7 +1277,7 @@ export default {
}, },
// doc // doc
downloadFile(data) { downloadFile(data) {
let URL = 'https://srms.foton.com.cn/ocrResultFile/' + data.docRealName let URL = baseUrl + '/ocrResultFile/' + data.docRealName
window.open(URL) window.open(URL)
// console.log(URL); // console.log(URL);
// window.open(data.docRealFile); // window.open(data.docRealFile);
+226 -181
View File
@@ -4,7 +4,7 @@
<div class="dynamic-content"> <div class="dynamic-content">
<!-- 实施预警 --> <!-- 实施预警 -->
<div class="dynamic"> <div class="dynamic">
<div class="container"> <div class="container" style="height: 100%">
<!-- <el-tabs v-model="activeName" @tab-click="handleClick">--> <!-- <el-tabs v-model="activeName" @tab-click="handleClick">-->
<!-- <el-tab-pane label="标准预警" name="STANDARD">--> <!-- <el-tab-pane label="标准预警" name="STANDARD">-->
<div class="dynamic-content"> <div class="dynamic-content">
@@ -16,23 +16,36 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col> <el-col>
<el-form-item label="标准编号"> <el-form-item label="标准编号">
<el-input clearable size="mini" <el-input
v-model="dynamic.standCode" v-model="dynamic.standCode"
placeholder="根据标准编号查找"> clearable
</el-input> size="mini"
placeholder="根据标准编号查找"
/>
</el-form-item> </el-form-item>
<el-form-item label="标准名称"> <el-form-item label="标准名称">
<el-input clearable size="mini" <el-input
v-model="dynamic.standName" v-model="dynamic.standName"
placeholder="根据标准名称查找"> clearable
</el-input> size="mini"
placeholder="根据标准名称查找"
/>
</el-form-item> </el-form-item>
<!-- 适用车型--> <!-- 适用车型-->
<el-form-item :label="$t('m.applicableModels')" class="add-form-item form-item-disabled"> <el-form-item :label="$t('m.applicableModels')" class="add-form-item form-item-disabled">
<el-select v-model="dynamic.applyType" size="mini" <el-select
:placeholder="$t('m.searchAccordingToThApplicableModel')" clearable> v-model="dynamic.applyType"
<el-option v-for="opt in applyArcticOptions" :value="opt.value === undefined ? '' :opt.value" size="mini"
:key="opt.value" :label="opt.label">{{ opt.label }} :placeholder="$t('m.searchAccordingToThApplicableModel')"
clearable
>
<el-option
v-for="opt in applyArcticOptions"
:key="opt.value"
:value="opt.value === undefined ? '' :opt.value"
:label="opt.label"
>
{{ opt.label }}
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -53,8 +66,8 @@
size="mini" size="mini"
:picker-options="pickerBeginDateBefore" :picker-options="pickerBeginDateBefore"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择开始时间"> placeholder="选择开始时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="至" label-width="25px"> <el-form-item label="至" label-width="25px">
<el-date-picker <el-date-picker
@@ -63,8 +76,8 @@
size="mini" size="mini"
format="yyyy-MM-dd" format="yyyy-MM-dd"
:picker-options="pickerBeginDateAfter" :picker-options="pickerBeginDateAfter"
placeholder="选择结束时间"> placeholder="选择结束时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="新车型实施日期" style="margin-right: 10px" class="choose-time-area"> <el-form-item label="新车型实施日期" style="margin-right: 10px" class="choose-time-area">
<el-date-picker <el-date-picker
@@ -73,8 +86,8 @@
size="mini" size="mini"
:picker-options="XCXSSRQDateBefore" :picker-options="XCXSSRQDateBefore"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择开始时间"> placeholder="选择开始时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="至" label-width="25px"> <el-form-item label="至" label-width="25px">
<el-date-picker <el-date-picker
@@ -83,8 +96,8 @@
size="mini" size="mini"
format="yyyy-MM-dd" format="yyyy-MM-dd"
:picker-options="XCXSSRQDateAfter" :picker-options="XCXSSRQDateAfter"
placeholder="选择结束时间"> placeholder="选择结束时间"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -97,8 +110,8 @@
size="mini" size="mini"
:picker-options="SSRQDateBefore" :picker-options="SSRQDateBefore"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择开始时间"> placeholder="选择开始时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="至" label-width="25px"> <el-form-item label="至" label-width="25px">
<el-date-picker <el-date-picker
@@ -107,8 +120,8 @@
size="mini" size="mini"
format="yyyy-MM-dd" format="yyyy-MM-dd"
:picker-options="SSRQDateAfter" :picker-options="SSRQDateAfter"
placeholder="选择结束时间"> placeholder="选择结束时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="在产车实施日期" style="margin-right: 10px" class="choose-time-area"> <el-form-item label="在产车实施日期" style="margin-right: 10px" class="choose-time-area">
<el-date-picker <el-date-picker
@@ -117,8 +130,8 @@
size="mini" size="mini"
:picker-options="ZCCSSRQDateBefore" :picker-options="ZCCSSRQDateBefore"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择开始时间"> placeholder="选择开始时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="至" label-width="25px"> <el-form-item label="至" label-width="25px">
<el-date-picker <el-date-picker
@@ -127,57 +140,65 @@
size="mini" size="mini"
format="yyyy-MM-dd" format="yyyy-MM-dd"
:picker-options="ZCCSSRQDateAfter" :picker-options="ZCCSSRQDateAfter"
placeholder="选择结束时间"> placeholder="选择结束时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-button <el-button
v-btn-permission="'5dca375c3d8d57c45e4815acf3611b34'"
style="margin: 6px 8px 0 0" style="margin: 6px 8px 0 0"
type="primary" type="primary"
size="mini" size="mini"
v-btn-permission="'5dca375c3d8d57c45e4815acf3611b34'" class="common-button-primary"
@click="searchBtnClick" @click="searchBtnClick"
class="common-button-primary"> >
查询 查询
</el-button> </el-button>
<el-button <el-button
v-btn-permission="'8258ee44344e92365e7e5bd90f3c8d21'"
style="margin: 6px 0 0 0" style="margin: 6px 0 0 0"
size="mini" size="mini"
v-btn-permission="'8258ee44344e92365e7e5bd90f3c8d21'" class="common-button-primary"
@click="clearBtnClick" @click="clearBtnClick"
class="common-button-primary"> >
清空 清空
</el-button> </el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
<div style="float: right;margin: 0 3% 10px 0"> <div style="margin: 0 3% 10px 0;display: flex;justify-content: right">
<el-button type="primary" size="mini" <el-button
v-btn-permission="'a34dcbc3a44a297a6b6cc95e450b28ea'" v-btn-permission="'a34dcbc3a44a297a6b6cc95e450b28ea'"
@click="exportExcelBtn">导出Excel</el-button> type="primary"
size="mini"
@click="exportExcelBtn"
>
导出Excel
</el-button>
</div> </div>
<div class="content"> <div class="content" style="height: calc(100% - 224px);padding-bottom: 0">
<!-- <el-divider content-position="left" class="dynamic-child-title">实施日期预警</el-divider>--> <!-- <el-divider content-position="left" class="dynamic-child-title">实施日期预警</el-divider>-->
<el-table <el-table
v-loading="warningTableLoading"
:data="warningTableDatas" :data="warningTableDatas"
style="overflow-y: auto;" style="overflow-y: auto;"
height="100%" height="calc(100% - 57px)"
border border
:resizable="false" :resizable="false"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
v-loading="warningTableLoading"
@selection-change="selectChange" @selection-change="selectChange"
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (pageConfig.page - 1) * pageConfig.pageSize }} {{ ($index + 1) + (pageConfig.page - 1) * pageConfig.pageSize }}
</template> </template>
@@ -206,7 +227,13 @@
<a @click="handlePreview(scope.row)">{{ scope.row.itemsNum }}</a> <a @click="handlePreview(scope.row)">{{ scope.row.itemsNum }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="itemsName" width="320" label="条款名称" align="center" show-overflow-tooltip> <el-table-column
prop="itemsName"
width="320"
label="条款名称"
align="center"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)">{{ scope.row.itemsName }}</a> <a @click="handlePreview(scope.row)">{{ scope.row.itemsName }}</a>
</template> </template>
@@ -215,12 +242,13 @@
prop="termsConditions" prop="termsConditions"
label="条款内容" label="条款内容"
width="400" width="400"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.termsConditions === null"></a> <a v-if="scope.row.termsConditions === null" />
<a v-else @click="openDialog(scope.row.termsConditions)">{{ <a v-else @click="openDialog(scope.row.termsConditions)">{{
scope.row.termsConditions.replace(/<[^>]+>/g, '').slice(0, 20) + '...' scope.row.termsConditions.replace(/<[^>]+>/g, '').slice(0, 20) + '...'
}}</a> }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="issueTime" label="发布日期" width="120" align="center"> <el-table-column prop="issueTime" label="发布日期" width="120" align="center">
@@ -243,15 +271,22 @@
<span>{{ scope.row.zccssrq }}</span> <span>{{ scope.row.zccssrq }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="applyType" label="适用车型" width="150" align="center"> <el-table-column prop="applyType" label="适用车型" width="150" align="center" />
</el-table-column> <el-table-column
<el-table-column label="操作" width="100" align="center" v-if="isShowBtn" fixed="right"> v-if="isShowBtn"
label="操作"
width="100"
align="center"
fixed="right"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-btn-permission="'30d080f4194a10a76cc4994bad0afc9e'"
size="mini" size="mini"
type="danger" type="danger"
v-btn-permission="'30d080f4194a10a76cc4994bad0afc9e'" @click="cancelWarning(scope.$index, scope.row)"
@click="cancelWarning(scope.$index, scope.row)">取消预警 >
取消预警
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@@ -263,46 +298,58 @@
:total="pageConfig.total" :total="pageConfig.total"
autoSize autoSize
@pageChange="page => handlePageChange('page', page)" @pageChange="page => handlePageChange('page', page)"
@pageSizeChange="pageSize => handlePageSizeChange('pageSize', pageSize)"></pagination> @pageSizeChange="pageSize => handlePageSizeChange('pageSize', pageSize)"
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<adc-back-top scroll-bind="dynamicInformation"></adc-back-top> <adc-back-top scroll-bind="dynamicInformation" />
<!--导出模态框区域--> <!--导出模态框区域-->
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px"> <el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
<el-form :inline="true" class="label-input-form search-area"> <el-form :inline="true" class="label-input-form search-area">
<el-form-item label="导出名称" class="search-item"> <el-form-item label="导出名称" class="search-item">
<el-input v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/> <el-input
v-model="exportName"
placeholder="请输入导出文件名称"
:maxlength="30"
clearable
label="导出名称"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="demo-drawer-footer"> <span slot="footer" class="demo-drawer-footer">
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button> <el-button size="mini" class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" <el-button
@click="exportExcel">提交</el-button> type="primary"
</span> size="mini"
class="common-button-primary"
icon="el-icon-check"
@click="exportExcel"
>提交</el-button>
</span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
class="textDialog" class="textDialog"
title="条款内容" title="条款内容"
:visible.sync="detailTextDialog" :visible.sync="detailTextDialog"
width="50%"> width="50%"
<span style="line-height: normal" v-html="detailText"></span> >
<div slot="footer" class="dialog-footer"> <span style="line-height: normal" v-html="detailText" />
</div> <div slot="footer" class="dialog-footer" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {mapMutations} from "vuex"; import { mapMutations } from 'vuex';
import {interfaceUrl} from "@/sysConfig"; import { interfaceUrl } from '@/sysConfig';
export default { export default {
name: "standardWarning", name: 'StandardWarning',
data() { data () {
return { return {
detailTextDialog: false, detailTextDialog: false,
detailText: '', detailText: '',
@@ -313,7 +360,7 @@ export default {
warningTableHeight: '', warningTableHeight: '',
applyArcticOptions: [], // applyArcticOptions: [], //
isShowBtn: true, isShowBtn: true,
activeName: "STANDARD", //tab activeName: 'STANDARD', // tab
// //
dynamic: { dynamic: {
// //
@@ -322,33 +369,33 @@ export default {
// //
startSSRQ: '', startSSRQ: '',
endSSRQ: '', endSSRQ: '',
// //
startXCXSSRQ: '', startXCXSSRQ: '',
endXCXSSRQ: '', endXCXSSRQ: '',
// //
startZCCSSRQ: '', startZCCSSRQ: '',
endZCCSSRQ: '', endZCCSSRQ: '',
// //
standCode: "", standCode: '',
// //
standName: "", standName: '',
// //
putTime: [], putTime: [],
// //
SSRQ: [], SSRQ: [],
// //
XCXSSRQ: [], XCXSSRQ: [],
// //
ZCCSSRQ: [], ZCCSSRQ: [],
// //
applyType: "", applyType: '',
}, },
height: null, height: null,
energyKindOptions: [], // energyKindOptions: [], //
zrgcs: [], // zrgcs: [], //
// //
newItems: [], newItems: [],
// //
newPolicy: [], newPolicy: [],
// //
newStand: [], newStand: [],
@@ -356,7 +403,7 @@ export default {
oldItems: [], oldItems: [],
// //
oldStand: [], oldStand: [],
// //
oldPolicy: [], oldPolicy: [],
tableHeight: 0, tableHeight: 0,
pageConfig: { pageConfig: {
@@ -371,7 +418,7 @@ export default {
// //
pickerBeginDateBefore: { pickerBeginDateBefore: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.endIssueTime; const beginDateVal = this.dynamic.endIssueTime;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() > beginDateVal; return time.getTime() > beginDateVal;
} }
@@ -379,7 +426,7 @@ export default {
}, },
pickerBeginDateAfter: { pickerBeginDateAfter: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.startIssueTime; const beginDateVal = this.dynamic.startIssueTime;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() < beginDateVal; return time.getTime() < beginDateVal;
} }
@@ -388,7 +435,7 @@ export default {
SSRQDateBefore: { SSRQDateBefore: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.endSSRQ; const beginDateVal = this.dynamic.endSSRQ;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() > beginDateVal; return time.getTime() > beginDateVal;
} }
@@ -396,7 +443,7 @@ export default {
}, },
SSRQDateAfter: { SSRQDateAfter: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.startSSRQ; const beginDateVal = this.dynamic.startSSRQ;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() < beginDateVal; return time.getTime() < beginDateVal;
} }
@@ -405,7 +452,7 @@ export default {
XCXSSRQDateBefore: { XCXSSRQDateBefore: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.endXCXSSRQ; const beginDateVal = this.dynamic.endXCXSSRQ;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() > beginDateVal; return time.getTime() > beginDateVal;
} }
@@ -413,7 +460,7 @@ export default {
}, },
XCXSSRQDateAfter: { XCXSSRQDateAfter: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.startXCXSSRQ; const beginDateVal = this.dynamic.startXCXSSRQ;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() < beginDateVal; return time.getTime() < beginDateVal;
} }
@@ -421,7 +468,7 @@ export default {
}, },
ZCCSSRQDateBefore: { ZCCSSRQDateBefore: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.endZCCSSRQ; const beginDateVal = this.dynamic.endZCCSSRQ;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() > beginDateVal; return time.getTime() > beginDateVal;
} }
@@ -429,7 +476,7 @@ export default {
}, },
ZCCSSRQDateAfter: { ZCCSSRQDateAfter: {
disabledDate: (time) => { disabledDate: (time) => {
let beginDateVal = this.dynamic.startZCCSSRQ; const beginDateVal = this.dynamic.startZCCSSRQ;
if (beginDateVal) { if (beginDateVal) {
return time.getTime() < beginDateVal; return time.getTime() < beginDateVal;
} }
@@ -438,12 +485,12 @@ export default {
}; };
}, },
methods: { methods: {
// //
cancal() { cancal () {
this.exportModelFlag = false this.exportModelFlag = false
}, },
// //
exportExcel() { exportExcel () {
console.log('293', this.selectedList) console.log('293', this.selectedList)
const exportURL = interfaceUrl + 'sys/EarlyWarning/exportWarning?' + const exportURL = interfaceUrl + 'sys/EarlyWarning/exportWarning?' +
'&ids=' + this.selectedList.join(',') + '&exportName=' + this.exportName '&ids=' + this.selectedList.join(',') + '&exportName=' + this.exportName
@@ -451,12 +498,12 @@ export default {
this.$message.success('导出信息成功') this.$message.success('导出信息成功')
this.exportModelFlag = false this.exportModelFlag = false
}, },
exportExcelBtn() { exportExcelBtn () {
console.log('302', this.selectedList) console.log('302', this.selectedList)
this.exportName = '' this.exportName = ''
this.exportModelFlag = true this.exportModelFlag = true
}, },
selectChange(alldata) { selectChange (alldata) {
console.log('307', alldata) console.log('307', alldata)
this.selectedList = [] this.selectedList = []
for (let i = 0; i < alldata.length; i++) { for (let i = 0; i < alldata.length; i++) {
@@ -464,7 +511,7 @@ export default {
} }
}, },
// (type) // (type)
getEarlyDate() { getEarlyDate () {
this.warningTableLoading = true this.warningTableLoading = true
this.$http.get('sys/EarlyWarning/getStandWarning', { this.$http.get('sys/EarlyWarning/getStandWarning', {
applyType: '', applyType: '',
@@ -478,58 +525,58 @@ export default {
this[field].forEach(item => { this[field].forEach(item => {
// //
if (item.applyType !== null) { if (item.applyType !== null) {
let k = (item.applyType || "").split(","); const k = (item.applyType || '').split(',');
for (let i in this.energyKindOptions) { for (const i in this.energyKindOptions) {
for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
if (this.energyKindOptions[i].value === k[m]) { if (this.energyKindOptions[i].value === k[m]) {
k[m] = this.energyKindOptions[i].label; k[m] = this.energyKindOptions[i].label;
} }
item.applyType = k.join(","); item.applyType = k.join(',');
} }
} }
} }
// //
if (item.dutyEngineer !== null) { if (item.dutyEngineer !== null) {
let k = (item.dutyEngineer || "").split(","); const k = (item.dutyEngineer || '').split(',');
for (let i in this.zrgcs) { for (const i in this.zrgcs) {
for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
if (this.zrgcs[i].value === k[m]) { if (this.zrgcs[i].value === k[m]) {
k[m] = this.zrgcs[i].label; k[m] = this.zrgcs[i].label;
} }
item.dutyEngineer = k.join(","); item.dutyEngineer = k.join(',');
} }
} }
} }
}) })
let arr = result.newItems.records const arr = result.newItems.records
arr.forEach(item => { arr.forEach(item => {
// //
if (item.applyType !== null) { if (item.applyType !== null) {
let k = (item.applyType || "").split(","); const k = (item.applyType || '').split(',');
for (let i in this.energyKindOptions) { for (const i in this.energyKindOptions) {
for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
if (this.energyKindOptions[i].value === k[m]) { if (this.energyKindOptions[i].value === k[m]) {
k[m] = this.energyKindOptions[i].label; k[m] = this.energyKindOptions[i].label;
} }
item.applyType = k.join(","); item.applyType = k.join(',');
} }
} }
} }
// //
if (item.dutyEngineer !== null) { if (item.dutyEngineer !== null) {
let k = (item.dutyEngineer || "").split(","); const k = (item.dutyEngineer || '').split(',');
for (let i in this.zrgcs) { for (const i in this.zrgcs) {
for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
if (this.zrgcs[i].value === k[m]) { if (this.zrgcs[i].value === k[m]) {
k[m] = this.zrgcs[i].label; k[m] = this.zrgcs[i].label;
} }
item.dutyEngineer = k.join(","); item.dutyEngineer = k.join(',');
} }
} }
} }
}) })
this.newItems = arr this.newItems = arr
//zyh // zyh
switch (field) { switch (field) {
case 'newItems': case 'newItems':
this.pageConfig.count1 = result.newItems.total this.pageConfig.count1 = result.newItems.total
@@ -549,9 +596,9 @@ export default {
}, e => { }, e => {
}); });
}, },
// //
handlePreview(item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.standId, id: item.standId,
@@ -560,8 +607,8 @@ export default {
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
//(type) // (type)
getPolicyDate() { getPolicyDate () {
this.loading[this.field] = true this.loading[this.field] = true
this.$http.get('sys/EarlyWarning/PolicyWarning', { this.$http.get('sys/EarlyWarning/PolicyWarning', {
applyType: '', applyType: '',
@@ -588,12 +635,12 @@ export default {
}); });
}, },
// tab // tab
handleClick(tab, event) { handleClick (tab, event) {
this.getPolicyDate(); this.getPolicyDate();
switch (tab.name) { switch (tab.name) {
case "POLICY": case 'POLICY':
const computedHeight = () => { const computedHeight = () => {
this.tableHeight = $(".content-group").find(".table-wrap").height(); this.tableHeight = $('.content-group').find('.table-wrap').height();
} }
this.$nextTick(() => { this.$nextTick(() => {
computedHeight() computedHeight()
@@ -604,8 +651,8 @@ export default {
}); });
} }
}, },
// //
searchBtnClick() { searchBtnClick () {
if (this.dynamic.putTime === null) { if (this.dynamic.putTime === null) {
this.dynamic.putTime = [] this.dynamic.putTime = []
} }
@@ -622,23 +669,23 @@ export default {
this.warningTableLoading = true this.warningTableLoading = true
this.$http.get('sys/EarlyWarning/getStandWarning', { this.$http.get('sys/EarlyWarning/getStandWarning', {
...this.pageConfig, ...this.pageConfig,
// //
standCode: this.dynamic.standCode, standCode: this.dynamic.standCode,
// //
standName: this.dynamic.standName, standName: this.dynamic.standName,
// //
startIssueTime: this.dynamic.startIssueTime ? this.$moment(this.dynamic.startIssueTime).format('YYYY-MM-DD') : '', startIssueTime: this.dynamic.startIssueTime ? this.$moment(this.dynamic.startIssueTime).format('YYYY-MM-DD') : '',
endIssueTime: this.dynamic.endIssueTime ? this.$moment(this.dynamic.endIssueTime).format('YYYY-MM-DD') : '', endIssueTime: this.dynamic.endIssueTime ? this.$moment(this.dynamic.endIssueTime).format('YYYY-MM-DD') : '',
// //
startSSRQ: this.dynamic.startSSRQ ? this.$moment(this.dynamic.startSSRQ).format('YYYY-MM-DD') : '', startSSRQ: this.dynamic.startSSRQ ? this.$moment(this.dynamic.startSSRQ).format('YYYY-MM-DD') : '',
endSSRQ: this.dynamic.endSSRQ ? this.$moment(this.dynamic.endSSRQ).format('YYYY-MM-DD') : '', endSSRQ: this.dynamic.endSSRQ ? this.$moment(this.dynamic.endSSRQ).format('YYYY-MM-DD') : '',
// //
startXCXSSRQ: this.dynamic.startXCXSSRQ ? this.$moment(this.dynamic.startXCXSSRQ).format('YYYY-MM-DD') : '', startXCXSSRQ: this.dynamic.startXCXSSRQ ? this.$moment(this.dynamic.startXCXSSRQ).format('YYYY-MM-DD') : '',
endXCXSSRQ: this.dynamic.endXCXSSRQ ? this.$moment(this.dynamic.endXCXSSRQ).format('YYYY-MM-DD') : '', endXCXSSRQ: this.dynamic.endXCXSSRQ ? this.$moment(this.dynamic.endXCXSSRQ).format('YYYY-MM-DD') : '',
// //
startZCCSSRQ: this.dynamic.startZCCSSRQ ? this.$moment(this.dynamic.startZCCSSRQ).format('YYYY-MM-DD') : '', startZCCSSRQ: this.dynamic.startZCCSSRQ ? this.$moment(this.dynamic.startZCCSSRQ).format('YYYY-MM-DD') : '',
endZCCSSRQ: this.dynamic.endZCCSSRQ ? this.$moment(this.dynamic.endZCCSSRQ).format('YYYY-MM-DD') : '', endZCCSSRQ: this.dynamic.endZCCSSRQ ? this.$moment(this.dynamic.endZCCSSRQ).format('YYYY-MM-DD') : '',
// //
applyType: this.dynamic.applyType applyType: this.dynamic.applyType
}, { }, {
_this: this, _this: this,
@@ -646,13 +693,13 @@ export default {
// //
for (let a = 0; a < res.data.records.length; a++) { for (let a = 0; a < res.data.records.length; a++) {
if (res.data.records[a].applyType !== null) { if (res.data.records[a].applyType !== null) {
let k = (res.data.records[a].applyType || "").split(","); const k = (res.data.records[a].applyType || '').split(',');
for (let i in this.energyKindOptions) { for (const i in this.energyKindOptions) {
for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
if (this.energyKindOptions[i].value === k[m]) { if (this.energyKindOptions[i].value === k[m]) {
k[m] = this.energyKindOptions[i].label; k[m] = this.energyKindOptions[i].label;
} }
res.data.records[a].applyType = k.join(","); res.data.records[a].applyType = k.join(',');
} }
} }
} }
@@ -671,28 +718,28 @@ export default {
}, e => { }, e => {
}) })
}, },
clearBtnClick() { clearBtnClick () {
this.dynamic = { this.dynamic = {
// //
standCode: "", standCode: '',
// //
standName: "", standName: '',
// //
putTime: [], putTime: [],
// //
SSRQ: [], SSRQ: [],
// //
XCXSSRQ: [], XCXSSRQ: [],
// //
ZCCSSRQ: [], ZCCSSRQ: [],
// //
applyType: "", applyType: '',
} }
this.pageConfig.page = 1 this.pageConfig.page = 1
this.searchBtnClick() this.searchBtnClick()
}, },
// //
cancelWarning(index, row) { cancelWarning (index, row) {
this.$confirm('确认取消预警?', '提示', { this.$confirm('确认取消预警?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary', confirmButtonClass: 'common-button-primary',
@@ -701,22 +748,22 @@ export default {
roundButton: false roundButton: false
}).then(() => { }).then(() => {
this.$http.get('sys/EarlyWarning/ChangePermissions', { this.$http.get('sys/EarlyWarning/ChangePermissions', {
id: row.id, id: row.id,
}, {}, res => { }, {}, res => {
this.pageConfig.page = 1 this.pageConfig.page = 1
this.pageConfig.newPolicyPage = 1 this.pageConfig.newPolicyPage = 1
this.pageConfig.oldPolicyPage = 1 this.pageConfig.oldPolicyPage = 1
this.searchBtnClick() this.searchBtnClick()
this.getEarlyDate() this.getEarlyDate()
} }
) )
}).catch(() => { }).catch(() => {
this.$message.warning('取消事件') this.$message.warning('取消事件')
}) })
}, },
showStandDetails(item) { showStandDetails (item) {
let getStandId = item.sarId; const getStandId = item.sarId;
let getStandType = item.sortName; const getStandType = item.sortName;
// this.$http.get("lawss/sarMenu/judgeSarMenuByRole", { // this.$http.get("lawss/sarMenu/judgeSarMenuByRole", {
// sarId: getStandId, // sarId: getStandId,
// sarType: getStandType, // sarType: getStandType,
@@ -774,24 +821,24 @@ export default {
* @author: chenxiaoxi * @author: chenxiaoxi
* @date: 2018/11/01 10:20:12 * @date: 2018/11/01 10:20:12
*/ */
dateFormat(date) { dateFormat (date) {
let year = new Date(date).getFullYear(); const year = new Date(date).getFullYear();
let month = new Date(date).getMonth() + 1; const month = new Date(date).getMonth() + 1;
let day = new Date(date).getDate(); const day = new Date(date).getDate();
return year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day); return year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day);
}, },
getDate(date) { getDate (date) {
return date !== undefined && date != null ? date.split(" ")[0] : ""; return date !== undefined && date != null ? date.split(' ')[0] : '';
}, },
handlePageChange(field, page) { handlePageChange (field, page) {
this.pageConfig.page = page this.pageConfig.page = page
this.searchBtnClick() this.searchBtnClick()
console.log('735', this.warningTableDatas) console.log('735', this.warningTableDatas)
this.activeName === 'STANDARD' ? this.getEarlyDate() : this.getPolicyDate() this.activeName === 'STANDARD' ? this.getEarlyDate() : this.getPolicyDate()
this.field = field this.field = field
}, },
// //
handlePageSizeChange(field, pageSize) { handlePageSizeChange (field, pageSize) {
// const _pageSize = field + 'PageSize' // const _pageSize = field + 'PageSize'
// this.pageConfig[_pageSize] = pageSize // this.pageConfig[_pageSize] = pageSize
this.pageConfig.pageSize = pageSize this.pageConfig.pageSize = pageSize
@@ -800,9 +847,9 @@ export default {
// this.activeName === 'STANDARD' ? this.getEarlyDate() : this.getPolicyDate() // this.activeName === 'STANDARD' ? this.getEarlyDate() : this.getPolicyDate()
// this.field = field // this.field = field
}, },
...mapMutations(["setDetailMap"]), ...mapMutations([ 'setDetailMap' ]),
openDialog(text) { openDialog (text) {
this.detailText = text this.detailText = text
this.detailTextDialog = true this.detailTextDialog = true
}, },
@@ -813,7 +860,7 @@ export default {
} }
}, },
computed: { computed: {
containerStyle() { containerStyle () {
this.$nextTick(() => { this.$nextTick(() => {
return this.activeName === 'POLICY' ? { return this.activeName === 'POLICY' ? {
height: '100%' height: '100%'
@@ -822,7 +869,7 @@ export default {
} }
}, },
watch: {}, watch: {},
mounted() { mounted () {
this.warningTableLoading = true this.warningTableLoading = true
// this.$nextTick(() => { // this.$nextTick(() => {
// this.warningTableHeight = $(window).height()*0.54 // this.warningTableHeight = $(window).height()*0.54
@@ -835,8 +882,8 @@ export default {
// window.onresize = () => { // window.onresize = () => {
// this.height = $(".content").height(); // this.height = $(".content").height();
// }; // };
// //
this.$http.get("sys/dictype/getDicTypeListCode", {}, { this.$http.get('sys/dictype/getDicTypeListCode', {}, {
_this: this _this: this
}, res => { }, res => {
this.energyKindOptions = res.data.ENERGYTYPES; // this.energyKindOptions = res.data.ENERGYTYPES; //
@@ -852,13 +899,13 @@ export default {
// //
for (let a = 0; a < res.data.records.length; a++) { for (let a = 0; a < res.data.records.length; a++) {
if (res.data.records[a].applyType !== null) { if (res.data.records[a].applyType !== null) {
let k = (res.data.records[a].applyType || "").split(","); const k = (res.data.records[a].applyType || '').split(',');
for (let i in this.energyKindOptions) { for (const i in this.energyKindOptions) {
for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
if (this.energyKindOptions[i].value === k[m]) { if (this.energyKindOptions[i].value === k[m]) {
k[m] = this.energyKindOptions[i].label; k[m] = this.energyKindOptions[i].label;
} }
res.data.records[a].applyType = k.join(","); res.data.records[a].applyType = k.join(',');
} }
} }
} }
@@ -873,7 +920,6 @@ export default {
}); });
}); });
this.searchBtnClick() this.searchBtnClick()
} }
}; };
</script> </script>
@@ -1151,7 +1197,6 @@ export default {
} }
} }
} }
::v-deep { ::v-deep {
+5
View File
@@ -29,6 +29,7 @@
import { mapMutations, mapActions } from 'vuex' import { mapMutations, mapActions } from 'vuex'
import axios from 'axios' import axios from 'axios'
import util from 'util' import util from 'util'
import isMobile from "../../store/isMobile";
export default { export default {
name: 'Login', name: 'Login',
data () { data () {
@@ -187,6 +188,10 @@
if (this.showIETips) {//IE if (this.showIETips) {//IE
alert('为了最佳显示效果 请使用google chrome') alert('为了最佳显示效果 请使用google chrome')
} }
if (isMobile()) {
this.$router.push('/phoneHome')
return;
}
this.$router.push('/home2') this.$router.push('/home2')
}, e => { }, e => {
this.$message.warning('未获取到菜单') this.$message.warning('未获取到菜单')
+2 -1
View File
@@ -39,7 +39,8 @@
showCancelButton: false, showCancelButton: false,
}).then(() => { }).then(() => {
// hwh5.close() // hwh5.close()
this.$router.go(-2) // this.$router.go(-2)
this.$close()
}) })
}, },
/** /**
@@ -1023,7 +1023,7 @@
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
width="110" width="110"
label="文本状态"> label="标准状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' " style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' " style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus] textStatusMap[scope.row.textStatus]
@@ -1138,7 +1138,7 @@
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
width="110" width="110"
label="文本状态"> label="标准状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus] textStatusMap[scope.row.textStatus]
@@ -1212,7 +1212,7 @@
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="110" width="110"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@@ -1309,7 +1309,7 @@ export default {
validFlag: '0', validFlag: '0',
menuId: 'nomenu' menuId: 'nomenu'
}, },
textStatusMap: {},// idname textStatusMap: {},// idname
textState: [], textState: [],
standModel: false, standModel: false,
lawInfoTableLoading: true, lawInfoTableLoading: true,
@@ -1367,8 +1367,8 @@ export default {
_this: this, _this: this,
loading: "loading" loading: "loading"
}, res => { }, res => {
this.setMap(res.data.WBZTCLASS);// this.setMap(res.data.WBZTCLASS);//
this.textState = res.data.WBZTCLASS // this.textState = res.data.WBZTCLASS //
this.pubOptions = res.data.DYGGWT // this.pubOptions = res.data.DYGGWT //
}, e => { }, e => {
}); });
@@ -1471,7 +1471,7 @@ export default {
}); });
window.open(routeUrl.href, "_blank"); window.open(routeUrl.href, "_blank");
}, },
// idname // idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -1035,7 +1035,7 @@
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
width="110" width="110"
label="文本状态"> label="标准状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' " style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' " style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus] textStatusMap[scope.row.textStatus]
@@ -1150,7 +1150,7 @@
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
width="110" width="110"
label="文本状态"> label="标准状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus] textStatusMap[scope.row.textStatus]
@@ -1224,7 +1224,7 @@
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="标准状态"
width="110" width="110"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@@ -1322,7 +1322,7 @@ export default {
validFlag: '0', validFlag: '0',
menuId: 'nomenu' menuId: 'nomenu'
}, },
textStatusMap: {},// idname textStatusMap: {},// idname
textState: [], textState: [],
standModel: false, standModel: false,
lawInfoTableLoading: true, lawInfoTableLoading: true,
@@ -1415,8 +1415,8 @@ export default {
_this: this, _this: this,
loading: "loading" loading: "loading"
}, res => { }, res => {
this.setMap(res.data.WBZTCLASS);// this.setMap(res.data.WBZTCLASS);//
this.textState = res.data.WBZTCLASS // this.textState = res.data.WBZTCLASS //
this.pubOptions = res.data.DYGGWT // this.pubOptions = res.data.DYGGWT //
}, e => { }, e => {
}); });
@@ -1530,7 +1530,7 @@ export default {
}); });
window.open(routeUrl.href, "_blank"); window.open(routeUrl.href, "_blank");
}, },
// idname // idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -1,10 +1,12 @@
<template> <template>
<van-popup v-model="popupShow" <van-popup
position="right" v-model="popupShow"
:style="{ height: '100%', width: '90%' }" position="right"
round :style="{ height: '100%', width: '70%' }"
:close-on-click-overlay="false" round
@click-overlay="handleCancel"> :close-on-click-overlay="false"
@click-overlay="handleCancel"
>
<h3 class="popup-title"> <h3 class="popup-title">
<span>体系结构</span> <span>体系结构</span>
<van-icon name="cross" size="22px" @click="handleCancel" /> <van-icon name="cross" size="22px" @click="handleCancel" />
@@ -13,28 +15,43 @@
<van-field name="radio" label="标准状态"> <van-field name="radio" label="标准状态">
<template #input> <template #input>
<van-radio-group v-model="textStatusName" direction="horizontal"> <van-radio-group v-model="textStatusName" direction="horizontal">
<van-radio name="全部">全部</van-radio> <van-radio name="全部" style="margin-bottom: 5px;">全部</van-radio>
<van-radio name="现行有效">现行有效</van-radio> <van-radio name="现行有效">现行有效</van-radio>
</van-radio-group> </van-radio-group>
</template> </template>
</van-field> </van-field>
<standardSystemTree ref="standardSystemTreeRef" :data="standardSystemTreeData" :loading="loading" @checkedKey="getCheckedKey"></standardSystemTree> <standardSystemTree ref="standardSystemTreeRef" :data="standardSystemTreeData" :loading="loading" @checkedKey="getCheckedKey" />
</div> </div>
<div class="popup-footer"> <div class="popup-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleReset">重置</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleReset">重置</el-button>
<!--<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleCancel">取消</el-button>--> <!--<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleCancel">取消</el-button>-->
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="handleOk">确定</el-button> <el-button
class="common-button-primary"
size="mini"
icon="el-icon-check"
type="primary"
@click="handleOk"
>
确定
</el-button>
</div> </div>
</van-popup> </van-popup>
</template> </template>
<script> <script>
import standardSystemTree from "./standardSystemTree"; import standardSystemTree from './standardSystemTree';
export default { export default {
name: "standardSystemPopup", name: 'StandardSystemPopup',
components: { components: {
standardSystemTree, standardSystemTree,
}, },
props: {
//
initKeys: {
type: Array,
required: true
}
},
data () { data () {
return { return {
popupShow: true, popupShow: true,
@@ -48,17 +65,14 @@ export default {
} }
} }
}, },
props: {
//
initKeys: {
type: Array,
required: true
}
},
activated () {
this.getData()
},
methods: { methods: {
initOpen () {
this.checkedKeys = []
this.textStatusName = '全部'
this.getData()
this.$refs.standardSystemTreeRef.setCheckedKeys([])
this.popupShow = true
},
open () { open () {
this.getData() this.getData()
this.$refs.standardSystemTreeRef.setCheckedKeys(this.initKeys) this.$refs.standardSystemTreeRef.setCheckedKeys(this.initKeys)
@@ -72,8 +86,8 @@ export default {
}, },
handleOk () { handleOk () {
// if (this.checkedKeys.length > 0) { // if (this.checkedKeys.length > 0) {
this.popupShow = false this.popupShow = false
// this.$emit('standSystemKeys', this.checkedKeys) // this.$emit('standSystemKeys', this.checkedKeys)
this.$emit('searchQuery', { checkedKeys: this.checkedKeys, textStatusName: this.textStatusName }) this.$emit('searchQuery', { checkedKeys: this.checkedKeys, textStatusName: this.textStatusName })
// } else { // } else {
// // this.$toast(''); // // this.$toast('');
@@ -83,7 +97,7 @@ export default {
}, },
handleCancel () { handleCancel () {
// if (this.initKeys.length > 0) { // if (this.initKeys.length > 0) {
this.hide() this.hide()
// } else { // } else {
// this.$message.error('') // this.$message.error('')
// this.open() // this.open()
@@ -96,7 +110,7 @@ export default {
}, },
async getData () { async getData () {
let url = this.api.getListStand let url = this.api.getListStand
let query = { sorDivide: 'INLAND_STAND' } const query = { sorDivide: 'INLAND_STAND' }
switch (this.$route.query.standType) { switch (this.$route.query.standType) {
case 'INLAND': case 'INLAND':
break break
@@ -108,9 +122,9 @@ export default {
query.sorDivide = 'BUSINESS_STAND' query.sorDivide = 'BUSINESS_STAND'
break break
} }
//INLAND FOREIGN bussstand // INLAND FOREIGN bussstand
const res = await this.$http._getData(url,query,{ const res = await this.$http._getData(url, query, {
_this:this, _this: this,
loading: 'loading' loading: 'loading'
}) })
if (res.ok && res.data) { if (res.ok && res.data) {
+1 -1
View File
@@ -102,7 +102,7 @@ export default {
if (page) { if (page) {
this.searchQuery.page = page this.searchQuery.page = page
} }
this.$http._postData(this.url.searchSarBykey, this.searchQuery, config).then(res => { this.$http._post(this.url.searchSarBykey, this.searchQuery, config).then(res => {
if (res.ok) { if (res.ok) {
this.total = res.data.count this.total = res.data.count
if (this.searchQuery.page === 1) { if (this.searchQuery.page === 1) {
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -133,10 +133,10 @@ export default {
loading: true, loading: true,
page: 1, page: 1,
standList: [], standList: [],
standStateOptions: [], // standStateOptions: [], //
lawsTextStateOptions: [], // lawsTextStateOptions: [], //
standNatureOptions: [], standNatureOptions: [],
textStatusMap: {},// idname textStatusMap: {},// idname
natureMap:{}, natureMap:{},
lawsMap:{}, lawsMap:{},
textStatus: '现行有效', textStatus: '现行有效',
@@ -587,7 +587,7 @@ export default {
back(){ back(){
this.$router.push('/phoneHome') this.$router.push('/phoneHome')
}, },
//idname //idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label); this.$set(this.textStatusMap, item.value, item.label);
@@ -625,8 +625,8 @@ export default {
this.$http.get("sys/dictype/getDicTypeListCode", {}, { this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this _this: this
}, res => { }, res => {
this.standStateOptions = res.data.WBZTCLASS; // this.standStateOptions = res.data.WBZTCLASS; //
this.lawsTextStateOptions = res.data.lawsTextState // this.lawsTextStateOptions = res.data.lawsTextState //
console.log(this.lawsTextStateOptions); console.log(this.lawsTextStateOptions);
this.standNatureOptions = res.data.SARPROPERTY // this.standNatureOptions = res.data.SARPROPERTY //
this.setMap(this.standStateOptions); this.setMap(this.standStateOptions);
+84 -75
View File
@@ -8,7 +8,7 @@
<div style="display: flex;align-items: center"> <div style="display: flex;align-items: center">
<van-search <van-search
style="flex: 1;padding-right: 0" style="flex: 1;padding-right: 0"
v-model="searchQuery.selectValue" v-model="searchQuery.findValue"
show-action show-action
placeholder="请输入搜索关键词" placeholder="请输入搜索关键词"
@search="onSearch" @search="onSearch"
@@ -40,60 +40,44 @@
:key="item.id" :key="item.id"
@click="jumpDetails(item)"> @click="jumpDetails(item)">
<div class="standTitle"> <div class="standTitle">
<div v-if="$route.query.standType === 'POLICY'" class="title">{{item.lawsNumber}}</div> <div class="title" v-if="$route.query.standType === 'INLAND' || $route.query.standType === 'FOREIGN'">{{ convertTitle(item.standSort, item.standNumber, item.standYear) }}</div>
<div v-else class="title">{{ item.stand_code || item.numbershow }}</div> <div class="title" v-else-if="$route.query.standType === 'bussstand'">{{ item.standCode || convertTitle(item.standSort, item.standNumber, item.standYear) }}</div>
</div> </div>
<div class="standContent"> <div class="standContent">
<div class="standState">{{(item.nameshow && item.nameshow !== '') ? item.nameshow : (item.standName && item.standName !== '') ? item.standName : item.standEnName }}</div> <div class="standState">{{ item.standName || item.standEnName || '-' }}</div>
<div class="standSubTime" v-if="$route.query.standType === 'POLICY'">标准状态:
<span v-if="lawsMap[item.lawsTextState] === '作废'" <template>
style="color: #F56C6C; padding-left: 5px;"> <div class="standSubTime" v-if="$route.query.standType === 'INLAND' || $route.query.standType === 'FOREIGN'">
{{ lawsMap[item.lawsTextState] }} 标准状态:
</span> <span v-if="item.standTextStatusShow === '废止'" style="color: #F56C6C; padding-left: 5px;">{{ item.standTextStatusShow }}</span>
<span v-else-if="lawsMap[item.lawsTextState] === '参考' || lawsMap[item.lawsTextState] === '被代替' || lawsMap[item.lawsTextState] === '现行有效'" <span v-else-if="item.standTextStatusShow === '参考' || item.standTextStatusShow === '被代替'" style="color: #35720B; padding-left: 5px;">{{ item.standTextStatusShow }}</span>
style="color: #35720B; padding-left: 5px;"> <span v-else style=" padding-left: 5px;">{{ item.standTextStatusShow }}</span>
{{ lawsMap[item.lawsTextState] }} </div>
</span>
<span v-else style=" padding-left: 5px;"> <div class="standSubTime" v-else-if="$route.query.standType === 'bussstand'">
{{ lawsMap[item.lawsTextState] }} 标准状态:
</span> <span v-if="item.standStatusShow === '废止'" style="color: #F56C6C; padding-left: 5px;">{{ item.standStatusShow }}</span>
</div> <span v-else-if="item.standStatusShow === '参考' || item.standStatusShow === '被代替'" style="color: #35720B; padding-left: 5px;">{{ item.standStatusShow }}</span>
<div class="standSubTime" v-else-if="$route.query.standType === 'bussstand'" >标准状态: <span v-else style=" padding-left: 5px;">{{ item.standStatusShow }}</span>
<span v-if="item.textStatusBussName === '废止'" style="color: #F56C6C; padding-left: 5px;"> {{ item.textStatusBussName }} </span> </div>
<span v-else-if="item.textStatusBussName === '参考' || item.textStatusBussName === '被代替'" style="color: #35720B; padding-left: 5px;">{{ item.textStatusBussName }}</span> </template>
<span v-else style=" padding-left: 5px;">{{ item.textStatusBussName }}</span>
</div>
<div class="standSubTime" v-else >标准状态:
<span v-if="textStatusMap[item.textStatus] === '废止'"
style="color: #F56C6C; padding-left: 5px;">
{{ textStatusMap[item.textStatus] }}
</span>
<span v-else-if="textStatusMap[item.textStatus] === '参考' || textStatusMap[item.textStatus] === '被代替'"
style="color: #35720B; padding-left: 5px;">
{{ textStatusMap[item.textStatus] }}
</span>
<span v-else style=" padding-left: 5px;">
{{ textStatusMap[item.textStatus] }}
</span>
</div>
</div> </div>
<div class="content-time"> <div class="content-time">
<div style="margin-top: 10px"> <div style="width: 50%">发布日期: <span style="padding-left: 5px;">{{ convertTime(item.issueTime) }}</span></div>
<span style="padding-left: 10px;min-width: 200px;"> <template>
发布日期 {{ item.issueTime ? (item.issueTime !== '' ? $moment(item.issueTime).format("YYYY-MM-DD") : " ") : " " }} <div v-if="$route.query.standType === 'INLAND' || $route.query.standType === 'FOREIGN'"
</span> style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.ssrq) }}</span></div>
<span style="padding-left: 15px;" v-if="$route.query.standType === 'POLICY'">实施日期 {{item.XCXSSRQLAWS}}</span> <div v-else-if="$route.query.standType === 'bussstand'"
<span style="padding-left: 15px;" v-else-if="$route.query.standType === 'bussstand'">实施日期 {{item.putTime}}</span> style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.putTime) }}</span></div>
<span style="padding-left: 15px;" v-else>实施日期 {{item.SSRQ}}</span> </template>
</div>
</div> </div>
</div> </div>
</div> </div>
</PhoneScroll> </PhoneScroll>
<standardSystemPopup :init-keys="searchQuery.standSystem" @searchQuery="setSearchQuery" ref="standardSystemPopupRef" /> <standardSystemPopup :init-keys="convertId(searchQuery.menuId)" @searchQuery="setSearchQuery" ref="standardSystemPopupRef" />
</div> </div>
</template> </template>
@@ -108,23 +92,25 @@ export default {
standardSystemPopup, standardSystemPopup,
}, },
data () { data () {
const searchQuery = {
standType: 'INLAND',
findValue: '',
textState: '全部',
menuId: '',
page: 1,
pageSize: 20
}
return { return {
titleName: '', titleName: '',
searchQuery: { searchQuery,
selectIndex: 'stand', initSearQuery: { ...searchQuery },
selectValue: '',
standSystem: [],
textStatus: '全部',
selectType: 'titleSearch',
standType: 'INLAND',
page: 1,
pageSize: 20
},
total: 0, total: 0,
loading: false, loading: false,
list: [], list: [],
url: { url: {
searchSarBykey: 'search/searchCenter/searchSarBykey' searchSarBykey: 'search/searchCenter/searchSarBykey',
getSarStandardsInfoPageForPhone: 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageForPhone',
getSarBussionStandPageForPhone: 'lawss/sarBussionessStand/getSarBussionStandPageForPhone'
}, },
textStatusMap: {}, textStatusMap: {},
natureMap:{}, natureMap:{},
@@ -145,12 +131,9 @@ export default {
case 'bussstand': case 'bussstand':
vm.titleName = '企业标准' vm.titleName = '企业标准'
break break
case 'POLICY':
vm.titleName = '国内外政策库'
break
} }
vm.searchQuery.page = 1 vm.searchQuery = { ...vm.initSearQuery }
vm.$refs.standardSystemPopupRef.popupShow = true vm.$refs.standardSystemPopupRef.initOpen()
vm.$refs.scroll.scrollTo(0, 0) vm.$refs.scroll.scrollTo(0, 0)
vm.getData() vm.getData()
} }
@@ -181,6 +164,31 @@ export default {
// this.getData() // this.getData()
}, },
methods: { methods: {
convertTitle (standSort, standName, standYear) {
if (!standYear || standYear === '') {
return standSort + ' ' + standName
} else {
return standSort + ' ' + standName + '-' + standYear
}
},
convertTime (time) {
if (!time || time === '') {
return '-'
} else {
const timeArr = time.split(',')
if (timeArr.length === 1) {
return this.$moment(time).format('YYYY-MM-DD')
} else {
return this.$moment(timeArr[0]).format('YYYY-MM-DD') + ',...'
}
}
},
convertId (idArr) {
if (idArr === '') {
return []
}
return idArr.split(',')
},
onSearch () { onSearch () {
this.list = [] this.list = []
// this.searchQuery.page = 1 // this.searchQuery.page = 1
@@ -191,21 +199,14 @@ export default {
getData (page) { getData (page) {
switch (this.$route.query.standType) { switch (this.$route.query.standType) {
case 'INLAND': case 'INLAND':
this.searchQuery.selectIndex = 'stand'
this.searchQuery.standType = 'INLAND' this.searchQuery.standType = 'INLAND'
break break
case 'FOREIGN': case 'FOREIGN':
this.searchQuery.selectIndex = 'stand'
this.searchQuery.standType = 'FOREIGN' this.searchQuery.standType = 'FOREIGN'
break break
case 'bussstand': case 'bussstand':
this.searchQuery.selectIndex = 'bussstand'
this.searchQuery.standType = 'bussstand' this.searchQuery.standType = 'bussstand'
break break
case 'POLICY':
this.searchQuery.selectIndex = 'laws'
this.searchQuery.standType = 'laws'
break
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const config = { const config = {
@@ -215,7 +216,11 @@ export default {
if (page) { if (page) {
this.searchQuery.page = page this.searchQuery.page = page
} }
this.$http._postData("search/searchCenter/searchSarBykey", this.searchQuery, config).then(res => { let url = this.url.getSarStandardsInfoPageForPhone
if (this.$route.query.standType === 'bussstand') {
url = this.url.getSarBussionStandPageForPhone
}
this.$http._getData(url, this.searchQuery, config).then(res => {
if (res.ok) { if (res.ok) {
this.total = res.data.count this.total = res.data.count
@@ -234,16 +239,18 @@ export default {
this.$refs.standardSystemPopupRef.open() this.$refs.standardSystemPopupRef.open()
}, },
setSearchQuery (searchQuery) { setSearchQuery (searchQuery) {
this.searchQuery.standSystem = searchQuery.checkedKeys this.searchQuery.menuId = searchQuery.checkedKeys.join(',')
this.searchQuery.textStatus = searchQuery.textStatusName this.searchQuery.textState = searchQuery.textStatusName
this.onSearch() this.onSearch()
}, },
getDicTypeListCode () { getDicTypeListCode () {
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => { this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
this.dict = {...res.data} if (res.ok) {
this.setMap(this.dict.WBZTCLASS, 'textStatusMap') this.dict = {...res.data}
this.setMap(this.dict.lawsTextState, 'lawsMap') this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
this.setMap(this.dict.SARPROPERTY, 'natureMap') this.setMap(this.dict.lawsTextState, 'lawsMap')
this.setMap(this.dict.SARPROPERTY, 'natureMap')
}
}) })
}, },
setMap(data, key) { setMap(data, key) {
@@ -367,8 +374,10 @@ export default {
font-size: 3.4vw; font-size: 3.4vw;
width: 100%; width: 100%;
height: 35px; height: 35px;
margin-top: 5px; line-height: 35px;
padding: 0 10px;
border-top: 1px solid #cccccc; border-top: 1px solid #cccccc;
display: flex;
} }
} }
.card-content:first-child{ .card-content:first-child{
+3 -3
View File
@@ -219,7 +219,7 @@
</template> </template>
<el-row :gutter="5" class="half"> <el-row :gutter="5" class="half">
<el-col :span="8"> <el-col :span="8">
<label title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">文本状态</label> <label title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">标准状态</label>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span> <span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
@@ -1978,7 +1978,7 @@ export default {
FormatDate(date) { FormatDate(date) {
return moment(date).format('YYYY-MM-DD'); return moment(date).format('YYYY-MM-DD');
}, },
// idname // idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label) this.$set(this.textStatusMap, item.value, item.label)
@@ -3445,7 +3445,7 @@ export default {
this.emergyKindOptions = res.data.ENERGYTYPES this.emergyKindOptions = res.data.ENERGYTYPES
this.requestOptions = res.data.REQUESTTYPE this.requestOptions = res.data.REQUESTTYPE
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ //
this.setMap(res.data.WBZTCLASS) // this.setMap(res.data.WBZTCLASS) //
this.setMap(res.data.SARPROPERTY) // this.setMap(res.data.SARPROPERTY) //
}, e => { }, e => {
}) })
+4 -4
View File
@@ -135,8 +135,8 @@ export default {
standList: [], standList: [],
standardReleaseList: [], standardReleaseList: [],
page: 1, page: 1,
standStateOptions: [], // standStateOptions: [], //
textStatusMap: {},// idname textStatusMap: {},// idname
loading: true, loading: true,
scrolled: "", scrolled: "",
moreFlag: false, moreFlag: false,
@@ -310,7 +310,7 @@ export default {
console.log(e); console.log(e);
}); });
}, },
//idname //idname
setMap(data) { setMap(data) {
data.forEach(item => { data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label); this.$set(this.textStatusMap, item.value, item.label);
@@ -336,7 +336,7 @@ export default {
this.$http.get("sys/dictype/getDicTypeListCode", {}, { this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this _this: this
}, res => { }, res => {
this.standStateOptions = res.data.WBZTCLASS; // this.standStateOptions = res.data.WBZTCLASS; //
this.setMap(this.standStateOptions); this.setMap(this.standStateOptions);
}); });
} }
@@ -0,0 +1,146 @@
<template>
<PhoneScroll
height="calc(100vh - 101px)"
:data="list"
:page="searchQuery.page"
:pageSize="searchQuery.size"
:total="total"
:loading="loading"
pullUpLoad
pullDownRefresh
:getDataHandler="getData">
<div style="padding-top: 10px">
<div class="card-content" v-for="item in list" :key="item.id" @click="jumpDetails(item)">
<div class="standTitle">
<div class="title">{{ item.cid }}</div>
</div>
<div class="standContent">
<div class="standState">{{ item.standardName }}</div>
<div class="standState">
标准/政策: <span style="color: #35720B; padding-left: 5px;">{{ item.category }}</span>
</div>
</div>
<div class="timeFooter">
<div style="width: 50%">开始日期: <span style="padding-left: 5px;">{{ convertTime(item.startTime) }}</span></div>
<div style="width: 50%">结束日期: <span style="padding-left: 5px;">{{ convertTime(item.endTime) }}</span></div>
</div>
</div>
</div>
</PhoneScroll>
</template>
<script>
import PhoneScroll from "@/components/hzwlComponents/phone/PhoneScroll";
export default {
name: "SolicitOpinions",
components: {
PhoneScroll
},
data() {
return {
searchQuery: {
page: 1,
size: 10,
},
total: 0,
list: [],
loading: false,
}
},
created() {
this.getData()
},
methods: {
convertTime (time) {
return time !== '' ? this.$moment(time).format('YYYY-MM-DD') : '-'
},
getData (page) {
return new Promise((resolve, reject) => {
const config = {
_this: this,
loading: 'loading'
}
if (page) {
this.searchQuery.page = page
}
this.$http._getData("slrs/sar-public-idea/SelectAllPage", this.searchQuery, config).then(res => {
if (res.ok) {
this.total = res.data.total
if (this.searchQuery.page === 1) {
this.list = res.data.records
} else {
this.list = [...this.list, ...res.data.records]
}
}
}).finally(() => {
resolve()
})
})
},
jumpDetails () {
}
}
}
</script>
<style scoped lang="less">
.scroll-wrapper {
height: calc(100vh - 131px);
overflow: hidden;
position: relative;
}
.card-content {
width: 95%;
height: auto;
margin: 10px;
background-color: #FFFFFF;
border-radius: 5px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.standTitle {
.title {
font-size: 3.4vw;
color: #333333;
font-weight: 600;
height: auto;
line-height: 20px;
padding: 5px 10px;
text-align: left;
border-bottom: 1px solid #cccccc;
}
}
.standContent {
font-size: 3.4vw;
color: #555555;
font-weight: 450;
margin-top: 5px;
.standState {
padding-left: 10px;
//height: 35px;
line-height: 25px;
}
}
.timeFooter {
font-size: 3.4vw;
padding: 0 10px;
height: 35px;
line-height: 35px;
border-top: 1px solid #cccccc;
display: flex;
}
}
.card-content:first-child {
margin-top: 0;
}
</style>
@@ -0,0 +1,199 @@
<template>
<PhoneScroll
height="calc(100vh - 101px)"
:data="list"
:page="searchQuery.page"
:pageSize="searchQuery.pageSize"
:total="total"
:loading="loading"
pullUpLoad
pullDownRefresh
:getDataHandler="getData"
>
<div style="padding-top: 10px">
<div v-for="item in list" :key="item.id" class="card-content" @click="jumpDetails(item)">
<div class="standTitle">
<div class="title">{{ item.standard || '-' }}</div>
</div>
<div class="standContent">
<div class="standState">{{ item.standardName || '-' }}</div>
<div class="standState">
标准状态: <span style="color: #35720B; padding-left: 5px;">{{ textStateMap[item.textState] || '-' }}</span>
</div>
</div>
<div class="timeFooter">
<div style="width: 50%">发布日期: <span style="padding-left: 5px;">{{ convertTime(item.releaseDate) }}</span></div>
<div style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.putTime) }}</span></div>
</div>
</div>
</div>
</PhoneScroll>
</template>
<script>
import PhoneScroll from '@/components/hzwlComponents/phone/PhoneScroll';
export default {
name: 'Standard',
components: {
PhoneScroll
},
props: {
messageType: {
type: String,
default: 'ZYBZFG'
}
},
data () {
return {
searchQuery: {
page: 1,
pageSize: 10,
messageType: this.messageType
},
total: 0,
list: [],
loading: false,
dict: {},
textStateMap: {}
}
},
created () {
this.getDicTypeListCode()
this.getData()
},
methods: {
convertTime (time) {
// return (time && time !== '') ? this.$moment(time).format('YYYY-MM-DD') : '-'
if (!time || time === '') {
return '-'
} else {
const timeArr = time.split(',')
if (timeArr.length === 1) {
return this.$moment(time).format('YYYY-MM-DD')
} else {
return this.$moment(timeArr[0]).format('YYYY-MM-DD') + ',...'
}
}
},
getData (page) {
return new Promise((resolve, reject) => {
const config = {
_this: this,
loading: 'loading'
}
if (page) {
this.searchQuery.page = page
}
this.$http._getData('lawss/NewsFeed/getNewsFeed', this.searchQuery, config).then(res => {
if (res.ok) {
this.total = res.data.total
if (this.searchQuery.page === 1) {
this.list = res.data.records
} else {
this.list = [ ...this.list, ...res.data.records ]
}
}
}).finally(() => {
resolve()
})
})
},
getDicTypeListCode () {
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
this.dict = { ...res.data }
// WBZTCLASS TEXTSTATUSBUSS
this.setMap([ ...this.dict.WBZTCLASS, ...this.dict.TEXTSTATUSBUSS ], 'textStateMap')
})
},
setMap (data, key) {
data.forEach(item => {
this.$set(this[key], item.value, item.label);
});
},
jumpDetails (item) {
let pageType = ''
switch (item.resourceType) {
case 'INLAND':
pageType = 'INLAND_STAND'
break
case 'FOREIGN':
pageType = 'FOREIGN_STAND'
break
case 'BUSINESS':
pageType = 'BUSS'
break
}
this.$router.push({
name: 'domesticDetails',
query: {
id: item.standardId,
pageType
}
});
}
}
}
</script>
<style scoped lang="less">
.root {
height: 100%;
}
.scroll-wrapper {
height: calc(100vh - 131px);
overflow: hidden;
position: relative;
}
.card-content {
width: 95%;
height: auto;
margin: 10px;
background-color: #FFFFFF;
border-radius: 5px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.standTitle {
.title {
font-size: 3.4vw;
color: #333333;
font-weight: 600;
height: auto;
line-height: 20px;
padding: 5px 10px;
text-align: left;
border-bottom: 1px solid #cccccc;
}
}
.standContent {
font-size: 3.4vw;
color: #555555;
font-weight: 450;
margin-top: 5px;
.standState {
padding-left: 10px;
//height: 35px;
line-height: 25px;
}
}
.timeFooter {
font-size: 3.4vw;
padding: 0 10px;
height: 35px;
line-height: 35px;
border-top: 1px solid #cccccc;
display: flex;
}
}
.card-content:first-child {
margin-top: 0;
}
</style>
@@ -1,30 +1,40 @@
<template> <template>
<van-popup v-model="popupShow" <van-popup
position="right" v-model="popupShow"
:style="{ height: '100%', width: '90%' }" position="right"
round :style="{ height: '100%', width: '70%' }"
:close-on-click-overlay="false" round
@click-overlay="handleCancel" :close-on-click-overlay="false"
get-container="body"> get-container="body"
@click-overlay="handleCancel"
>
<h3 class="popup-title"> <h3 class="popup-title">
<span>体系结构</span> <span>体系结构</span>
<van-icon name="cross" size="22px" @click="handleCancel" /> <van-icon name="cross" size="22px" @click="handleCancel" />
</h3> </h3>
<div class="popup-main"> <div class="popup-main">
<folderTree ref="folderTreeRef" @checked="getChecked"></folderTree> <folderTree ref="folderTreeRef" @checked="getChecked" />
</div> </div>
<div class="popup-footer"> <div class="popup-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleReset">重置</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleReset">重置</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleCancel">取消</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleCancel">取消</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="handleOk">确定</el-button> <el-button
class="common-button-primary"
size="mini"
icon="el-icon-check"
type="primary"
@click="handleOk"
>
确定
</el-button>
</div> </div>
</van-popup> </van-popup>
</template> </template>
<script> <script>
import folderTree from "./folderTree"; import folderTree from './folderTree';
export default { export default {
name: "folderPopup", name: 'FolderPopup',
components: { components: {
folderTree, folderTree,
}, },
+21 -12
View File
@@ -6,36 +6,45 @@
<span class="left-title" @click="back"> < </span> <span class="left-title" @click="back"> < </span>
<span class="right-title">标准化动态</span> <span class="right-title">标准化动态</span>
</div> </div>
<van-tabs v-model="active"> <van-tabs v-model="active" :ellipsis="false" swipeable>
<van-tab name="ZYBZFG" title="在研标准入库"> <van-tab name="UnderResearchStandards" title="在研标准入库">
<UnderResearchStandards></UnderResearchStandards> <Standard message-type="ZYBZFG"></Standard>
</van-tab> </van-tab>
<van-tab name="GNWBZFG" title="标准法规入库"> <van-tab name="Domestic" title="国内法规入库">
<StandardRegulations></StandardRegulations> <Standard message-type="GNBZFG"></Standard>
</van-tab> </van-tab>
<van-tab name="ZLZX" title="资料中心"> <van-tab name="Abroad" title="国外法规入库">
<Standard message-type="GWBZFG"></Standard>
</van-tab>
<van-tab name="DataCenter" title="资料中心">
<DataCenter></DataCenter> <DataCenter></DataCenter>
</van-tab> </van-tab>
<!--<van-tab name="SolicitOpinions" title="标准征求意见">-->
<!-- <SolicitOpinions></SolicitOpinions>-->
<!--</van-tab>-->
<van-tab name="EnterpriseStandard" title="企业标准发布">
<Standard message-type="QYBZFB"></Standard>
</van-tab>
</van-tabs> </van-tabs>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import UnderResearchStandards from "./components/UnderResearchStandards"; import Standard from "./components/Standard";
import StandardRegulations from "./components/StandardRegulations"; import SolicitOpinions from "./components/SolicitOpinions";
import DataCenter from "./components/DataCenter"; import DataCenter from "./components/DataCenter";
export default { export default {
name: "standDynamics", name: "standDynamics",
components: { components: {
UnderResearchStandards, Standard,
StandardRegulations, SolicitOpinions,
DataCenter DataCenter
}, },
data() { data() {
return { return {
active: "ZYBZFG", active: "UnderResearchStandards",
isShow: true isShow: true
}; };
}, },
@@ -43,7 +52,7 @@ export default {
next(vm => { next(vm => {
if (from.name === 'phoneHome') { if (from.name === 'phoneHome') {
// //
vm.active = "ZYBZFG"; vm.active = "UnderResearchStandards";
vm.isShow = false vm.isShow = false
vm.$nextTick(() => { vm.$nextTick(() => {
vm.isShow = true vm.isShow = true
File diff suppressed because it is too large Load Diff
@@ -137,7 +137,7 @@
> >
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination style="position: relative" :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination> <pagination style="position: relative" :auto-size="true" :page-size="searchForm.pageSize" :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<loading :loading="loading">数据获取中...</loading> <loading :loading="loading">数据获取中...</loading>
</div> </div>
<div slot="footer"> <div slot="footer">
@@ -163,7 +163,10 @@ export default {
] ]
return { return {
show: false, show: false,
searchForm: {}, searchForm: {
pageSize:20,
page:1
},
api: { api: {
page: 'lawss/sarLawsTopic/page' page: 'lawss/sarLawsTopic/page'
}, },
@@ -177,7 +180,7 @@ export default {
}, },
methods: { methods: {
async getData () { async getData () {
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent this.searchForm.pageSize = this.searchForm.pageSize
this.searchForm.page = this.searchForm.page || 1 this.searchForm.page = this.searchForm.page || 1
let params = { ...this.searchForm } let params = { ...this.searchForm }
const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'}) const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'})
@@ -187,7 +190,10 @@ export default {
} }
}, },
open () { open () {
this.$set(this, 'searchForm', {}) this.$set(this, 'searchForm', {
pageSize:20,
page:1
})
this.getData() this.getData()
this.show = true this.show = true
}, },
@@ -1,87 +1,101 @@
<template> <template>
<el-drawer :title="title" <el-drawer
:visible="showDrawer" :title="title"
:wrapperClosable="false" :visible="showDrawer"
@close="onClose" :wrapperClosable="false"
size="1050px"> size="1050px"
@close="onClose"
>
<div class="drawer-content"> <div class="drawer-content">
<el-form <el-form
v-if="showDrawer && reloadForm" v-if="showDrawer && reloadForm"
ref="formRef" ref="formRef"
:model="form" :model="form"
:rules="rules" :rules="rules"
class="label-input-form" class="label-input-form"
> >
<el-col :span="24"><div class="divider-line">基础信息</div></el-col> <el-col :span="24"><div class="divider-line">基础信息</div></el-col>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="会议名称" prop="meetingName" label-width="150px" class="add-form-item"> <el-form-item label="会议名称" prop="meetingName" label-width="150px" class="add-form-item">
<el-input v-model="form.meetingName" <el-input
placeholder="请输入会议名称" v-model="form.meetingName"
clearable></el-input> placeholder="请输入会议名称"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="课题名称" prop="topicName" label-width="150px" class="add-form-item"> <el-form-item label="课题名称" prop="topicName" label-width="150px" class="add-form-item">
<el-input v-model="form.topicName" <el-input
placeholder="请输入课题名称" v-model="form.topicName"
clearable></el-input> placeholder="请输入课题名称"
clearable
/>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="position:absolute;top: 10px;right: 0;" style="position:absolute;top: 10px;right: 0;"
@click="handleGetTopic" @click="handleGetTopic"
>调取课题</el-button> >
调取课题
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="会议主办单位" prop="meetingOrganizer" label-width="150px" class="add-form-item"> <el-form-item label="会议主办单位" prop="meetingOrganizer" label-width="150px" class="add-form-item">
<el-input v-model="form.meetingOrganizer" <el-input
placeholder="请输入会议主办单位" v-model="form.meetingOrganizer"
clearable></el-input> placeholder="请输入会议主办单位"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<CustomDatePick <CustomDatePick
:config="{ v-model="form.meetingTime"
attrName: '会议时间', :config="{
attrField: 'meetingTime' attrName: '会议时间',
}" attrField: 'meetingTime'
v-model="form.meetingTime" }"
></CustomDatePick> />
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="会议地点" prop="meetingAddress" label-width="150px" class="add-form-item"> <el-form-item label="会议地点" prop="meetingAddress" label-width="150px" class="add-form-item">
<el-input v-model="form.meetingAddress" <el-input
placeholder="请输入会议地点" v-model="form.meetingAddress"
clearable></el-input> placeholder="请输入会议地点"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="参会人员" prop="participants" label-width="150px" class="add-form-item"> <el-form-item label="参会人员" prop="participants" label-width="150px" class="add-form-item">
<el-input v-model="form.participants" <el-input
placeholder="请输入参会人员" v-model="form.participants"
clearable></el-input> placeholder="请输入参会人员"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<custom-file <custom-file
:config="{ v-model="form.meetingMinutes"
attrName: '会议纪要', :config="{
attrField: 'meetingMinutes' attrName: '会议纪要',
}" attrField: 'meetingMinutes'
v-model="form.meetingMinutes" }"
></custom-file> />
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<CustomTextarea <CustomTextarea
:config="{ v-model="form.meetingContent"
:config="{
attrName: '会议主要内容', attrName: '会议主要内容',
attrField: 'meetingContent' attrField: 'meetingContent'
}" }"
v-model="form.meetingContent" />
></CustomTextarea>
</el-col> </el-col>
</el-row> </el-row>
<el-col :span="24"><div class="divider-line">会议分类</div></el-col> <el-col :span="24"><div class="divider-line">会议分类</div></el-col>
@@ -89,13 +103,16 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="1级会议分类" prop="firstMeetingType" label-width="150px" class="add-form-item"> <el-form-item label="1级会议分类" prop="firstMeetingType" label-width="150px" class="add-form-item">
<template slot="label">1级会议分类</template> <template slot="label">1级会议分类</template>
<el-select v-model="form.firstMeetingType" <el-select
placeholder="请选择1级会议分类" v-model="form.firstMeetingType"
clearable> placeholder="请选择1级会议分类"
clearable
>
<el-option <el-option
v-for="opt in dict.firstMeetingType" v-for="opt in dict.firstMeetingType"
:key="opt.value" :key="opt.value"
:value="opt.value === undefined ? '' :opt.value" :label="opt.label" :value="opt.value === undefined ? '' :opt.value"
:label="opt.label"
> >
{{ opt.label }} {{ opt.label }}
</el-option> </el-option>
@@ -105,13 +122,16 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="2级会议分类" prop="secondMeetingType" label-width="150px" class="add-form-item"> <el-form-item label="2级会议分类" prop="secondMeetingType" label-width="150px" class="add-form-item">
<template slot="label">2级会议分类</template> <template slot="label">2级会议分类</template>
<el-select v-model="form.secondMeetingType" <el-select
placeholder="请选择2级会议分类" v-model="form.secondMeetingType"
clearable> placeholder="请选择2级会议分类"
clearable
>
<el-option <el-option
v-for="opt in dict.secondMeetingType" v-for="opt in dict.secondMeetingType"
:key="opt.value" :key="opt.value"
:value="opt.value === undefined ? '' :opt.value" :label="opt.label" :value="opt.value === undefined ? '' :opt.value"
:label="opt.label"
> >
{{ opt.label }} {{ opt.label }}
</el-option> </el-option>
@@ -121,65 +141,115 @@
</el-row> </el-row>
<el-row> <el-row>
<template v-for="(item, index) in form.meetingTopicList"> <template v-for="(item, index) in form.meetingTopicList">
<el-col :span="24"> <el-col :span="24">
<div class="divider-line"> <div class="divider-line" style="display: flex;align-items: center;justify-content: space-between">
会议议题 <div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addMeetingTopic" 会议议题{{ index + 1 }}
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'visible' : 'collapse'}"></el-button> <el-button
<el-button type="primary" size="mini" icon="el-icon-minus" @click="removeMeetingTopic(index)" style="margin-left: 10px"
:style="{visibility: (form.meetingTopicList.length < 2 && index === 0) ? 'collapse' : 'visible'}"></el-button> type="primary"
</div> size="mini"
</el-col> icon="el-icon-plus"
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'visible' : 'collapse'}"
@click="addMeetingTopic"
/>
<el-button
type="primary"
size="mini"
icon="el-icon-minus"
:style="{visibility: (form.meetingTopicList.length < 2 && index === 0) ? 'collapse' : 'visible'}"
@click="removeMeetingTopic(index)"
/>
</div>
<div style="display: flex;align-items: center">
<i
class="el-icon-bottom move-icon"
style="transform: rotate(180deg)"
:style="{visibility: (index === 0) ? 'collapse' : 'visible'}"
@click="moveOrder(index, 'top')"
/>
<i
class="el-icon-bottom move-icon"
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'collapse' : 'visible'}"
@click="moveOrder(index, 'bottom')"
/>
</div>
</div>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="议题名称" :prop="'meetingTopicList.' + index + '.agendaName'" :rules="rules.agendaName" label-width="150px" class="add-form-item"> <el-form-item
<el-input v-model="item.agendaName" label="议题名称"
placeholder="请输入议题名称" :prop="'meetingTopicList.' + index + '.agendaName'"
clearable></el-input> :rules="rules.agendaName"
label-width="150px"
class="add-form-item"
>
<el-input
v-model="item.agendaName"
placeholder="请输入议题名称"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<customFile <customFile
v-model="item.agendaMaterials"
:config="{ :config="{
attrName: '议题材料', attrName: '议题材料',
attrField: `meetingTopicList.${index}.agendaMaterials` attrField: `meetingTopicList.${index}.agendaMaterials`
}" }"
:rules="rules.agendaMaterials" :rules="rules.agendaMaterials"
v-model="item.agendaMaterials" />
></customFile>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="汇报人" :prop="'meetingTopicList.' + index + '.reporter'" :rules="rules.reporter" label-width="150px" class="add-form-item"> <el-form-item
<el-input v-model="item.reporter" label="汇报人"
placeholder="请输入汇报人" :prop="'meetingTopicList.' + index + '.reporter'"
clearable></el-input> :rules="rules.reporter"
label-width="150px"
class="add-form-item"
>
<el-input
v-model="item.reporter"
placeholder="请输入汇报人"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="汇报人单位" :prop="'meetingTopicList.' + index + '.reportingUnit'" :rules="rules.reportingUnit" label-width="150px" class="add-form-item"> <el-form-item
<el-input v-model="item.reportingUnit" label="汇报人单位"
placeholder="请输入汇报人单位" :prop="'meetingTopicList.' + index + '.reportingUnit'"
clearable></el-input> :rules="rules.reportingUnit"
label-width="150px"
class="add-form-item"
>
<el-input
v-model="item.reportingUnit"
placeholder="请输入汇报人单位"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<CustomTextarea <CustomTextarea
:config="{ v-model="item.agendaContent"
attrName: '议题主要内容', :config="{
attrField: `meetingTopicList.${index}.agendaContent` attrName: '议题主要内容',
}" attrField: `meetingTopicList.${index}.agendaContent`
:rules="rules.agendaContent" }"
v-model="item.agendaContent" :rules="rules.agendaContent"
></CustomTextarea> />
</el-col> </el-col>
</template> </template>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
<div class="drawer-footer"> <div class="drawer-footer">
<el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button> <el-button icon="el-icon-check" type="primary" :loading="isSubmit" @click="onSubmit">提交</el-button>
<el-button icon="el-icon-close" @click="onClose" :loading="isSubmit">取消</el-button> <el-button icon="el-icon-close" :loading="isSubmit" @click="onClose">取消</el-button>
</div> </div>
<TopicsTable ref="TopicsTableRef" @dragIn="dragIn"></TopicsTable> <TopicsTable ref="TopicsTableRef" @dragIn="dragIn" />
</el-drawer> </el-drawer>
</template> </template>
@@ -187,10 +257,10 @@
import CustomDatePick from '@/components/CustomFormComponents/DatePicker' import CustomDatePick from '@/components/CustomFormComponents/DatePicker'
import CustomFile from '@/components/CustomFormComponents/File' import CustomFile from '@/components/CustomFormComponents/File'
import CustomTextarea from '@/components/CustomFormComponents/Textarea' import CustomTextarea from '@/components/CustomFormComponents/Textarea'
import TopicsTable from "./TopicsTable"; import TopicsTable from './TopicsTable';
export default { export default {
name: "editDrawer", name: 'EditDrawer',
components: { components: {
CustomDatePick, CustomDatePick,
CustomFile, CustomFile,
@@ -213,52 +283,52 @@ export default {
type: Object type: Object
} }
}, },
data (){ data () {
const rules = { const rules = {
meetingName: [ meetingName: [
{required: true, type: 'string', message: '会议名称不能为空', trigger: 'change'}, { required: true, type: 'string', message: '会议名称不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '会议名称不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '会议名称不能超过500个字符', trigger: 'change' }
], ],
meetingOrganizer: [ meetingOrganizer: [
{required: true, type: 'string', message: '会议主办单位不能为空', trigger: 'change'}, { required: true, type: 'string', message: '会议主办单位不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '会议主办单位不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '会议主办单位不能超过500个字符', trigger: 'change' }
], ],
meetingTime: [ meetingTime: [
{required: true, message: '会议时间不能为空', trigger: 'change'} { required: true, message: '会议时间不能为空', trigger: 'change' }
], ],
meetingAddress: [ meetingAddress: [
{required: true, type: 'string', message: '会议地点不能为空', trigger: 'change'}, { required: true, type: 'string', message: '会议地点不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '会议地点不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '会议地点不能超过500个字符', trigger: 'change' }
], ],
participants: [ participants: [
{required: true, type: 'string', message: '参会人员不能为空', trigger: 'change'}, { required: true, type: 'string', message: '参会人员不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '参会人员不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '参会人员不能超过500个字符', trigger: 'change' }
], ],
meetingContent: [ meetingContent: [
{required: true, type: 'string', message: '会议主要内容不能为空', trigger: 'change'}, { required: true, type: 'string', message: '会议主要内容不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '会议主要内容不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '会议主要内容不能超过500个字符', trigger: 'change' }
], ],
firstMeetingType: [ firstMeetingType: [
{required: true, message: '1级会议分类不能为空', trigger: 'change'} { required: true, message: '1级会议分类不能为空', trigger: 'change' }
], ],
secondMeetingType: [ secondMeetingType: [
{required: true, message: '2级会议分类不能为空', trigger: 'change'} { required: true, message: '2级会议分类不能为空', trigger: 'change' }
], ],
agendaName: [ agendaName: [
{required: true, type: 'string', message: '议题名称不能为空', trigger: 'change'}, { required: true, type: 'string', message: '议题名称不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '议题名称不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '议题名称不能超过500个字符', trigger: 'change' }
], ],
reporter: [ reporter: [
{required: true, type: 'string', message: '汇报人不能为空', trigger: 'change'}, { required: true, type: 'string', message: '汇报人不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '汇报人不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '汇报人不能超过500个字符', trigger: 'change' }
], ],
reportingUnit: [ reportingUnit: [
{required: true, type: 'string', message: '汇报人单位不能为空', trigger: 'change'}, { required: true, type: 'string', message: '汇报人单位不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '汇报人单位不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '汇报人单位不能超过500个字符', trigger: 'change' }
], ],
agendaContent: [ agendaContent: [
{required: true, type: 'string', message: '议题主要内容不能为空', trigger: 'change'}, { required: true, type: 'string', message: '议题主要内容不能为空', trigger: 'change' },
{type: 'string', max: 500, message: '议题主要内容不能超过500个字符', trigger: 'change'} { type: 'string', max: 500, message: '议题主要内容不能超过500个字符', trigger: 'change' }
], ],
} }
const form = { const form = {
@@ -288,7 +358,7 @@ export default {
reloadForm: true, reloadForm: true,
api: { api: {
add: 'lawss/insideOutsideMeeting/addMeetingInfo', add: 'lawss/insideOutsideMeeting/addMeetingInfo',
delete :'lawss/insideOutsideMeeting/deleteMeetingInfo', delete: 'lawss/insideOutsideMeeting/deleteMeetingInfo',
update: 'lawss/insideOutsideMeeting/updateMeetingInfo' update: 'lawss/insideOutsideMeeting/updateMeetingInfo'
} }
} }
@@ -311,10 +381,10 @@ export default {
reportingUnit: '', reportingUnit: '',
agendaContent: '' agendaContent: ''
} }
this.form.meetingTopicList = [...this.form.meetingTopicList, meetingTopicItem] this.form.meetingTopicList = [ ...this.form.meetingTopicList, meetingTopicItem ]
}, },
removeMeetingTopic (index) { removeMeetingTopic (index) {
let res = [] const res = []
this.form.meetingTopicList.forEach((item, i) => { this.form.meetingTopicList.forEach((item, i) => {
if (i !== index) { if (i !== index) {
res.push(item) res.push(item)
@@ -353,6 +423,9 @@ export default {
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate(valid => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.form.meetingTopicList.forEach((item, index) => {
item.sort = index
})
if (this.title === '新增') { if (this.title === '新增') {
this.$http._postData(this.api.add, this.form).then(res => { this.$http._postData(this.api.add, this.form).then(res => {
if (res.ok) { if (res.ok) {
@@ -382,7 +455,21 @@ export default {
}, },
dragIn (val) { dragIn (val) {
this.$set(this.form, 'topicName', val.topicName) this.$set(this.form, 'topicName', val.topicName)
} },
moveOrder (index, type) {
if (type === 'top') {
const obj1 = this.form.meetingTopicList[index]
const obj2 = this.form.meetingTopicList[index - 1]
this.$set(this.form.meetingTopicList, index - 1, obj1)
this.$set(this.form.meetingTopicList, index, obj2)
}
if (type === 'bottom') {
const obj1 = this.form.meetingTopicList[index]
const obj2 = this.form.meetingTopicList[index + 1]
this.$set(this.form.meetingTopicList, index + 1, obj1)
this.$set(this.form.meetingTopicList, index, obj2)
}
},
} }
} }
</script> </script>
@@ -403,4 +490,11 @@ export default {
background: #fff; background: #fff;
z-index: 999; z-index: 999;
} }
.move-icon {
font-size: 20px;
cursor: pointer
}
.move-icon:hover {
color: #409EFF;
}
</style> </style>
+173 -137
View File
@@ -4,200 +4,236 @@
<div class="search-area"> <div class="search-area">
<el-form :modal="searchForm" :inline="true" class="label-input-form"> <el-form :modal="searchForm" :inline="true" class="label-input-form">
<el-formItem label="会议名称" prop="meetingName" class="search-item"> <el-formItem label="会议名称" prop="meetingName" class="search-item">
<el-input v-model="searchForm.meetingName" clearable placeholder="请输入会议名称" :maxlength="100" @keyup.enter.native="onSearch"/> <el-input
v-model="searchForm.meetingName"
clearable
placeholder="请输入会议名称"
:maxlength="100"
@keyup.enter.native="onSearch"
/>
</el-formItem> </el-formItem>
<el-formItem label="会议主办单位" prop="meetingOrganizer" class="search-item"> <el-formItem label="会议主办单位" prop="meetingOrganizer" class="search-item">
<el-input v-model="searchForm.meetingOrganizer" clearable placeholder="请输入会议主办单位" :maxlength="100" @keyup.enter.native="onSearch"/> <el-input
v-model="searchForm.meetingOrganizer"
clearable
placeholder="请输入会议主办单位"
:maxlength="100"
@keyup.enter.native="onSearch"
/>
</el-formItem> </el-formItem>
<el-formItem label="会议时间" class="search-item" style="margin-right: 0"> <el-formItem label="会议时间" class="search-item" style="margin-right: 0">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd" v-model="searchForm.meetingTimeBegin"
format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" format="yyyy-MM-dd"
clearable type="date"
:editable="true" clearable
placeholder="选择开始时间" :editable="true"
v-model="searchForm.meetingTimeBegin" placeholder="选择开始时间"
> />
</el-date-picker>
</el-formItem> </el-formItem>
<el-form-item label="至" label-width="25px" class="search-item"> <el-form-item label="至" label-width="25px" class="search-item">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd" v-model="searchForm.meetingTimeEnd"
format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" format="yyyy-MM-dd"
clearable type="date"
:editable="true" clearable
placeholder="选择结束时间" :editable="true"
v-model="searchForm.meetingTimeEnd" placeholder="选择结束时间"
> />
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
type="primary" v-btn-permission="'520f8524252e76e751a883a0a8a8615c'"
size="mini" type="primary"
class="common-button-primary" size="mini"
v-btn-permission="'520f8524252e76e751a883a0a8a8615c'" class="common-button-primary"
@click="onSearch"> @click="onSearch"
>
查询 查询
</el-button> </el-button>
<el-button <el-button
size="mini" v-btn-permission="'6a9483964b7b49dd473ef9e6fd4a649e'"
class="common-button-default" size="mini"
v-btn-permission="'6a9483964b7b49dd473ef9e6fd4a649e'" class="common-button-default"
@click="onClear">清空 @click="onClear"
>
清空
</el-button> </el-button>
<el-button <el-button
size="mini" v-btn-permission="'7f98cd8b424d6ad83b1770a6576993fc'"
type="primary" size="mini"
class="common-button-primary" type="primary"
v-btn-permission="'7f98cd8b424d6ad83b1770a6576993fc'" class="common-button-primary"
@click="advancedSearch">高级检索 @click="advancedSearch"
>
高级检索
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<!--按钮区--> <!--按钮区-->
<div class="action-bar"> <div class="action-bar">
<el-button class="common-button-default export-button" <el-button
size="mini" v-btn-permission="'6d749caee927a480fa99e5ddc48d8e05'"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项" class="common-button-default export-button"
v-btn-permission="'6d749caee927a480fa99e5ddc48d8e05'" size="mini"
@click="exportData"><i class="iconfont">&#xe6e9;</i>导出 title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportData"
>
<i class="iconfont">&#xe6e9;</i>导出
</el-button> </el-button>
<el-button class="common-button-default in-button" <el-button
size="mini" v-btn-permission="'b168e0381ec7ba5d762c36ad2935542f'"
v-btn-permission="'b168e0381ec7ba5d762c36ad2935542f'" class="common-button-default in-button"
@click="addImportModal"><i class="iconfont">&#xe6de;</i>导入 size="mini"
@click="addImportModal"
>
<i class="iconfont">&#xe6de;</i>导入
</el-button> </el-button>
<el-button class="common-button-default in-button" <el-button
size="mini" v-btn-permission="'7990fb64c468c2d37cc2246fc3cb694e'"
v-btn-permission="'7990fb64c468c2d37cc2246fc3cb694e'" class="common-button-default in-button"
@click="handleMoudel"><i class="iconfont">&#xe6de;</i>模板下载 size="mini"
@click="handleMoudel"
>
<i class="iconfont">&#xe6de;</i>模板下载
</el-button> </el-button>
<el-button type="primary" <el-button
class="common-button-primary add-button" v-btn-permission="'f0e663244c1f823caa07e99bfc6535dc'"
size="mini" type="primary"
v-btn-permission="'f0e663244c1f823caa07e99bfc6535dc'" class="common-button-primary add-button"
@click="openDrawer('add')" size="mini"
><i class="el-icon-plus"></i>新增 @click="openDrawer('add')"
>
<i class="el-icon-plus" />新增
</el-button> </el-button>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="content"> <div class="content">
<el-table <el-table
ref="selection" ref="selection"
:data="data" :data="data"
tooltip-effect="dark" tooltip-effect="dark"
style="width:100%;height: calc(100% - 57px)" style="width:100%;height: calc(100% - 57px)"
height="string" height="string"
border border
class="drag-table" class="drag-table"
@sort-change="sortChange" :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px', padding: 0}"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px', padding: 0}" :cell-style="{padding: 0}"
:cell-style="{padding: 0}" @sort-change="sortChange"
@selection-change="selectionChange" @selection-change="selectionChange"
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }} {{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="meetingName" prop="meetingName"
label="会议名称" label="会议名称"
align="center" align="center"
sortable="custom" sortable="custom"
> >
<template slot-scope="{row, column, $index}"> <template slot-scope="{row, column, $index}">
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.meetingName }}</a> <a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.meetingName }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="meetingOrganizer" prop="meetingOrganizer"
label="会议主办单位" label="会议主办单位"
align="center" align="center"
sortable="custom" sortable="custom"
> />
</el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="meetingTime" prop="meetingTime"
label="会议时间" label="会议时间"
align="center" align="center"
sortable="custom" sortable="custom"
> />
</el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="meetingAddress" prop="meetingAddress"
label="会议地点" label="会议地点"
align="center" align="center"
sortable="custom" sortable="custom"
> />
</el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="agendaNameStr" prop="agendaNameStr"
label="议题名称" label="议题名称"
align="center" align="center"
sortable="custom" sortable="custom"
> />
</el-table-column>
<el-table-column <el-table-column
v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0" v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0"
prop="action" prop="action"
label="操作" label="操作"
align="center" align="center"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a class="table-jump" v-btn-permission="'62cdf3d570941c154d28371632ccfa2e'" style="color: #2d8cf0" @click="openDrawer('edit', scope.row)">编辑</a> <a v-btn-permission="'62cdf3d570941c154d28371632ccfa2e'" class="table-jump" style="color: #2d8cf0" @click="openDrawer('edit', scope.row)">编辑</a>
<a class="table-jump" v-btn-permission="'71155d105e930bb8e7881a8a9809646a'" style="color: #f56c6c;margin-left: 10px" @click="onDelete(scope.row.id)">删除</a> <a v-btn-permission="'71155d105e930bb8e7881a8a9809646a'" class="table-jump" style="color: #f56c6c;margin-left: 10px" @click="onDelete(scope.row.id)">删除</a>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination> <pagination :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange" />
<loading :loading="loading">数据获取中...</loading> <loading :loading="loading">数据获取中...</loading>
</div> </div>
<!-- 高级搜索 --> <!-- 高级搜索 -->
<AdvancedSearch :visible.sync="advancedSearchVisible" :form="advancedSearchForm" :dict="dict" @search="onSearch" @resetAdvancedSearchForm="resetAdvancedSearchForm"></AdvancedSearch> <AdvancedSearch
:visible.sync="advancedSearchVisible"
:form="advancedSearchForm"
:dict="dict"
@search="onSearch"
@resetAdvancedSearchForm="resetAdvancedSearchForm"
/>
<!-- 新增编辑 --> <!-- 新增编辑 -->
<editDrawer ref="editDrawerRef" :dict="dict" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer> <editDrawer
ref="editDrawerRef"
:dict="dict"
:showDrawer.sync="showDrawer"
:title="titleDrawer"
:editForm="editForm"
@load="getData"
/>
<!-- 导入 --> <!-- 导入 -->
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData"></ImportZip> <ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData" />
<!-- 导出 --> <!-- 导出 -->
<ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog> <ExportDialog ref="exportDialogRef" @exportName="handleExport" />
</div> </div>
</template> </template>
<script> <script>
import editDrawer from "./components/editDrawer"; import editDrawer from './components/editDrawer';
import AdvancedSearch from './components/advancedSearch' import AdvancedSearch from './components/advancedSearch'
import ImportZip from '@/components/hzwlComponents/importZip' import ImportZip from '@/components/hzwlComponents/importZip'
import ExportDialog from '@/components/hzwlComponents/exportDialog' import ExportDialog from '@/components/hzwlComponents/exportDialog'
import store from "@/store"; import store from '@/store';
export default { export default {
name: "meeting", name: 'Meeting',
components: { components: {
editDrawer, editDrawer,
AdvancedSearch, AdvancedSearch,
ImportZip, ImportZip,
ExportDialog ExportDialog
}, },
data(){ data () {
return { return {
searchForm: {}, searchForm: {},
advancedSearchForm: {}, advancedSearchForm: {},
@@ -216,18 +252,18 @@ export default {
editForm: void 0, editForm: void 0,
api: { api: {
page: 'lawss/insideOutsideMeeting/page', page: 'lawss/insideOutsideMeeting/page',
delete :'lawss/insideOutsideMeeting/deleteMeetingInfo' delete: 'lawss/insideOutsideMeeting/deleteMeetingInfo'
} }
} }
}, },
created() { created () {
this.getDicTypeListCode() this.getDicTypeListCode()
this.getData() this.getData()
}, },
methods: { methods: {
// //
handlePreview(id) { handlePreview (id) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'meetingDetail', name: 'meetingDetail',
params: { id } params: { id }
}) })
@@ -235,13 +271,13 @@ export default {
}, },
isPermission (value) { isPermission (value) {
let hasCount = 0 let hasCount = 0
let set =new Set( value.split(",")) const set = new Set( value.split(','))
let menuList = store.getters.getMenuList const menuList = store.getters.getMenuList
if (menuList === '') { if (menuList === '') {
return hasCount return hasCount
} else { } else {
menuList.map((menu) => { menuList.map((menu) => {
if ( set.has(menu.id)|| value === undefined || value === '') { if ( set.has(menu.id) || value === undefined || value === '') {
hasCount++ hasCount++
} }
}) })
@@ -251,14 +287,14 @@ export default {
async getData () { async getData () {
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent
this.searchForm.page = this.searchForm.page || 1 this.searchForm.page = this.searchForm.page || 1
let params = { ...this.searchForm, ...this.advancedSearchForm } const params = { ...this.searchForm, ...this.advancedSearchForm }
const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'}) const res = await this.$http._getData(this.api.page, params, { _this: this, loading: 'loading' })
if (res.ok && res.data) { if (res.ok && res.data) {
this.data = res.data.list this.data = res.data.list
this.total = res.data.count this.total = res.data.count
} }
}, },
onSearch(){ onSearch () {
this.getData() this.getData()
}, },
onClear () { onClear () {
@@ -283,7 +319,7 @@ export default {
} }
}, },
// //
sortChange({ column, prop, order }) { sortChange ({ column, prop, order }) {
this.searchForm.sortField = prop this.searchForm.sortField = prop
this.searchForm.sortMode = 'asc' this.searchForm.sortMode = 'asc'
if (order === 'descending') { if (order === 'descending') {
@@ -317,23 +353,23 @@ export default {
exportIds: this.selectedList.join(',') exportIds: this.selectedList.join(',')
} }
let query = '?' let query = '?'
for(let i in params){ for(const i in params) {
if (params[i] && params[i]!=='') { if (params[i] && params[i] !== '') {
query = query + i + '=' + params[i] + '&' query = query + i + '=' + params[i] + '&'
} }
} }
query = query.slice(0,-1) query = query.slice(0, -1)
window.open('/api/lawss/insideOutsideMeeting/exportMeetingInfo' + query) window.open('/api/lawss/insideOutsideMeeting/exportMeetingInfo' + query)
this.$refs.exportDialogRef.cancel() this.$refs.exportDialogRef.cancel()
this.$message.success('导出信息成功') this.$message.success('导出信息成功')
}, },
// //
addImportModal() { addImportModal () {
this.importModalShowFlag = true this.importModalShowFlag = true
this.importExcelUrl = '/api/lawss/insideOutsideMeeting/importMeetingInfo' this.importExcelUrl = '/api/lawss/insideOutsideMeeting/importMeetingInfo'
}, },
// //
handleMoudel(){ handleMoudel () {
window.open('/api/lawss/insideOutsideMeeting/exportTemplateFile?fileName=内外部会议导入模板') window.open('/api/lawss/insideOutsideMeeting/exportTemplateFile?fileName=内外部会议导入模板')
}, },
// //
@@ -348,7 +384,7 @@ export default {
this.$set(this, 'editForm', row) this.$set(this, 'editForm', row)
break break
} }
this.$nextTick(()=>{ this.$nextTick(() => {
this.showDrawer = true this.showDrawer = true
}) })
}, },
@@ -1,218 +1,151 @@
<template> <template>
<el-drawer <el-drawer
title="高级搜索" title="高级搜索"
size="800px" size="800px"
:wrapperClosable="false" :wrapperClosable="false"
:visible.sync="isAdvancedSearch"> :visible.sync="isAdvancedSearch"
>
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<el-form <el-form
:model="lawsStandInfoSearch" :model="lawsStandInfoSearch"
class="label-input-form table-lattice" class="label-input-form table-lattice"
label-width="80px"> label-width="80px"
>
<ProcessTitle> <ProcessTitle>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
</ProcessTitle> </ProcessTitle>
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<SelectFormItem label="1级政策分类" <SelectFormItem
title="1级政策分类" v-model="lawsStandInfoSearch.lawsTypeFirstLevel"
v-model="lawsStandInfoSearch.lawsTypeFirstLevel" label="1级政策分类"
:options="dict.lawsTypeFirstLevelOptions"> title="1级政策分类"
</SelectFormItem> :options="dict.lawsTypeFirstLevelOptions"
<SelectFormItem label="3级政策分类" />
title="3级政策分类" <SelectFormItem
v-model="lawsStandInfoSearch.lawsTypeThirdLevel" v-model="lawsStandInfoSearch.lawsTypeThirdLevel"
:options="dict.lawsTypeThirdLevelOptions"> label="3级政策分类"
</SelectFormItem> title="3级政策分类"
<InputFormItem label="政策名称" :options="dict.lawsTypeThirdLevelOptions"
title="政策名称" />
v-model="lawsStandInfoSearch.lawsName"> <InputFormItem
</InputFormItem> v-model="lawsStandInfoSearch.lawsName"
<InputFormItem label="政策文号" label="政策名称"
title="政策文号" title="政策名称"
v-model="lawsStandInfoSearch.lawsNo"> />
</InputFormItem> <InputFormItem
<InputFormItem label="发文单位" v-model="lawsStandInfoSearch.lawsNo"
title="发文单位" label="政策文号"
v-model="lawsStandInfoSearch.issueCompany"> title="政策文号"
</InputFormItem> />
<SelectFormItem label="文本状态" <InputFormItem
title="文本状态" v-model="lawsStandInfoSearch.issueCompany"
v-model="lawsStandInfoSearch.lawsTextState" label="发文单位"
:options="dict.lawsTextStateOptions"> title="发文单位"
</SelectFormItem> />
<SelectFormItem label="是否纳入认证清单" <SelectFormItem
title="是否纳入认证清单" v-model="lawsStandInfoSearch.lawsTextState"
v-model="lawsStandInfoSearch.isRelateAccess" label="政策状态"
:options="isRelateAccessOptions || []"> title="政策状态"
</SelectFormItem> :options="dict.lawsTextStateOptions"
<InputFormItem label="福田转发通知文号" />
title="福田转发通知文号" <SelectFormItem
v-model="lawsStandInfoSearch.lawsNotisyncNum"> v-model="lawsStandInfoSearch.isRelateAccess"
</InputFormItem> label="是否纳入认证清单"
<InputFormItem label="信息简报" title="是否纳入认证清单"
title="信息简报" :options="isRelateAccessOptions || []"
v-model="lawsStandInfoSearch.lawsBulletin"> />
</InputFormItem> <InputFormItem
<InputFormItem label="备注(最终政策发布)" v-model="lawsStandInfoSearch.lawsNotisyncNum"
title="备注(最终政策发布)" label="福田转发通知文号"
v-model="lawsStandInfoSearch.lawsRemark"> title="福田转发通知文号"
</InputFormItem> />
<InputFormItem
<!--#region--> v-model="lawsStandInfoSearch.lawsBulletin"
<!--<el-form-item label="政策分类" title="政策分类" class="add-form-item form-item-disabled">--> label="信息月报"
<!-- <el-select v-model="lawsStandInfoSearch.lawsType" filterable clearable>--> title="信息月报"
<!-- <el-option--> />
<!-- v-for="item in dict.lawsTypeOptions"--> <!-- <InputFormItem-->
<!-- placeholder="请选择"--> <!-- v-model="lawsStandInfoSearch.lawsRemark"-->
<!-- :key="item.value"--> <!-- label="备注(最终政策发布)"-->
<!-- :value="item.value"--> <!-- title="备注(最终政策发布)"-->
<!-- :label="item.label"--> <!-- />-->
<!-- ></el-option>--> <SelectMultipleFormItem
<!-- </el-select>--> v-model="lawsStandInfoSearch.lawsLabel"
<!--</el-form-item>--> label="标签"
<!--<el-form-item label="发文日期" class="add-form-item form-item-disabled">--> title="标签"
<!-- <el-datePicker v-model="lawsStandInfoSearch.issueTime"--> :options="dict.lawsLabelOptions"
<!-- :editable="false"--> />
<!-- placeholder="请选择发文日期"--> <InputFormItem
<!-- value-format="yyyy-MM-dd"--> v-model="lawsStandInfoSearch.lawsRemark"
<!-- clearable></el-datePicker>--> label="备注"
<!--</el-form-item>--> title="备注"
<!--<el-form-item label="适用区域" class="add-form-item form-item-disabled">--> />
<!-- <el-select v-model="lawsStandInfoSearch.lawsSyqy" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.lawsSyqyOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="年度" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.lawsYear" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.lawsYearOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="信息简报" class="add-form-item form-item-disabled">-->
<!-- <el-input v-model="lawsStandInfoSearch.lawsBulletin" clearable-->
<!-- placeholder="请输入政策文号"-->
<!-- ></el-input>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<SelectFormItem label="2级政策分类" <SelectFormItem
title="2级政策分类" v-model="lawsStandInfoSearch.lawsTypeSecondLevel"
v-model="lawsStandInfoSearch.lawsTypeSecondLevel" label="2级政策分类"
:options="dict.lawsTypeSecondLevelOptions"> title="2级政策分类"
</SelectFormItem> :options="dict.lawsTypeSecondLevelOptions"
<SelectFormItem label="4级政策分类" />
title="4级政策分类" <SelectFormItem
v-model="lawsStandInfoSearch.lawsTypeFourthLevel" v-model="lawsStandInfoSearch.lawsTypeFourthLevel"
:options="dict.lawsTypeFourthLevelOptions"> label="4级政策分类"
</SelectFormItem> title="4级政策分类"
<InputFormItem label="英文名称" :options="dict.lawsTypeFourthLevelOptions"
title="英文名称" />
v-model="lawsStandInfoSearch.lawsEnName"> <InputFormItem
</InputFormItem> v-model="lawsStandInfoSearch.lawsEnName"
<DatePickerFormItem label="发文日期" label="英文名称"
title="发文日期" title="英文名称"
v-model="lawsStandInfoSearch.issueTime"> />
</DatePickerFormItem> <DatePickerFormItem
<DataRangePickerFormItem label="征集意见周期" v-model="lawsStandInfoSearch.issueTime"
title="征集意见周期" label="发文日期"
:startTime.sync="lawsStandInfoSearch.commentCycleStart" title="发文日期"
:endTime.sync="lawsStandInfoSearch.commentCycleEnd"> />
</DataRangePickerFormItem> <DataRangePickerFormItem
<SelectMultipleFormItem label="适用车型" label="征集意见周期"
title="适用车型" title="征集意见周期"
v-model="lawsStandInfoSearch.lawsSycx" :startTime.sync="lawsStandInfoSearch.commentCycleStart"
:options="dict.lawsSycxOptions || []"> :endTime.sync="lawsStandInfoSearch.commentCycleEnd"
</SelectMultipleFormItem> />
<SelectFormItem label="年度" <SelectMultipleFormItem
title="年度" v-model="lawsStandInfoSearch.lawsSycx"
v-model="lawsStandInfoSearch.lawsYear" label="适用车型"
:options="dict.lawsYearOptions"> title="适用车型"
</SelectFormItem> :options="dict.lawsSycxOptions || []"
<InputFormItem label="通知文号链接" />
title="通知文号链接" <SelectFormItem
v-model="lawsStandInfoSearch.notisyncNumLink"> v-model="lawsStandInfoSearch.lawsYear"
</InputFormItem> label="年度"
<SelectMultipleFormItem label="标签" title="年度"
title="标签" :options="dict.lawsYearOptions"
v-model="lawsStandInfoSearch.lawsLabel" />
:options="dict.lawsLabelOptions"> <InputFormItem
</SelectMultipleFormItem> v-model="lawsStandInfoSearch.notisyncNumLink"
label="通知文号链接"
<!--#region--> title="通知文号链接"
<!--<el-form-item label="政策文号" class="add-form-item form-item-disabled">--> />
<!-- <el-input v-model="lawsStandInfoSearch.lawsNo" clearable--> <InputFormItem
<!-- placeholder="请输入政策文号"></el-input>--> v-model="lawsStandInfoSearch.referenceNews"
<!--</el-form-item>--> label="参考消息"
<!--<el-form-item label="发文单位" title="发文单位" class="add-form-item form-item-disabled">--> title="参考消息"
<!-- <el-input v-model="lawsStandInfoSearch.issueCompany" placeholder="请输入发文单位" clearable></el-input>--> />
<!--</el-form-item>--> <InputFormItem
<!--<el-form-item label="适用车型" class="add-form-item form-item-disabled">--> v-model="lawsStandInfoSearch.lawsKeyPoint"
<!-- <el-select v-model="lawsStandInfoSearch.lawsSycx" filterable clearable>--> label="政策要点"
<!-- <el-option--> title="政策要点"
<!-- v-for="item in dict.lawsSycxOptions"--> />
<!-- placeholder="请选择"--> <InputFormItem
<!-- :key="item.value"--> v-model="lawsStandInfoSearch.lawsOriginalLink"
<!-- :value="item.value"--> label="政策原文链接"
<!-- :label="item.label"--> title="政策原文链接"
<!-- ></el-option>--> />
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="是否纳入认证清单" title="是否纳入认证清单" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.isRelateAccess">-->
<!-- <el-option value="1" label="是" key="1"></el-option>-->
<!-- <el-option value="2" label="否" key="2"></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="福田转发通知文号" title="福田转发通知文号" class="add-form-item form-item-disabled">-->
<!-- <el-input v-model="lawsStandInfoSearch.lawsNotisyncNum" placeholder="请输入福田转发通知文号" clearable></el-input>-->
<!--</el-form-item>-->
<!--<el-form-item label="标签" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.lawsLabel" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.lawsLabelOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
</el-row> </el-row>
<!--#region-->
<!--<el-row :gutter="24">-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="征集意见周期" title="征集意见周期" class="add-form-item form-item-disabled">-->
<!-- <el-date-picker-->
<!-- v-model="commentCycleDate"-->
<!-- :picker-options="pickerOptions"-->
<!-- type="daterange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="起始时间"-->
<!-- end-placeholder="结束时间"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- align="right">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!--</el-row>-->
<!--#endregion-->
</div> </div>
<ProcessTitle> <ProcessTitle>
<template slot="title">实施日期</template> <template slot="title">实施日期</template>
@@ -220,55 +153,33 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<DatePickerGroupFormItem label="实施日期" <DatePickerGroupFormItem
title="实施日期" v-model="lawsStandInfoSearch.SSRQLAWS"
v-model="lawsStandInfoSearch.SSRQLAWS" label="实施日期"
></DatePickerGroupFormItem> title="实施日期"
<DatePickerFormItem label="新生产实施日期" />
title="新生产实施日期" <DatePickerFormItem
v-model="lawsStandInfoSearch.ZCXSSRQLAWS"> v-model="lawsStandInfoSearch.ZCXSSRQLAWS"
</DatePickerFormItem> label="新生产实施日期"
<DatePickerFormItem label="生效日期" title="新生产实施日期"
title="生效日期" />
v-model="lawsStandInfoSearch.SXRQLAWS"> <DatePickerFormItem
</DatePickerFormItem> v-model="lawsStandInfoSearch.SXRQLAWS"
label="生效日期"
<!--#region--> title="生效日期"
<!--<el-form-item label="实施日期" class="add-form-item form-item-disabled">--> />
<!-- <el-datePicker v-model="lawsStandInfoSearch.SSRQLAWS"-->
<!-- :editable="false"-->
<!-- placeholder="请选择实施日期"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- clearable></el-datePicker>-->
<!--</el-form-item>-->
<!--<el-form-item label="新车型实施日期" title="新车型实施日期" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker v-model="lawsStandInfoSearch.XCXSSRQLAWS"-->
<!-- :editable="false"-->
<!-- placeholder="请选择实施日期"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- clearable></el-datePicker>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<DatePickerFormItem label="新认证实施日期" <DatePickerFormItem
title="新认证实施日期" v-model="lawsStandInfoSearch.XRZSSRQLAWS"
v-model="lawsStandInfoSearch.XRZSSRQLAWS" label="新认证实施日期"
></DatePickerFormItem> title="新认证实施日期"
<DatePickerFormItem label="在用车实施日期" />
title="在用车实施日期" <DatePickerFormItem
v-model="lawsStandInfoSearch.XCXSSRQLAWS" v-model="lawsStandInfoSearch.XCXSSRQLAWS"
></DatePickerFormItem> label="在用车实施日期"
title="在用车实施日期"
<!--#region--> />
<!--<el-form-item label="在产车实施日期" title="在产车实施日期" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker v-model="lawsStandInfoSearch.ZCXSSRQLAWS"-->
<!-- :editable="false"-->
<!-- placeholder="请选择实施日期"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- clearable></el-datePicker>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -278,120 +189,42 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<SelectFormItem label="我司参与深度" <SelectFormItem
title="我司参与深度" v-model="lawsStandInfoSearch.CYSDLAWS"
v-model="lawsStandInfoSearch.CYSDLAWS" label="我司参与深度"
:options="dict.CYSDLAWSOptions"> title="我司参与深度"
</SelectFormItem> :options="dict.CYSDLAWSOptions"
<DepartmentFormItem label="投稿单位" />
title="投稿单位" <DepartmentFormItem
v-model="lawsStandInfoSearch.TGDWLAWS" v-model="lawsStandInfoSearch.TGDWLAWS"
:ids.sync="lawsStandInfoSearch.TGDWLAWSID"> label="投稿单位"
</DepartmentFormItem> title="投稿单位"
<DepartmentFormItem label="责任部门" :ids.sync="lawsStandInfoSearch.TGDWLAWSID"
title="责任部门" />
v-model="lawsStandInfoSearch.ZRBMLAWS" <DepartmentFormItem
:ids.sync="lawsStandInfoSearch.ZRBMLAWSID"> v-model="lawsStandInfoSearch.ZRBMLAWS"
</DepartmentFormItem> label="责任部门"
<!--#region--> title="责任部门"
<!--<el-form-item label="发布机构" title="发布机构" class="add-form-item form-item-disabled">--> :ids.sync="lawsStandInfoSearch.ZRBMLAWSID"
<!-- <el-input v-model="lawsStandInfoSearch.FBJGLAWS" placeholder="请输入发布机构" clearable></el-input>--> />
<!--</el-form-item>-->
<!--<el-form-item label="投稿人" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.TGRLAWS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.TGRLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="能源类型" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.NYLXLAWS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.NYLXLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="责任部门" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.ZRBMLAWS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.ZRBMLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<personFormItem label="投稿人" <personFormItem
title="投稿人" v-model="lawsStandInfoSearch.TGRLAWS"
v-model="lawsStandInfoSearch.TGRLAWS"> label="投稿人"
</personFormItem> title="投稿人"
<SelectMultipleFormItem label="适用认证" />
title="适用认证" <SelectMultipleFormItem
v-model="lawsStandInfoSearch.SYRZLAWS" v-model="lawsStandInfoSearch.SYRZLAWS"
:options="dict.syrzOptions"> label="适用认证"
</SelectMultipleFormItem> title="适用认证"
<personFormItem label="责任工程师" :options="dict.syrzOptions"
title="责任工程师" />
v-model="lawsStandInfoSearch.ZRGCSLAWS"> <personFormItem
</personFormItem> v-model="lawsStandInfoSearch.ZRGCSLAWS"
<!--#region--> label="责任工程师"
<!--<el-form-item label="我司参与深度" title="我司参与深度" class="add-form-item form-item-disabled">--> title="责任工程师"
<!-- <el-select v-model="lawsStandInfoSearch.CYSDLAWS" filterable clearable>--> />
<!-- <el-option-->
<!-- v-for="item in dict.CYSDLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="投稿单位" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.TGDWLAWS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.TGDWLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="适用认证" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.YYRZLAWS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.YYRZLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--<el-form-item label="责任工程师" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="lawsStandInfoSearch.ZRGCSLAWS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in dict.ZRGCSLAWSOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -401,38 +234,33 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<InputForStandardsForLaws label="代替文件号" <InputForStandardsForLaws
title="代替文件号" v-model="lawsStandInfoSearch.DTWJHLAWS"
v-model="lawsStandInfoSearch.DTWJHLAWS" label="代替文件号"
></InputForStandardsForLaws> title="代替文件号"
<InputForStandardsForLaws label="引用标准&政策" />
title="引用标准&政策" <InputForStandardsForLaws
v-model="lawsStandInfoSearch.YYBZZCLAWS" v-model="lawsStandInfoSearch.YYBZZCLAWS"
></InputForStandardsForLaws> label="引用标准&政策"
<InputFormItem label="参会记录" title="引用标准&政策"
title="参会记录" />
v-model="lawsStandInfoSearch.CHJLLAWS"> <InputFormItem
</InputFormItem> v-model="lawsStandInfoSearch.CHJLLAWS"
<!--#region--> label="参会记录"
<!--<el-form-item label="代替文件号" title="代替文件号" class="add-form-item form-item-disabled">--> title="参会记录"
<!-- <el-input v-model="lawsStandInfoSearch.DTWJHLAWS" placeholder="请输入代替文件号" clearable></el-input>--> />
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<InputForStandardsForLaws label="被代替文件号" <InputForStandardsForLaws
title="被代替文件号" v-model="lawsStandInfoSearch.BDTWJHLAWS"
v-model="lawsStandInfoSearch.BDTWJHLAWS" label="被代替文件号"
></InputForStandardsForLaws> title="被代替文件号"
<InputFormItem label="相关流程" />
title="相关流程" <InputFormItem
v-model="lawsStandInfoSearch.XGLC"> v-model="lawsStandInfoSearch.XGLC"
</InputFormItem> label="相关流程"
<!--#region--> title="相关流程"
<!--<el-form-item label="被代替文件号" title="被代替文件号" class="add-form-item form-item-disabled">--> />
<!-- <el-input v-model="lawsStandInfoSearch.BDTWJHLAWS" placeholder="请输入被代替文件号" clearable></el-input>-->
<!--</el-form-item>-->
<!--#endregion-->
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -440,15 +268,19 @@
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button <el-button
class="common-button-primary" class="common-button-primary"
icon="el-icon-check" icon="el-icon-check"
type="primary" type="primary"
@click="getBussionStandTableBtn(lawsStandInfoSearch,'','sel')">搜索 @click="getBussionStandTableBtn(lawsStandInfoSearch,'','sel')"
>
搜索
</el-button> </el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
icon="el-icon-close" icon="el-icon-close"
@click="clearAllSearch('lawsStandInfoSearch')">取消 @click="clearAllSearch('lawsStandInfoSearch')"
>
取消
</el-button> </el-button>
</div> </div>
</el-drawer> </el-drawer>
@@ -456,18 +288,18 @@
<script> <script>
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle' import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
import SelectFormItem from "@/components/hzwlComponents/SelectFormItem"; import SelectFormItem from '@/components/hzwlComponents/SelectFormItem';
import InputFormItem from "@/components/hzwlComponents/InputFormItem"; import InputFormItem from '@/components/hzwlComponents/InputFormItem';
import DatePickerFormItem from "@/components/hzwlComponents/DatePickerFormItem"; import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem';
import DataRangePickerFormItem from "@/components/hzwlComponents/DataRangePickerFormItem"; import DataRangePickerFormItem from '@/components/hzwlComponents/DataRangePickerFormItem';
import SelectMultipleFormItem from "@/components/hzwlComponents/SelectMultipleFormItem"; import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem';
import DatePickerGroupFormItem from "@/components/hzwlComponents/DatePickerGroupFormItem"; import DatePickerGroupFormItem from '@/components/hzwlComponents/DatePickerGroupFormItem';
import DepartmentFormItem from "@/components/hzwlComponents/DepartmentFormItem"; import DepartmentFormItem from '@/components/hzwlComponents/DepartmentFormItem';
import personFormItem from "@/components/hzwlComponents/personFormItem"; import personFormItem from '@/components/hzwlComponents/personFormItem';
import InputForStandardsForLaws from "@/components/hzwlComponents/InputForStandardsForLaws"; import InputForStandardsForLaws from '@/components/hzwlComponents/InputForStandardsForLaws';
export default { export default {
name: "advancedSearch", name: 'AdvancedSearch',
components: { components: {
ProcessTitle, ProcessTitle,
SelectFormItem, SelectFormItem,
@@ -480,6 +312,16 @@ export default {
personFormItem, personFormItem,
InputForStandardsForLaws InputForStandardsForLaws
}, },
props: {
lawsStandInfoSearch: {
type: Object,
default: () => ({})
},
dict: {
type: Object,
default: () => ({})
},
},
data () { data () {
return{ return{
isAdvancedSearch: false, isAdvancedSearch: false,
@@ -495,16 +337,6 @@ export default {
] ]
} }
}, },
props: {
lawsStandInfoSearch: {
type: Object,
default: () => ({})
},
dict: {
type: Object,
default: () => ({})
},
},
methods: { methods: {
open () { open () {
this.isAdvancedSearch = true this.isAdvancedSearch = true
@@ -1,11 +1,11 @@
<template> <template>
<!-- 配置标准 --> <!-- 配置标准 -->
<el-drawer <el-drawer
title="配置政策" title="配置政策"
:wrapperClosable="false" :wrapperClosable="false"
:visible.sync="configStandFlag" :visible.sync="configStandFlag"
size="1200px" size="1200px"
@close="cancelConfigStand" @close="cancelConfigStand"
> >
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<div class="search-area"> <div class="search-area">
@@ -16,8 +16,12 @@
<!-- placeholder="根据标准名称查找" clearable/>--> <!-- placeholder="根据标准名称查找" clearable/>-->
<!-- </el-formItem>--> <!-- </el-formItem>-->
<el-formItem label="政策文号" prop="lawsNo" class="search-item"> <el-formItem label="政策文号" prop="lawsNo" class="search-item">
<el-input v-model="sarConfigStandSearch.lawsNo" @keyup.enter.native="searchConfiguraStand" <el-input
placeholder="根据政策文号查找" clearable/> v-model="sarConfigStandSearch.lawsNo"
placeholder="根据政策文号查找"
clearable
@keyup.enter.native="searchConfiguraStand"
/>
</el-formItem> </el-formItem>
<!-- <el-formItem label="企标类别" prop="standSort" class="search-item">--> <!-- <el-formItem label="企标类别" prop="standSort" class="search-item">-->
<!-- <el-select v-model="sarConfigStandSearch.standSort" placeholder="根据企标类别查找"--> <!-- <el-select v-model="sarConfigStandSearch.standSort" placeholder="根据企标类别查找"-->
@@ -27,24 +31,32 @@
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-formItem>--> <!-- </el-formItem>-->
<el-formItem label="政策名称" prop="lawsName" class="search-item"> <el-formItem label="政策名称" prop="lawsName" class="search-item">
<el-input v-model="sarConfigStandSearch.lawsName" @keyup.enter.native="searchConfiguraStand" placeholder="根据政策名称查找" clearable :maxlength="100"/> <el-input
v-model="sarConfigStandSearch.lawsName"
placeholder="根据政策名称查找"
clearable
:maxlength="100"
@keyup.enter.native="searchConfiguraStand"
/>
</el-formItem> </el-formItem>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="small" size="small"
:loading="searching" :loading="searching"
@click="searchConfiguraStand"> @click="searchConfiguraStand"
>
查询 查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
class="common-button-default" class="common-button-default"
size="small" size="small"
@click="clearAllSearch(3)" @click="clearAllSearch(3)"
>清空 >
清空
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -52,95 +64,104 @@
</div> </div>
<div class="drawer-content"> <div class="drawer-content">
<el-table <el-table
ref="selection" ref="selection"
:data="configStandList" :data="configStandList"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
height="100%" height="100%"
border border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@sort-change="sortChangeConfig" @sort-change="sortChangeConfig"
@selection-change="selectConfigStandChange"> @selection-change="selectConfigStandChange"
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (configPage - 1) * configRows }} {{ ($index + 1) + (configPage - 1) * configRows }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="lawsNo" prop="lawsNo"
label="政策文号" label="政策文号"
width="150" width="150"
align="center" align="center"
/>
<el-table-column
prop="lawsName"
label="政策名称"
align="center"
/>
<el-table-column
prop="lawsEnName"
label="英文名称"
align="center"
/>
<el-table-column
prop="issueTime"
label="发文日期"
width="120"
sortable
align="center"
> >
</el-table-column>
<el-table-column
prop="lawsName"
label="政策名称"
align="center">
</el-table-column>
<el-table-column
prop="lawsEnName"
label="英文名称"
align="center">
</el-table-column>
<el-table-column
prop="issueTime"
label="发文日期"
width="120"
sortable
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{formatDate(scope.row.issueTime)}}</span> <span>{{ formatDate(scope.row.issueTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="ssrqlaws" prop="ssrqlaws"
label="实施日期" label="实施日期"
width="120" width="120"
sortable sortable
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{formatDate(scope.row.ssrqlaws)}}</span> <span>{{ formatDate(scope.row.ssrqlaws) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="政策状态"
width="100" width="100"
align="center"> align="center"
</el-table-column> />
</el-table> </el-table>
</div> </div>
<pagination <pagination
style="position: relative;" style="position: relative;"
:page="configPage" :auto-size="true"
:pageSize="configRows" :page="configPage"
:total="configTotal" :pageSize="configRows"
@pageChange="configuraPageChange" :total="configTotal"
@pageSizeChange="configuraPageSizeChange"></pagination> @pageChange="configuraPageChange"
@pageSizeChange="configuraPageSizeChange"
/>
<div class="divDel"> <div class="divDel">
<div class="divDel_title">已选政策</div> <div class="divDel_title">已选政策</div>
<div class="divDel_box"> <div class="divDel_box">
<el-tag <el-tag
v-for="tag in selectConfigStand" v-for="tag in selectConfigStand"
:key="tag.id" :key="tag.id"
size="mini" size="mini"
closable closable
@close="handleTagClose(tag)"> @close="handleTagClose(tag)"
<a v-if="tag.standStatusShow === '作废' " >
class="table-jump" style="color: #F56C6C" <a
@click="handlePreview(tag)">{{ tag.lawsName }}</a> v-if="tag.standStatusShow === '作废' "
<a v-else @click="handlePreview(tag)" class="table-jump" style="color: #333333">{{ tag.lawsName }}</a> class="table-jump"
style="color: #F56C6C"
@click="handlePreview(tag)"
>{{ tag.lawsName }}</a>
<a v-else class="table-jump" style="color: #333333" @click="handlePreview(tag)">{{ tag.lawsName }}</a>
</el-tag> </el-tag>
</div> </div>
</div> </div>
@@ -148,34 +169,55 @@
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button <el-button
type="primary" type="primary"
round class="common-button-primary" round
icon="el-icon-check" class="common-button-primary"
@click="saveConfigStand" icon="el-icon-check"
:loading="isSubmit" :loading="isSubmit"
>提交</el-button> @click="saveConfigStand"
<el-button class="common-button-default" style="padding: 7px 12px;" icon="el-icon-close" type="primary" >
round @click="cancelConfigStand">取消</el-button> 提交
</el-button>
<el-button
class="common-button-default"
style="padding: 7px 12px;"
icon="el-icon-close"
type="primary"
round
@click="cancelConfigStand"
>
取消
</el-button>
</div> </div>
</el-drawer> </el-drawer>
</template> </template>
<script> <script>
export default { export default {
name: "configStandDrawer", name: 'ConfigStandDrawer',
props: {
selectSarMenu: {
type: Object,
required: true
},
getBussionStandTable: {
type: Function,
required: true
}
},
data () { data () {
return { return {
configStandFlag: false, // configStandFlag: false, //
configPage: 1, configPage: 1,
configTotal: 0, configTotal: 0,
configRows: this.$store.getters.userInfo.configContent, configRows: 20,
searching: false, searching: false,
configStandList: [], configStandList: [],
configLoading: false, // configLoading: false, //
isSubmit: false, isSubmit: false,
sarConfigStandSearch: { sarConfigStandSearch: {
page: this.configPage, page: this.configPage,
pageSize: this.$store.getters.userInfo.configContent, pageSize: 20,
standType: 'INLAND', standType: 'INLAND',
validFlag: '0', validFlag: '0',
// menuId: '', // menuId: '',
@@ -197,16 +239,6 @@ export default {
selectConfigStand: [] selectConfigStand: []
} }
}, },
props: {
selectSarMenu: {
type: Object,
required: true
},
getBussionStandTable: {
type: Function,
required: true
}
},
methods: { methods: {
open () { open () {
this.configStandFlag = true this.configStandFlag = true
@@ -220,8 +252,8 @@ export default {
this.selectConfiguraStand() this.selectConfiguraStand()
}, },
clearAllSearch (flag) { clearAllSearch (flag) {
this.sarConfigStandSearch.lawsNo='' this.sarConfigStandSearch.lawsNo = ''
this.sarConfigStandSearch.lawsName='' this.sarConfigStandSearch.lawsName = ''
this.configPage = 1 this.configPage = 1
this.sarConfigStandSearch.page = 1 this.sarConfigStandSearch.page = 1
this.selectConfiguraStand() this.selectConfiguraStand()
@@ -229,8 +261,8 @@ export default {
// //
cancelConfigStand () { cancelConfigStand () {
this.configStandFlag = false this.configStandFlag = false
this.sarConfigStandSearch.lawsNo='' this.sarConfigStandSearch.lawsNo = ''
this.sarConfigStandSearch.lawsName='' this.sarConfigStandSearch.lawsName = ''
this.configPage = 1 this.configPage = 1
this.selectConfigStand = [] this.selectConfigStand = []
}, },
@@ -246,7 +278,7 @@ export default {
}) })
}, },
// - // -
sortChangeConfig(sortObj) { sortChangeConfig (sortObj) {
if (sortObj.column.order !== 'normal') { if (sortObj.column.order !== 'normal') {
switch (sortObj.prop) { switch (sortObj.prop) {
case 'issueTime' : case 'issueTime' :
@@ -298,7 +330,7 @@ export default {
}, },
// //
saveConfigStand () { saveConfigStand () {
let search = {} const search = {}
search.menuId = this.selectSarMenu.id search.menuId = this.selectSarMenu.id
if (this.selectConfigStand.length === 0) { if (this.selectConfigStand.length === 0) {
this.$message({ this.$message({
@@ -324,9 +356,9 @@ export default {
} }
}, },
formatDate (dateStr) { formatDate (dateStr) {
if (dateStr && dateStr!== '') { if (dateStr && dateStr !== '') {
let dateArr = dateStr.split(',') const dateArr = dateStr.split(',')
return dateArr.map(date => date.slice(0,10)).join(',') return dateArr.map(date => date.slice(0, 10)).join(',')
} }
return dateStr return dateStr
}, },
@@ -335,7 +367,7 @@ export default {
this.$refs.selection.toggleRowSelection(tag, false) this.$refs.selection.toggleRowSelection(tag, false)
}, },
handlePreview (tag) { handlePreview (tag) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherLawsStandDetails', name: 'OtherLawsStandDetails',
params: { params: {
id: tag.id, id: tag.id,
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More