From b321fc6111c6483e3b2e501620d2e7ffc6a22f15 Mon Sep 17 00:00:00 2001
From: liuwh <liuwh@hugeinfo.com.cn>
Date: Wed, 26 Feb 2020 09:15:52 +0800
Subject: [PATCH] 1

---
 SunshineIns/src/fetch/index.js                 |   12 +
 SunshineIns/src/page/ActiveManage.jsx          |  140 ++++++++++++++++
 SunshineIns/src/page/UnderAgeList.jsx          |  224 ++++++++++++++++++++++++++++
 SunshineIns/src/fetch/_fetch.js                |    2 
 SunshineIns/src/fetch/socialCompanySave.js     |    8 +
 SunshineIns/src/fetch/socialCompanyDetail.js   |    9 +
 SunshineIns/src/index.jsx                      |    3 
 SunshineIns/src/fetch/addResult.js             |    6 
 SunshineIns/src/data/menu.js                   |    9 +
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss |    9 +
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml |   16 +
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js   |    8 
 SunshineIns/src/fetch/socialCompanydelete.js   |    9 +
 SunshineIns/src/fetch/socialCompany.js         |    9 +
 14 files changed, 452 insertions(+), 12 deletions(-)

diff --git a/SunshineIns/src/data/menu.js b/SunshineIns/src/data/menu.js
index ca9c0e9..d336d7e 100644
--- a/SunshineIns/src/data/menu.js
+++ b/SunshineIns/src/data/menu.js
@@ -85,7 +85,7 @@
   path: '/sweeping'
 }, {
   id: 'activeManage',
-  name: '活动管理',
+  name: '法制活动',
   icon: active,
   iconCheck: activeCheck,
   path: '/activeManage'
@@ -98,6 +98,13 @@
   path: '/careList'
 },
 {
+  id: 'underAgeList',
+  name: '涉未成年负责部门组织',
+  icon: active,
+  iconCheck: activeCheck,
+  path: '/underAgeList'
+},
+{
   id: 'questionnaire',
   name: '问卷管理部分',
   icon: msgManage,
diff --git a/SunshineIns/src/fetch/_fetch.js b/SunshineIns/src/fetch/_fetch.js
index 0919acd..dbde3fd 100644
--- a/SunshineIns/src/fetch/_fetch.js
+++ b/SunshineIns/src/fetch/_fetch.js
@@ -2,6 +2,8 @@
 
 // export const base = 'http://xnwj.gznsjc.gov.cn';
 export const base = 'http://nsjc.vaiwan.com';
+// export const base = 'http://nsjcy.hugeinfo.com.cn';
+
 // export const base = 'http://192.168.0.147:8081';
 
 export const domain = base + '/nsjc-charge/';
diff --git a/SunshineIns/src/fetch/addResult.js b/SunshineIns/src/fetch/addResult.js
new file mode 100644
index 0000000..0082000
--- /dev/null
+++ b/SunshineIns/src/fetch/addResult.js
@@ -0,0 +1,6 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default ({ id, result}) => fetch(`api/activity/addResult?id=${id||''}&result=${result || ''}`)
+    .catch(
+        error => message.error('列表加载失败,请联系管理员', 2)
+    );
diff --git a/SunshineIns/src/fetch/index.js b/SunshineIns/src/fetch/index.js
index 251a0e1..2c4e035 100644
--- a/SunshineIns/src/fetch/index.js
+++ b/SunshineIns/src/fetch/index.js
@@ -81,6 +81,11 @@
 import attachmentDownload from './attachmentDownload';
 import entryAudit from './entryAudit';
 import signinfo from './signinfo';
+import addResult from './addResult';
+import socialCompany from './socialCompany';
+import socialCompanySave from './socialCompanySave';
+import socialCompanyDetail from './socialCompanyDetail';
+import socialCompanydelete from './socialCompanydelete';
 
 export default {
   domain,
@@ -165,5 +170,10 @@
   entryQuery,
   attachmentDownload,
   entryAudit,
-  signinfo
+  signinfo,
+  addResult,
+  socialCompany,
+  socialCompanySave,
+  socialCompanyDetail,
+  socialCompanydelete
 };
\ No newline at end of file
diff --git a/SunshineIns/src/fetch/socialCompany.js b/SunshineIns/src/fetch/socialCompany.js
new file mode 100644
index 0000000..8f17932
--- /dev/null
+++ b/SunshineIns/src/fetch/socialCompany.js
@@ -0,0 +1,9 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default ({ companyName, companyLegal,companyTel,companyAccount, createTime }) => fetch(`api/socialCompany/finds?companyName=${companyName || ''}&companyLegal=${companyLegal || ''}&companyTel=${companyTel || ''}&companyAccount=${companyAccount || ''}&createTime=${createTime || ''}`)
+    .then(
+        json => json.rows
+    )
+    .catch(
+        error => message.error('列表加载失败,请联系管理员', 2)
+    );
diff --git a/SunshineIns/src/fetch/socialCompanyDetail.js b/SunshineIns/src/fetch/socialCompanyDetail.js
new file mode 100644
index 0000000..15f9a1d
--- /dev/null
+++ b/SunshineIns/src/fetch/socialCompanyDetail.js
@@ -0,0 +1,9 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default (id) => fetch(`api/socialCompany/find?id=${id||'new'}`)
+    .then(
+        json => json
+    )
+    .catch(
+        error => message.error('详情加载失败,请联系管理员', 2)
+    );
diff --git a/SunshineIns/src/fetch/socialCompanySave.js b/SunshineIns/src/fetch/socialCompanySave.js
new file mode 100644
index 0000000..c636f75
--- /dev/null
+++ b/SunshineIns/src/fetch/socialCompanySave.js
@@ -0,0 +1,8 @@
+
+import fetch from './_fetch';
+
+export default (savedate) => {
+    return fetch(`api/socialCompany/save`,
+        savedate
+    );
+}
diff --git a/SunshineIns/src/fetch/socialCompanydelete.js b/SunshineIns/src/fetch/socialCompanydelete.js
new file mode 100644
index 0000000..9944d06
--- /dev/null
+++ b/SunshineIns/src/fetch/socialCompanydelete.js
@@ -0,0 +1,9 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default (id) => fetch(`api/socialCompany/delete?id=${id}`)
+    .then(
+        json => json
+    )
+    .catch(
+        error => message.error('删除失败,请联系管理员', 2)
+    );
diff --git a/SunshineIns/src/index.jsx b/SunshineIns/src/index.jsx
index 62b5c13..816d599 100644
--- a/SunshineIns/src/index.jsx
+++ b/SunshineIns/src/index.jsx
@@ -14,6 +14,8 @@
 import BusDetail from './page/BusDetail';
 import SupPerson from './page/SupPerson';
 import Company from './page/Company';
+// 涉未成年负责部门组织
+import UnderAgeList from './page/UnderAgeList';
 import ActiveManage from './page/ActiveManage';
 import ActiveManageEdit from './page/ActiveManageEdit';
 import KnowledgeBase from './page/KnowledgeBase';
@@ -72,6 +74,7 @@
           <Route path='/active' component={Active} />
           <Route path='/supPerson' component={SupPerson} />
           <Route path='/company' component={Company} />
+          <Route path='/underAgeList' component={UnderAgeList} />
           <Route path='/knowledgeBase' component={KnowledgeBase} />
           <Route path='/articlePublish' component={ArticlePublish} />
           <Route path='/articleEidt/:id' component={ArticleEidt} />
diff --git a/SunshineIns/src/page/ActiveManage.jsx b/SunshineIns/src/page/ActiveManage.jsx
index bc789c1..1eebd18 100644
--- a/SunshineIns/src/page/ActiveManage.jsx
+++ b/SunshineIns/src/page/ActiveManage.jsx
@@ -4,12 +4,13 @@
 import HeadView from '../view/HeadView';
 import TableBtnView from '../view/TableBtnView';
 import CommonSearchForm from '../view/CommonSearchForm';
-import { Divider, Modal, message, Button, Progress } from 'antd'
+import { Divider, Modal, message, Button, Row, Col, Progress, Input, Upload, Icon } from 'antd'
 import moment from 'moment'
 import Fetch from '../fetch';
 import { domain } from '../fetch/_fetch';
 import TableView from '../view/TableView';
 const confirm = Modal.confirm;
+const { TextArea } = Input;
 function typeOfName(type) {
     switch (type) {
         case 0:
@@ -69,14 +70,21 @@
         this.state = {
             data: [],
             resetKey: Date.now(),
-            loading:false,
+            loading: false,
+            confirmLoading: false,
+            modal: false,
+            closeKey: Date.now(),
             formData: {
                 __key: Date.now(),
                 activityType: '',
                 activityStatus: '',
                 startTime: '',
                 endTime: '',
-            }
+            },
+            savedate: {},
+            fileList: [],
+            previewVisible: false,
+            previewImage: '',
         };
     }
 
@@ -92,6 +100,45 @@
         });
     }
 
+    handlePreview = (file) => {
+        this.setState({
+            previewImage: file.url || file.thumbUrl,
+            previewVisible: true,
+        });
+    }
+
+    handleOk = () => {
+        console.log('success')
+        this.setState({ confirmLoading: true });
+        const { savedate } = this.state;
+        console.log(savedate)
+
+        if (!savedate.result) {
+            return message.warning("培训结果不能为空");
+        }
+        Fetch.addResult({ ...savedate })
+            .then(res => {
+                console.log(res)
+                if (res.code === 0) {
+                    this.setState({
+                        confirmLoading: false,
+                        modal: false,
+                        closeKey: Date.now()
+                    }, this.getData);
+                    message.success("提交成功!")
+                } else {
+                    message.error('保存失败,请联系管理员', 2)
+                }
+            });
+    }
+
+    handleCancel = () => {
+        this.setState({
+            closeKey: Date.now(),
+            modal: false
+        });
+    }
+
     searchonClick = data => {
         console.log('form', data);
         this.setState({
@@ -100,11 +147,20 @@
         this.getData();
     }
 
+    saveInputChange = ({ target: { value, name } }) => {
+        this.setState(({ savedate }) => ({
+            savedate: {
+                ...savedate,
+                [name]: value
+            }
+        }))
+    }
+
     getData = () => {
         // this.setState({
         //     data: []
         // });
-        this.setState({loading:true})
+        this.setState({ loading: true })
         Fetch.activeManage({ ...this.state.formData })
             .then(res => {
                 for (var i = 0; i < res.length; i++) {
@@ -112,7 +168,7 @@
                 }
                 this.setState({
                     data: res,
-                    loading:false
+                    loading: false
                 });
             });
     }
@@ -122,6 +178,16 @@
 
     signIn = (id) => {
         window.open('index.html#/signIn/' + id);
+    }
+
+    addResult = (id) => {
+        this.setState(({ savedate }) => ({
+            savedate: {
+                ...savedate,
+                id: id
+            },
+            modal: true
+        }))
     }
 
     pulish = (id) => {
@@ -219,12 +285,44 @@
                                 <label className='theme-color' onClick={() => this.signIn(record.id)} style={{ cursor: 'pointer' }}>签到上墙</label>
                             </span>
                             :
-                            <span><label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>查看</label></span>
+                            record.status == 3 ?
+                                <span>
+                                    <label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>查看</label>
+                                    {!record.result &&
+                                        <React.Fragment>
+                                            <Divider type="vertical" />
+                                            <label className='theme-color' onClick={() => this.addResult(record.id)} style={{ cursor: 'pointer' }}>添加结果</label>
+                                        </React.Fragment>
+                                    }
+                                </span>
+                                :
+                                <span><label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>查看</label></span>
 
                 )
             ),
         }];
-        const { data, resetKey, formData, loading } = this.state;
+        const { data, previewImage, formData, loading, modal, fileList, previewVisible, confirmLoading, closeKey, savedate } = this.state;
+        const props = {
+            action: domain + 'api/v1/attachment/materials?associateTypeId=1020&entityId=' + savedate.id,
+            onChange: ({ file, fileList }) => {
+                this.setState({ fileList });
+            },
+            fileList: fileList,
+            onRemove: (file) => {
+                Fetch.deleteAttachment(file.uid)
+                    .then(res => {
+                        message.success("移除成功!");
+                    });
+                this.setState(({ fileList }) => {
+                    const index = fileList.indexOf(file);
+                    const newFileList = fileList.slice();
+                    newFileList.splice(index, 1);
+                    return {
+                        fileList: newFileList,
+                    };
+                });
+            }
+        };
         return (
             <div className="app-page" >
                 <HeadView history={this.props.history} />
@@ -263,6 +361,34 @@
                         ]} />
                     <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} />
                 </div>
+                <Modal
+                    key={closeKey}
+                    confirmLoading={confirmLoading}
+                    visible={modal}
+                    width={'50%'}
+                    title="添加结果"
+                    onOk={this.handleOk}
+                    onCancel={this.handleCancel}
+                >
+                    <Row type="flex" align='middle' style={{ margin: '12px 0' }} justify="space-around">
+                        <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>培训结果</span></Col>
+                        <Col span={18} push={0} ><TextArea rows={4} placeholder="请输入培训结果" value={savedate.result || ""} onChange={this.saveInputChange} name='result' /></Col>
+                    </Row>
+                    <Row type="flex" align='middle' justify="space-around">
+                        <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>培训材料</span></Col>
+                        <Col span={18} push={0} >
+                            <Upload listType="picture-card" onPreview={this.handlePreview} {...props}>
+                                <div>
+                                    <Icon type="plus" />
+                                    <div className="ant-upload-text">上传图片</div>
+                                </div>
+                            </Upload>
+                            <Modal visible={previewVisible} footer={null} onCancel={this.handleCancel}>
+                                <img alt="example" style={{ width: '100%' }} src={previewImage} />
+                            </Modal>
+                        </Col>
+                    </Row>
+                </Modal>
             </div>
         );
     }
diff --git a/SunshineIns/src/page/UnderAgeList.jsx b/SunshineIns/src/page/UnderAgeList.jsx
new file mode 100644
index 0000000..272a96d
--- /dev/null
+++ b/SunshineIns/src/page/UnderAgeList.jsx
@@ -0,0 +1,224 @@
+import React from 'react';
+
+import HeadView from '../view/HeadView';
+import TableBtnView from '../view/TableBtnView';
+import { Input, Button, DatePicker, Divider, Modal, message } from 'antd'
+import moment from 'moment'
+import Fetch from '../fetch';
+import TableView from '../view/TableView';
+const confirm = Modal.confirm;
+export default class Company extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      data: [],
+      loading: false,
+      visible: false,
+      savedate: {},
+      formdata: {},
+      resetKey: Date.now(),
+      closeKey: Date.now()
+    };
+  }
+
+  componentDidMount() {
+    document.title = '涉未成年负责部门组织';
+    this.getData();
+  }
+  getData = () => {
+    const { formdata } = this.state;
+    Fetch.socialCompany(formdata)
+      .then(res => {
+        for (var i = 0; i < res.length; i++) {
+          res[i]['index'] = i + 1;
+        }
+        this.setState({
+          data: res
+        });
+      });
+  }
+  onInputChange = ({ target: { value, name } }) => {
+    this.setState(({ formdata }) => ({
+      formdata: {
+        ...formdata,
+        [name]: value
+      }
+    }))
+  }
+  saveInputChange = ({ target: { value, name } }) => {
+    this.setState(({ savedate }) => ({
+      savedate: {
+        ...savedate,
+        [name]: value
+      }
+    }))
+  }
+  Seaech = () => {
+    const { formdata } = this.state;
+    Fetch.socialCompany(formdata)
+      .then(res => {
+        for (var i = 0; i < res.length; i++) {
+          res[i]['index'] = i + 1;
+        }
+        this.setState({
+          data: res
+        });
+      });
+  }
+  Reset = () => {
+    this.setState({
+      resetKey: Date.now(),
+      formdata: {}
+    }, this.getData);
+  }
+
+  showModal = (id) => {
+    this.setState({
+      visible: true,
+    });
+    Fetch.socialCompanyDetail(id)
+      .then(res => {
+        this.setState({ savedate: res })
+      })
+  }
+
+  handleOk = () => {
+    this.setState({ loading: true });
+    const { savedate } = this.state;
+    if (savedate.companyTel) {
+      if (!validator.mobile(savedate.companyTel)) {
+        this.setState({
+          loading: false
+        });
+        return message.warning("电话号码格式不正确");
+      }
+    }
+    if (!savedate.companyAccount) {
+      return message.warning("账号不能为空");
+    }
+    if (!savedate.companyPassword) {
+      return message.warning("密码不能为控");
+    }
+    Fetch.socialCompanySave(savedate)
+      .then(res => {
+        if (res.statuscode === 1) {
+          this.setState({
+            loading: false,
+            visible: false,
+            closeKey: Date.now()
+          }, this.getData);
+          message.success("提交成功!")
+        } else {
+          message.error('保存失败,请联系管理员', 2)
+        }
+      });
+  }
+
+  handleCancel = () => {
+    this.setState({
+      closeKey: Date.now(),
+      visible: false
+    });
+  }
+
+  deleteItems = (id) => {
+    confirm({
+      title: '确认要删除这条数据吗?',
+      onOk: () => {
+        Fetch.socialCompanydelete(id)
+          .then(data => {
+            if (data.statuscode == 1) {
+              message.success("删除成功!")
+              this.setState({
+                resetKey: Date.now(),
+                formdata: {}
+              }, this.getData);
+            } else {
+              message.error('删除失败,请联系管理员', 2)
+            }
+          })
+      }
+    });
+  }
+  render() {
+    const columns = [{
+      title: '序号',
+      dataIndex: 'index',
+      key: 'index'
+    }, {
+      title: '公司名称',
+      dataIndex: 'companyName',
+      key: 'companyName'
+    }, {
+      title: '法人姓名',
+      dataIndex: 'companyLegal',
+      key: 'companyLegal',
+    }, {
+      title: '联系电话',
+      dataIndex: 'companyTel',
+      key: 'companyTel',
+    }, {
+      title: '公司地址',
+      dataIndex: 'companyAddress',
+      key: 'companyAddress',
+    }, {
+      title: '管理员账号',
+      dataIndex: 'companyAccount',
+      key: 'companyAccount',
+    }, {
+      title: '管理员密码',
+      dataIndex: 'companyPassword',
+      key: 'companyPassword',
+      render: text => <span>***********</span>
+    }, {
+      title: '创建时间',
+      dataIndex: 'createTime',
+      key: 'createTime',
+      render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
+    }, {
+      title: '操作',
+      key: 'action',
+      render: (text, record) => (
+        <span>
+          <label onClick={() => this.showModal(record.id)} className='theme-color' style={{ cursor: 'pointer' }}>编辑</label>
+          <Divider type="vertical" />
+          <label onClick={() => this.deleteItems(record.id)} className='theme-color' style={{ cursor: 'pointer' }}>删除</label>
+        </span>
+      ),
+    }];
+    const { data, resetKey, visible, loading, savedate, closeKey } = this.state;
+    return (
+
+      <div className="app-page">
+        <HeadView history={this.props.history} />
+        <TableBtnView key={-resetKey} type="infoManage" name='涉未成年负责部门组织' btnName='新建公司' onClick={() => this.showModal('new')}>
+          <Input placeholder="根据公司名称模糊查询" style={{ width: "200px" }} name='companyName' onChange={this.onInputChange} />
+          <Input placeholder="根据法人姓名模糊查询" style={{ width: "200px" }} name='companyLegal' onChange={this.onInputChange} />
+          <Input placeholder="根据联系电话模糊查询" style={{ width: "200px" }} name='companyTel' onChange={this.onInputChange} />
+          <Input placeholder="根据管理员账号模糊查询" style={{ width: "200px" }} name='companyAccount' onChange={this.onInputChange} />
+          <DatePicker onChange={(_, value) => this.onInputChange({ target: { name: 'createTime', value } })} placeholder="根据创建时间查询" />
+          <Button type="primary" onClick={this.Seaech}>查询</Button>
+          <Button onClick={this.Reset}>重置</Button>
+        </TableBtnView>
+        <TableView columns={columns} data={data} pageSize='10' size='default' />
+        <Modal
+          key={closeKey}
+          confirmLoading={loading}
+          visible={visible}
+          title="公司信息"
+          onOk={this.handleOk}
+          onCancel={this.handleCancel}
+          bodyStyle={{ lineHeight: 4 }}
+        >
+          <Input addonBefore="公司名称" name='companyName' onChange={this.saveInputChange} value={savedate.companyName || ''} />
+          <Input addonBefore="法人姓名" name='companyLegal' onChange={this.saveInputChange} value={savedate.companyLegal || ''} />
+          <Input addonBefore="联系电话" name='companyTel' onChange={this.saveInputChange} value={savedate.companyTel || ''} />
+          <Input addonBefore="公司地址" name='companyAddress' onChange={this.saveInputChange} value={savedate.companyAddress || ''} />
+          <Input addonBefore="管理员账号" name='companyAccount' onChange={this.saveInputChange} value={savedate.companyAccount || ''} />
+          <Input addonBefore="管理员密码" name='companyPassword' onChange={this.saveInputChange} value={savedate.companyPassword || ''} />
+        </Modal>
+      </div>
+    );
+  }
+
+}
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js
index 5662339..d63220d 100644
--- a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js
@@ -12,7 +12,9 @@
     loading: false,
     peopleInfo: {},
     signStatus: '',
-    id: ""
+    id: "",
+    topattList:[],
+    bottomattList:[]
   },
 
   /**
@@ -40,7 +42,9 @@
         if (res.data.code == 0) {
           res.data.data.startTime = app.formatDate(res.data.data.startTime)
           that.setData({
-            activity: res.data.data
+            activity: res.data.data,
+            bottomattList:res.data.data.attList.filter((item)=>(item.associateType==1020)),
+            topattList:res.data.data.attList.filter((item)=>(item.associateType==1000))
           })
           console.log('传过来', options.flag)
           console.log('传过来', options.signStatus)
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml
index 04236e8..83b3115 100644
--- a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml
@@ -2,7 +2,7 @@
 <view class="fzpxInfo-bg" wx:if="{{!loading}}">
 	<view class="flex1">
 		<swiper class="screen-swiper square-dot" indicator-dots="true" circular="true" autoplay="true" interval="5000" duration="500">
-			<swiper-item wx:for="{{activity.attList}}" wx:key>
+			<swiper-item wx:for="{{topattList}}" wx:key>
 				<image src="{{item.imgPath}}" mode="aspectFill"></image>
 				<!-- <video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" wx:if="{{item.type=='video'}}"></video> -->
 			</swiper-item>
@@ -39,6 +39,20 @@
 					<view class="fzpxInfo-main-group-around">{{activity.activityDesc}}</view>
 				</view>
 			</view>
+
+			<view wx:if="{{activity.result}}" class="fzpxInfo-main-group">
+				<view class="fzpxInfo-main-group-title">培训结果</view>
+				<view class="fzpxInfo-main-group-around">{{activity.result}}</view>
+			</view>
+
+			<view wx:if="{{activity.result}}" class="fzpxInfo-main-group">
+				<view class="fzpxInfo-main-group-title">培训材料</view>
+				<view class="fzpxInfo-main-group-around" style="display:flex;flex-wrap: wrap">
+					<view class="educt_hasupload_pic" wx:for="{{bottomattList}}" wx:key="index">
+						<image src="{{item.imgPath}}" class="upload"></image>
+					</view>
+				</view>
+			</view>
 		</view>
 
 		<block wx:if="{{activity.activityStatus == 1 && flag == 'true'}}">
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss
index d2c6db6..014d402 100644
--- a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss
@@ -76,6 +76,15 @@
   font-weight: 600;
 }
 
+.upload {
+  width: 48px;
+  height: 48px;
+}
+
+.educt_hasupload_pic {
+  margin: 4px;
+}
+
 .fzpxInfo-foot-txt {
   margin: 6px 6px 24px;
   line-height: 22PX;

--
Gitblit v1.8.0