forked from nsjcy/frontEnd/nsjcy

LiuWenHaoU
2020-05-18 bd09ddbe5eae5e780393d37b72b4da6d4e92fdb8
部分修改及新增功能
19 files added
15 files modified
1156 ■■■■ changed files
SunshineIns/src/conf/cover.scss 8 ●●●●● patch | view | raw | blame | history
SunshineIns/src/data/menu.js 4 ●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/_fetch.js 5 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/findImage.js 3 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/index.js 4 ●●● patch | view | raw | blame | history
SunshineIns/src/fetch/socialDelete copy.js 6 ●●●●● patch | view | raw | blame | history
SunshineIns/src/fetch/socialUpdate.js 2 ●●● patch | view | raw | blame | history
SunshineIns/src/index.jsx 6 ●●●●● patch | view | raw | blame | history
SunshineIns/src/page/ApplyForEdit.jsx 2 ●●● patch | view | raw | blame | history
SunshineIns/src/page/CareList.jsx 36 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/CareListEdit.jsx 244 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/QuestionDetail.jsx 3 ●●●● patch | view | raw | blame | history
SunshineIns/src/page/TopImage.jsx 135 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/app.js 4 ●●●● patch | view | raw | blame | history
SunshineLnsMinApp/app.json 4 ●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/flyz/flyz.js 103 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/flyz/flyz.json 9 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/flyz/flyz.wxml 14 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/flyz/flyz.wxss 37 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/index/index.wxml 25 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.js 102 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.json 9 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.wxml 14 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.wxss 38 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/sbbltb/sbbltb.js 105 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/sbbltb/sbbltb.json 9 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/sbbltb/sbbltb.wxml 14 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/sbbltb/sbbltb.wxss 38 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/zhgh/zhgh.js 2 ●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/zhgh/zhgh.wxml 6 ●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/zscqdt/zscqdt.js 104 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/zscqdt/zscqdt.json 9 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/zscqdt/zscqdt.wxml 14 ●●●●● patch | view | raw | blame | history
SunshineLnsMinApp/pages/zscqdt/zscqdt.wxss 38 ●●●●● patch | view | raw | blame | history
SunshineIns/src/conf/cover.scss
@@ -4,6 +4,14 @@
  background-color: $color-white-10;
}
.ant-breadcrumb {
  font-family: PingFangSC-Medium;
  font-size: 16px;
  color: #333333;
  font-weight: bold;
  margin-bottom: 20px;
}
.am-picker-popup-item {
  color: $color;
}
SunshineIns/src/data/menu.js
@@ -108,6 +108,10 @@
    id: 'lawSubscribe',
    name: '普法预约',
    path: '/lawSubscribe'
  }, {
    id: 'topImage',
    name: '顶部图片设置',
    path: '/topImage'
  }]
},
SunshineIns/src/fetch/_fetch.js
@@ -1,8 +1,9 @@
import fetch from 'hife/fetch';
// export const base = 'http://xnwj.gznsjc.gov.cn';
export const base = 'http://nsjc.vaiwan.com';
//export const base = 'http://120.79.193.119:9021/';
// export const base = 'http://nsjc.vaiwan.com';
export const base = 'http://192.168.16.109:6060/';
// export const base = 'http://120.79.193.119:9021/';
// export const base = 'http://localhost:6060';
export const domain = base + '/nsjc-charge/';
SunshineIns/src/fetch/findImage.js
New file
@@ -0,0 +1,3 @@
import fetch from './_fetch';
export default () => fetch(`api/social/findImage`)
  .then(json => json)
SunshineIns/src/fetch/index.js
@@ -102,6 +102,7 @@
import questionFindPersonById from './questionFindPersonById';
import getAnswer from './getAnswer';
import entryDelete from './entryDelete';
import findImage from './findImage';
export default {
  domain,
@@ -207,5 +208,6 @@
  searchLawDelete,
  questionFindPersonById,
  getAnswer,
  entryDelete
  entryDelete,
  findImage,
};
SunshineIns/src/fetch/socialDelete copy.js
New file
@@ -0,0 +1,6 @@
import fetch from './_fetch';
import { message } from 'antd';
export default (id) => fetch(`api/social/delete/${id}`)
    .catch(
        error => message.error('详情加载失败,请联系管理员', 2)
    );
SunshineIns/src/fetch/socialUpdate.js
@@ -1,6 +1,6 @@
import fetch from './_fetch';
import { message } from 'antd';
export default (id) => fetch(`api/social/update?id=${id}&status=2`)
export default (id, status) => fetch(`api/social/update?id=${id}&status=${status}`)
    .catch(
        error => message.error('详情加载失败,请联系管理员', 2)
    );
SunshineIns/src/index.jsx
@@ -49,6 +49,9 @@
import SignIn from './page/SignIn';
import QuestionDetail from './page/QuestionDetail';
import QuestionPersonDetail from './page/QuestionPersonDetail';
//顶部图片设置
import TopImage from './page/TopImage';
import NoInspectionReportList from './page/NoInspectionReportList';
import NoInspectionReportDetail from './page/NoInspectionReportDetail';
@@ -95,6 +98,7 @@
          <Route path='/articleEidt/:id' component={ArticleEidt} />
          <Route path='/typeManage' component={TypeList} />
          <Route path='/activeManage' component={ActiveManage} />
          <Route path='/topImage' component={TopImage} />
          <Route path='/activeManageEdit/:id' component={ActiveManageEdit} />
          <Route path='/activeManageEditquestionnaire/:id' component={ActiveManageEditquestionnaire} />
          <Route path='/snapshot' component={Snapshot} />
@@ -114,7 +118,9 @@
          <Route path='/entry/ApplyForEdit/:id' component={ApplyForEdit} />
          <Route path='/entry/examine' component={Examine} />
          <Route path='/entry/examineEdit/:id' component={ExamineEdit} />
          <Route path='/topImage' component={TopImage} />
          {/* 问卷管理部分 */}
          <Route path='/questionnaire/newlyList' component={NewlyList} />
          <Route path='/questionnaire/newly/:id' component={Newly} />
SunshineIns/src/page/ApplyForEdit.jsx
@@ -137,7 +137,7 @@
        this.setState({
            loading: true
        });
        Fetch.socialUpdate(savedate.id)
        Fetch.socialUpdate(savedate.id,2)
            .then(res => {
                if (res.code === 0) {
                    message.success("结束任务成功!");
SunshineIns/src/page/CareList.jsx
@@ -18,6 +18,8 @@
            return "社会调查";
        case 4:
            return "心理疏导";
        case 5:
            return "法律援助";
    }
}
@@ -26,19 +28,21 @@
    2: '合适成年人',
    3: '社会调查',
    4: '心理疏导',
    5: '法律援助',
}
const activityTypeList = [
    1,
    2,
    3,
    4
    4,
    5
]
const activityStatusIds = {
    0: '未开始',
    1: '进行中',
    2: '已结束',
    99: '结束',
    99: '暂停',
}
const activityStatusList = [
@@ -138,6 +142,22 @@
        }, this.getData);
    }
    reboot = (e,status) => {
        this.setState({ loading: true })
        Fetch.socialUpdate(e, status).then(res => {
            if (res.code == 0) {
                console.log(res)
                this.setState({ loading: false })
                message.success(status==0?'重启任务成功':'暂停任务成功');
                this.getData();
            } else {
                this.setState({ loading: false })
                message.error('删除失败,请联系管理员', 2)
            }
        }
        )
    }
    confirm = (e) => {
        console.log(e);
        this.setState({ loading: true })
@@ -170,7 +190,7 @@
            key: 'status',
            render: text => (
                text == 0 ?
                    <Badge style={{ backgroundColor: '#6C757C' }} count={'未开始'} /> : text == 1 ? <Badge count={'进行中'} style={{ backgroundColor: '#F1C40F' }} /> : text == 2 ? <Badge count={'已结束'} style={{ backgroundColor: '#2ECC71' }} /> : <Badge count={'结束'} style={{ backgroundColor: '#2ECC71' }} />
                    <Badge style={{ backgroundColor: '#6C757C' }} count={'未开始'} /> : text == 1 ? <Badge count={'进行中'} style={{ backgroundColor: '#F1C40F' }} /> : text == 2 ? <Badge count={'已结束'} style={{ backgroundColor: '#2ECC71' }} /> : <Badge count={'暂停'} style={{ backgroundColor: '#2ECC71' }} />
            )
        }, {
            title: '创建时间',
@@ -205,15 +225,23 @@
                                    cancelText="取消"
                                >
                                    <a href="#">删除</a>
                                    <Divider type="vertical" />
                                </Popconfirm>
                                <a onClick={() => this.reboot(record.id, 99)}>暂停</a>
                            </React.Fragment> :
                            record.status == 1 ?
                                <React.Fragment>
                                    <a onClick={() => this.showModal(record.id)}>查看</a>
                                    <Divider type="vertical" />
                                    <a onClick={() => this.showModal(record.id)}>结束任务</a>
                                    <Divider type="vertical" />
                                    <a onClick={() => this.reboot(record.id, 99)}>暂停</a>
                                </React.Fragment> :
                                <a onClick={() => this.showModal(record.id)}>查看</a>
                                <React.Fragment>
                                    <a onClick={() => this.showModal(record.id)}>查看</a>
                                    <Divider type="vertical" />
                                    <a onClick={() => this.reboot(record.id, 0)}>重启</a>
                                </React.Fragment>
                    }
                </span>
            ),
SunshineIns/src/page/CareListEdit.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import { Row, Col, Input, DatePicker, Button, Modal, Upload, Table, message, Breadcrumb, TimePicker, Badge, Select, Popconfirm, Spin } from 'antd';
import { Row, Col, Input, DatePicker, Button, Modal, Upload, Table, message, Breadcrumb, TimePicker, Badge, Select, Popconfirm, Spin, Divider } from 'antd';
const { TextArea } = Input;
import HeadView from '../view/HeadView';
import BusDetailView from '../view/BusDetailView';
@@ -22,16 +22,14 @@
function typeStatus(type) {
    switch (type) {
        case 0:
            return "未开始";
        case 1:
            return "待审核";
            return "进行中";
        case 2:
            return "未签到";
        case 3:
            return "已签到";
        case 4:
            return "不通过";
            return "已结束";
        case 99:
            return "取消";
            return "暂停";
    }
}
export default class CareListEdit extends React.Component {
@@ -52,6 +50,7 @@
            disabled: true,
            status: '',
            loading: false,
            btlloading: false,
            socialTaskObject: '',
            // rowNum: 4,
            editorState: BraftEditor.createEditorState(null),
@@ -88,11 +87,9 @@
                        taskType: res.taskType || 1
                    },
                    taskType: res.taskType || 1,
                    // status: res.activityStatus || '',
                    socialTaskObject: res.socialTaskObject ? { id: res.socialTaskObject.objectId, objectName: res.socialTaskObject.objectName, taskReport: res.socialTaskObject.taskReport } : {},
                    // rowNum: ReplaceSeperator(res.socialTaskObject.taskReport),
                    disabled: res.status ? true : false,
                    fileList: res.attachments || [],
                    list: res.tasks || [],
                    socialTaskObject: res.socialTaskObject ? { id: res.socialTaskObject.objectId, objectName: res.socialTaskObject.objectName, taskReport: res.socialTaskObject.taskReport } : {},
                    loading: false,
                });
            })
@@ -102,6 +99,15 @@
        this.setState(({ savedate }) => ({
            savedate: {
                ...savedate,
                [name]: value
            }
        }))
    }
    saveModalInputChange = ({ target: { value, name } }) => {
        this.setState(({ modalData }) => ({
            modalData: {
                ...modalData,
                [name]: value
            }
        }))
@@ -118,24 +124,30 @@
    }
    submit = () => {
        const { savedate, socialTaskObject } = this.state;
        const { savedate, socialTaskObject, list } = this.state;
        savedate.startTime = moment(savedate.startDate + " " + moment(savedate.startHour).format(format), 'YYYY-MM-DD HH:mm')
        savedate.endTime = moment(savedate.endDate + " " + moment(savedate.endHour).format(format), 'YYYY-MM-DD HH:mm')
        console.log(savedate);
        console.log(moment(savedate.startTime).valueOf());
        console.log(moment(new Date()).valueOf());
        console.log(socialTaskObject);
        let data2 = {}
        if (!savedate.taskTitle) {
            message.warning("任务标题不能为空");
            return;
        }
        if (moment(savedate.startTime) < moment(new Date())) {
        if (moment(savedate.startTime).valueOf() < moment(new Date()).valueOf()) {
            message.warning("开始时间必须大于当前时间");
            console.log(moment(savedate.startTime))
            console.log(moment(new Date()))
            return;
        }
        if (moment(savedate.endTime) < moment(savedate.startTime)) {
        if (moment(savedate.endTime).valueOf() < moment(savedate.startTime).valueOf()) {
            message.warning("结束时间必须大于开始时间");
            return;
        }
        if (list.length == 0) {
            message.warning("请至少添加一个子任务");
            return;
        }
        if (!socialTaskObject.id) {
@@ -146,20 +158,49 @@
            const data1 = { objectId: data[0].id, objectName: data[0].companyName }
            console.log(data)
            console.log(data1)
            data2 = { ...savedate, socialTaskObject: data1 }
            data2 = { ...savedate, socialTaskObject: data1, tasks: list }
        }
        console.log(data2)
        this.setState({ btlloading: true })
        Fetch.socialSave(data2)
            .then(res => {
                if (res.code === 0) {
                    this.setState({ btlloading: false })
                    message.success("提交成功!");
                    this.props.history.push("/careList")
                } else {
                    message.error('保存失败,请联系管理员', 2)
                }
            });
    }
    modalhandleOk = () => {
        const { modalData, taskAddress, list } = this.state;
        if (!modalData.taskAddress) {
            message.warning("任务地点不能为空");
            return;
        }
        if (!modalData.taskTitle) {
            message.warning("任务标题不能为空");
            return;
        }
        if (!modalData.taskRequire) {
            message.warning("任务要求不能为空");
            return;
        }
        if (!modalData.taskProcess) {
            message.warning("任务流程不能为空");
            return;
        }
        // 如果数组中存在此对象则删除原对象末尾添加新的对象,如果是新增的对象则直接添加在尾部
        var newList = list.find(item => item.id == modalData.id) ? list.filter(item => item.id !== modalData.id) : list;
        newList.push({ ...modalData, status: 0 })
        console.log('newList', newList)
        this.setState({
            modalshowVisible: false,
            list: newList
        })
    }
    cancle = () => {
@@ -191,7 +232,7 @@
        this.setState({
            visible: false,
        });
        Fetch.socialUpdate(savedate.id)
        Fetch.socialUpdate(savedate.id, 2)
            .then(res => {
                if (res.code === 0) {
                    message.success("结束任务成功!");
@@ -373,10 +414,9 @@
    }
    modalshow = () => {
        this.setState({ modalshowVisible: true })
        const { id } = this.props.match.params;
        this.setState({ modalshowVisible: true, modalData: {} })
        this.setState({ loading: true })
        Fetch.socialfind(id)
        Fetch.socialfind('new')
            .then(res => {
                console.log(res)
                this.setState({
@@ -385,17 +425,14 @@
                    },
                    editorState: BraftEditor.createEditorState(res.taskRequire),
                    editorStatetaskProcess: BraftEditor.createEditorState(res.taskProcess),
                    taskType: res.taskType || 1,
                    socialTaskObject: res.socialTaskObject ? { id: res.socialTaskObject.objectId, objectName: res.socialTaskObject.objectName, taskReport: res.socialTaskObject.taskReport } : {},
                    modaldisabled: res.status ? true : false,
                    fileList: res.attachments || [],
                    loading: false,
                });
            })
    }
    modalshowCancel = () => {
        this.setState({ modalshowVisible: false })
        this.setState({ modalshowVisible: false, fileList: [] })
    }
    handleOk = () => {
@@ -420,7 +457,7 @@
        }
        console.log(modalData)
        //提交完成后关闭弹窗,刷新列表
        // Fetch.addResult({ ...modalData })
        //     .then(res => {
        //         console.log(res)
@@ -447,22 +484,34 @@
                title: '编号',
                dataIndex: 'key',
                key: 'key',
                render: (text, record, index) => <span>{index + 1}</span>
            },
            {
                title: '任务流程',
                title: '任务地点',
                dataIndex: 'taskAddress',
                key: 'taskAddress',
            },
            {
                title: '任务要求',
                dataIndex: 'taskProcess',
                key: 'taskProcess',
                title: '任务标题',
                dataIndex: 'taskTitle',
                key: 'taskTitle',
            },
            {
                title: '状态',
                dataIndex: 'status',
                key: 'status',
                render: (text, record) => <span>{typeStatus(text)}</span>
            }, {
                title: '操作',
                key: 'action',
                render: (text, record) => (
                    <span>
                        <label onClick={() => { this.onDetail(text, record) }} className="theme-color">详情</label>
                        {
                            this.state.disabled ?
                                <label onClick={() => { this.onDetail(text, record) }} className="theme-color">详情</label>
                                :
                                <label onClick={() => { this.onDetail(text, record) }} className="theme-color">编辑</label>
                        }
                        <Divider type="vertical" />
                        <Popconfirm placement="topRight" title={'你确定要删除该条记录吗'} onConfirm={() => { this.onDel(text, record) }} okText="确定" cancelText="取消">
                            <label className="theme-color">删除</label>
@@ -475,6 +524,10 @@
    onDel = (_text, _record) => {
        console.log(_text, _record)
        const { list } = this.state;
        this.setState({
            list: list.filter(({ id }) => (id !== _record.id))
        })
        // Fetch.businessDel({ businessId: _text.businessId }).then(res => {
        //     if (res.code == 0) {
        //         message.warning('正在更新列表');
@@ -486,11 +539,18 @@
    }
    onDetail = (_text, _record) => {
        console.log(_text, _record)
        this.setState({
            modalData: _record,
            editorState: BraftEditor.createEditorState(_record.taskRequire),
            editorStatetaskProcess: BraftEditor.createEditorState(_record.taskProcess),
            fileList: _record.attachments || [],
            modalshowVisible: true
        })
    }
    render() {
        const { savedate, editorState, socialTaskObject, fileList, editorStatetaskProcess, hitList, taskType, disabled, loading, modalData, modalshowVisible, list, modaldisabled } = this.state;
        const { savedate, editorState, socialTaskObject, fileList, editorStatetaskProcess, confirmLoading, btlloading, taskType, disabled, loading, modalData, modalshowVisible, list, modaldisabled } = this.state;
        console.log(modalData)
        const props = {
            action: domain + 'api/v1/attachment/materials?entityId=' + savedate.id,
            onChange: ({ file, fileList }) => {
@@ -533,44 +593,6 @@
            )
            )
        }];
        const act2columns = [{
            title: '报名方',
            dataIndex: 'proposerName',
            key: 'proposerName'
        }, {
            title: '报名方性质',
            dataIndex: 'signerType',
            key: 'signerType',
            render: text => (<span>{text == 1 ? '个人' : '企业'}</span>)
        }, {
            title: '报名人数',
            dataIndex: 'signNum',
            key: 'signNum',
        }, {
            title: '审核状态',
            dataIndex: 'signStatus',
            key: 'signStatus',
            render: text => (<span>{typeStatus(text)}</span>)
        }, {
            title: '操作',
            dataIndex: 'isHit',
            key: 'isHit',
            render: (text, record) => (
                record.signStatus == 1 ?
                    <Popconfirm
                        title="确认通过审核吗?"
                        id={record.id}
                        onConfirm={e => this.confirm(record.id)}
                        onCancel={this.cancel}
                        okText="通过"
                        cancelText="不通过"
                    >
                        <a href="#">审核</a>
                    </Popconfirm> : <span disabled>审核</span>
            )
        }];
        return (
            <div className="app-page">
                <Spin spinning={loading}>
@@ -589,6 +611,7 @@
                                        <Option value={2}>合适成年人</Option>
                                        <Option value={3}>社会调查</Option>
                                        <Option value={4}>心理疏导</Option>
                                        <Option value={5}>法律援助</Option>
                                    </Select>
                                </Col>
                                <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务标题</span></Col>
@@ -619,14 +642,6 @@
                                <Col span={6} push={0} >
                                    <Button style={{ width: '300px' }} disabled={disabled} onClick={this.modalshow}>请添加</Button>
                                </Col>
                                <Col span={12} pull={0}></Col>
                            </Row>
                        </div>
                        <Table dataSource={list} pagination={false} columns={this.renderColumns()} />
                        <div style={divStyle}>
                            <Row type="flex" align='middle' justify="space-around">
                                <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务对象</span></Col>
                                <Col span={6} push={0} >
                                    <Select disabled={disabled} value={socialTaskObject ? socialTaskObject.id : ''} style={{ width: "300px" }} onChange={(value) => this.selectChange({ target: { name: 'id', value } })}>
@@ -637,38 +652,11 @@
                                        }
                                    </Select>
                                </Col>
                                <Col span={12} pull={0}></Col>
                            </Row>
                        </div>
                        {
                            savedate.status ?
                                <div style={divStyle}>
                                    <Row type="flex" align='middle' justify="space-around">
                                        <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务汇报</span></Col>
                                        <Col span={18} push={0} >
                                            <TextArea disabled={disabled} rows={8} value={socialTaskObject.taskReport || ""} onChange={this.saveInputChange} name='taskReport' />
                                        </Col>
                                        <Col span={12} pull={0}></Col>
                                    </Row>
                                </div> : ''
                        }
                        <Table dataSource={list} style={{ margin: '24px' }} pagination={false} columns={this.renderColumns()} />
                        {
                            savedate.status ?
                                <div style={divStyle}>
                                    <div style={divStyle}>
                                        <Row type="flex" align='top' justify="space-around">
                                            <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>汇报附件</span></Col>
                                            <Col span={18} push={0} >
                                                <Upload disabled={disabled} listType="picture-card" onPreview={this.handlePreview} {...props}>
                                                </Upload>
                                            </Col>
                                        </Row>
                                    </div>
                                </div> : ''
                        }
                        {
@@ -683,7 +671,7 @@
                                        <Button style={{ marginLeft: '15px', width: '150px' }} onClick={this.cancle}>返回</Button>
                                    </div> :
                                    <div style={{ display: 'flex', justifyContent: 'center' }}>
                                        <Button style={{ marginRight: '15px', width: '150px' }} type="primary" onClick={this.submit}>提交</Button>
                                        <Button loading={btlloading} style={{ marginRight: '15px', width: '150px' }} type="primary" onClick={this.submit}>提交</Button>
                                        <Button style={{ marginLeft: '15px', width: '150px' }} onClick={this.cancle}>返回</Button>
                                    </div>
                        }
@@ -710,9 +698,9 @@
                        <div style={divStyle}>
                            <Row type="flex" align='middle' justify="space-around">
                                <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务地点</span></Col>
                                <Col span={6} push={0} ><Input disabled={modaldisabled} placeholder="请输入任务地点" name='taskAddress' onChange={this.saveInputChange} value={modalData.taskAddress || ""} /></Col>
                                <Col span={6} push={0} ><Input disabled={disabled} placeholder="请输入任务地点" name='taskAddress' onChange={this.saveModalInputChange} value={modalData.taskAddress || ""} /></Col>
                                <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务标题</span></Col>
                                <Col span={6} push={0} ><Input disabled={modaldisabled} placeholder="请输入任务标题" name='taskTitle' onChange={this.saveInputChange} value={modalData.taskTitle || ""} /></Col>
                                <Col span={6} push={0} ><Input disabled={disabled} placeholder="请输入任务标题" name='taskTitle' onChange={this.saveModalInputChange} value={modalData.taskTitle || ""} /></Col>
                            </Row>
                        </div>
                        <div style={divStyle}>
@@ -722,8 +710,8 @@
                                    <BraftEditor
                                        value={editorState}
                                        disabled={modaldisabled}
                                        placeholder='请输入活动进程'
                                        disabled={disabled}
                                        placeholder='请输入任务要求'
                                        media={{
                                            allowPasteImage: true, // 是否允许直接粘贴剪贴板图片(例如QQ截图等)到编辑器
                                            image: true, // 开启图片插入功能
@@ -747,8 +735,8 @@
                                    <BraftEditor
                                        value={editorStatetaskProcess}
                                        disabled={modaldisabled}
                                        placeholder='请输入活动进程'
                                        disabled={disabled}
                                        placeholder='请输入任务流程'
                                        media={{
                                            allowPasteImage: true, // 是否允许直接粘贴剪贴板图片(例如QQ截图等)到编辑器
                                            image: true, // 开启图片插入功能
@@ -764,6 +752,34 @@
                                </Col>
                            </Row>
                        </div>
                        {
                            savedate.status == 1 || savedate.status == 2 ?
                                <div style={divStyle}>
                                    <Row type="flex" align='middle' justify="space-around">
                                        <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>任务汇报</span></Col>
                                        <Col span={18} push={0} >
                                            <TextArea disabled={disabled} rows={8} value={socialTaskObject.taskReport || ""} onChange={this.saveModalInputChange} name='taskReport' />
                                        </Col>
                                        <Col span={12} pull={0}></Col>
                                    </Row>
                                </div> : ''
                        }
                        {
                            savedate.status == 1 || savedate.status == 2 ?
                                <div style={divStyle}>
                                    <div style={divStyle}>
                                        <Row type="flex" align='top' justify="space-around">
                                            <Col span={6} pull={0} style={{ textAlign: 'center' }}><span>汇报附件</span></Col>
                                            <Col span={18} push={0} >
                                                <Upload disabled={disabled} listType="picture-card" onPreview={this.handlePreview} {...props}>
                                                </Upload>
                                            </Col>
                                        </Row>
                                    </div>
                                </div> : ''
                        }
                    </Modal>
                </Spin>
            </div>
SunshineIns/src/page/QuestionDetail.jsx
@@ -7,7 +7,8 @@
import moment from 'moment';
const divStyle = {
  margin: '20px'
  padding: '20px',
  background: '#fff'
}
export default class QuestionDetail extends React.Component {
  constructor(props) {
SunshineIns/src/page/TopImage.jsx
New file
@@ -0,0 +1,135 @@
import React from 'react';
import { Upload, Icon, message, Modal, Button, Row, Col, Breadcrumb } from 'antd';
import { domain } from '../fetch/_fetch';
import Fetch from '../fetch';
import HeadView from '../view/HeadView';
const divStyle = {
    margin: '20px',
    minHeight: "500px",
    padding: "12px"
}
export default class TopImage extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            previewVisible: false,
            previewImage: '',
            fileList: []
        };
    }
    componentDidMount() {
        document.title = '顶部图片设置';
        this.getData();
    }
    getData = () => {
        Fetch.findImage()
            .then(res => {
                if (res.code == 0) {
                    this.setState({
                        fileList: res.data.length > 0 ? [res.data[0]] : []
                    });
                }
            }, err => {
                message.error(err);
            });
    }
    handlePreview = (file) => {
        this.setState({
            previewImage: file.url || file.thumbUrl,
            previewVisible: true,
        });
    }
    //只能上传一张
    beforeUpload = (file) => {
        if (this.state.fileList.length === 0) {
            this.setState(state => ({
                fileList: [...state.fileList, file],
            }));
        } else {
            message.error('只能上传一个文件');
            this.setState(state => ({
                fileList: [...state.fileList],
            }));
        }
        return false;
    }
    handleCancel = () => {
        this.setState({
            previewVisible: false
        });
    }
    render() {
        const { fileList, previewVisible, previewImage } = this.state;
        console.log(fileList)
        const uploadButton = (
            <div>
                <Icon type="plus" />
                <div className="ant-upload-text">上传图片</div>
            </div>
        );
        return (
            <div className="app-page" >
                <HeadView history={this.props.history} />
                <div className="top-image-main" style={{ background: '#fff', margin: 20 }}>
                    <div style={divStyle}>
                        <Breadcrumb>
                            <Breadcrumb.Item>顶不图片设置</Breadcrumb.Item>
                        </Breadcrumb>
                        <Row type="flex" align='middle'>
                            <Col span={18} push={0} >
                                <Upload
                                    action={domain + `api/v1/attachment/materials?associateTypeId=1021&entityId=image`}
                                    listType="picture-card"
                                    fileList={fileList}
                                    onPreview={this.handlePreview}
                                    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,
                                            };
                                        });
                                    }}
                                    onDownload={(file) => {
                                        console.log(file)
                                        Fetch.attachmentDownload(file.uid)
                                            .then(res => {
                                                message.success("下载成功!");
                                            });
                                    }}
                                    onChange={({ file, fileList }) => {
                                        if (file.status !== 'uploading') {
                                            console.log(file);
                                            console.log(fileList);
                                        }
                                        this.setState({ fileList });
                                    }}>
                                    {fileList.length >= 1 ? null : uploadButton}
                                </Upload>
                                <Modal visible={previewVisible} footer={null} onCancel={this.handleCancel}>
                                    <img alt="example" style={{ width: '100%' }} src={previewImage} />
                                </Modal>
                            </Col>
                        </Row>
                    </div>
                </div >
            </div>
        );
    }
}
SunshineLnsMinApp/app.js
@@ -10,11 +10,11 @@
  globalData: {
    userInfo: null,
    pageData: {},
     url: 'https://nsjcy.hugeinfo.com.cn/nsjc-charge',
    //  url: 'https://nsjcy.hugeinfo.com.cn/nsjc-charge',
    // url: 'http://1p885086k1.iok.la/nsjc-charge',
    //url: 'http://localhost:6060/nsjc-charge',
    imgUrl: 'https://nsjcy.hugeinfo.com.cn/nsjc-charge',
    //url: 'http://nsjc.vaiwan.com/nsjc-charge',
    url: 'http://nsjc.vaiwan.com/nsjc-charge',
    // imgUrl: 'http://nsjc.vaiwan.com/nsjc-charge'
  },
  // 过滤数组
SunshineLnsMinApp/app.json
@@ -88,6 +88,10 @@
    "pages/xsjb/xsjb",
    "pages/yshjqyfw/yshjqyfw",
    "pages/dxal/dxal",
    "pages/zscqdt/zscqdt",
    "pages/sbbltb/sbbltb",
    "pages/qyfwdt/qyfwdt",
    "pages/flyz/flyz",
    "pages/flcx/flcx",
    "pages/zscqxsjb/zscqxsjb",
    "pages/zscqjb/zscqjb",
SunshineLnsMinApp/pages/flyz/flyz.js
New file
@@ -0,0 +1,103 @@
// pages/flyz/flyz.js
var app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    dongtai1_1: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
    dongtai2_1: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
    dongtai3_1: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
    inputShowed: false,
    inputVal: "",
    page: 1,
    content: '------加载中------',
    items: [],
    count: 0,
    scrollTop: 0,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    var that = this;
    wx.showLoading();
    wx.request({
      url: app.globalData.url + '/api/article/publicMsgQuery',
      data: {
        page: that.data.page,
        size: 10,
        flag: '法律援助',
      },
      success: function(res) {
        wx.hideLoading();
        console.log('res', res);
        if (res.data.code == 0) {
          let content = res.data.data.result.content.map(({
            createTime,
            ...i
          }) => ({
            ...i,
            createTime: app.formatDate(createTime),
          }));
          console.log(content)
          if (content.length < 10) {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: false,
              content: '------我是有底线的------'
            })
          } else {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: true,
              content: '------加载更多------',
              page: that.data.page + 1
            })
          }
        } else {
          wx.showToast({
            title: res.data.msg,
          })
        }
      }
    })
  },
  getList: (count = 10, step = 0) => [...new Array(count)].map((n, i) => ({
    title: `Pull down ${i + step}`,
    content: 'Wux Weapp'
  })),
  linkFunction: function(event) {
    var str = event.currentTarget.dataset['str'];
    var id = event.currentTarget.dataset['id'];
    wx.navigateTo({
      url: '../' + str + '/' + str + '?id=' + id
    })
  },
  showInput: function() {
    this.setData({
      inputShowed: true
    });
  },
  hideInput: function() {
    this.setData({
      inputVal: "",
      inputShowed: false
    });
  },
  clearInput: function() {
    this.setData({
      inputVal: ""
    }, () => {});
  },
})
SunshineLnsMinApp/pages/flyz/flyz.json
New file
@@ -0,0 +1,9 @@
{
  "navigationBarTitleText": "法律援助",
  "backgroundTextStyle": "light",
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTextStyle": "black",
  "usingComponents": {
    "wux-refresher": "../../templeteDist/wuxDist/refresher/index"
  }
}
SunshineLnsMinApp/pages/flyz/flyz.wxml
New file
@@ -0,0 +1,14 @@
<!--pages/flyz/flyz.wxml-->
<view class="zhwj-b">
  <view class="zhwj-b-main" wx:for="{{ items }}" data-str="dxalInfo" data-Id="{{item.id}}" bindtap='linkFunction'>
    <view class="zhwj-b-head-l">
      <view class="zhwj-b-head-l-title text-black">{{item.title}}</view>
      <view class="text-grey">{{item.createTime}}
        <text decode="{{true}}" space="{{true}}">&nbsp;&nbsp;&nbsp;&nbsp;</text>{{item.readCount}}阅读</view>
    </view>
    <!-- <view class="zhwj-b-head-r">
      <image mode='widthFix' src="{{item.attList[0].path}}"></image>
    </view> -->
  </view>
  <div class="businessSchedule-load">------{{content}}------</div>
</view>
SunshineLnsMinApp/pages/flyz/flyz.wxss
New file
@@ -0,0 +1,37 @@
/* pages/flyz/flyz.wxss */
@import '../../weui.wxss';
.zhwj-b-main {
  display: flex;
  border-bottom: 1px solid #ebf2fa;
}
.zhwj-b-head-l {
  margin: 6px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.businessSchedule-load {
  display: flex;
  justify-content: center;
  color: #999;
  font-size: 14px;
  margin-bottom: 4vh;
}
.zhwj-b-head-r {
  margin: 6px;
}
.zhwj-b-head-r image {
  width: 108px;
  height: 80px;
}
.zhwj-b {
  background-color: #fff;
}
SunshineLnsMinApp/pages/index/index.wxml
@@ -137,6 +137,11 @@
          </view>
        </view>
        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
          <view class="bg-img" data-str="flyz" bindtap='linkFunction' style="background-image: url('https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1291150546,1510144282&fm=26&gp=0.jpg');">
            <view class="bg-shadeTop">
              法律援助
            </view>
          </view>
        </view>
      </view>
    </view>
@@ -155,6 +160,11 @@
          </view>
        </view>
        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
          <view class="bg-img" data-str="qyfwdt" bindtap='linkFunction' style="background-image: url('https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1291150546,1510144282&fm=26&gp=0.jpg');">
            <view class="bg-shadeTop">
              企业服务动态
            </view>
          </view>
        </view>
      </view>
    </view>
@@ -325,6 +335,21 @@
        <!-- <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
        </view> -->
      </view>
      <view class='VerticalNav-flex-t'>
        <view class="bg-img" data-str="zscqdt" data-id="9" bindtap='clinkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577104674828&di=1ad5819ce06281fb5090a4038980917e&imgtype=0&src=http%3A%2F%2Fimage.sike.news.cn%2Fuploads%2F2019%2F05%2F2019-05-2451.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
          <view class="bg-shadeTop">
            知识产权动态
          </view>
        </view>
        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
          <view class="bg-img" data-str="sbbltb" bindtap='linkFunction' style="background-image: url('https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1291150546,1510144282&fm=26&gp=0.jpg');">
            <view class="bg-shadeTop">
              双报备两同步
            </view>
          </view>
        </view>
      </view>
      <view class='VerticalNav-flex-t'>
        <view class="bg-img" data-str="dxal" bindtap='linkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576728478957&di=92cf3e9b32826d6c0ec68b6306dbcdde&imgtype=0&src=http%3A%2F%2Ffile02.16sucai.com%2Fd%2Ffile%2F2014%2F0929%2F3955d4164aff7094561456a5f429d0b3.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.js
New file
@@ -0,0 +1,102 @@
var app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    dongtai1_1: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
    dongtai2_1: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
    dongtai3_1: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
    inputShowed: false,
    inputVal: "",
    page: 1,
    content: '------加载中------',
    items: [],
    count: 0,
    scrollTop: 0,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    var that = this;
    wx.showLoading();
    wx.request({
      url: app.globalData.url + '/api/article/publicMsgQuery',
      data: {
        page: that.data.page,
        size: 10,
        flag: '企业服务动态',
      },
      success: function(res) {
        wx.hideLoading();
        console.log('res', res);
        if (res.data.code == 0) {
          let content = res.data.data.result.content.map(({
            createTime,
            ...i
          }) => ({
            ...i,
            createTime: app.formatDate(createTime),
          }));
          console.log(content)
          if (content.length < 10) {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: false,
              content: '------我是有底线的------'
            })
          } else {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: true,
              content: '------加载更多------',
              page: that.data.page + 1
            })
          }
        } else {
          wx.showToast({
            title: res.data.msg,
          })
        }
      }
    })
  },
  getList: (count = 10, step = 0) => [...new Array(count)].map((n, i) => ({
    title: `Pull down ${i + step}`,
    content: 'Wux Weapp'
  })),
  linkFunction: function(event) {
    var str = event.currentTarget.dataset['str'];
    var id = event.currentTarget.dataset['id'];
    wx.navigateTo({
      url: '../' + str + '/' + str + '?id=' + id
    })
  },
  showInput: function() {
    this.setData({
      inputShowed: true
    });
  },
  hideInput: function() {
    this.setData({
      inputVal: "",
      inputShowed: false
    });
  },
  clearInput: function() {
    this.setData({
      inputVal: ""
    }, () => {});
  },
})
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.json
New file
@@ -0,0 +1,9 @@
{
  "navigationBarTitleText": "企业服务动态",
  "backgroundTextStyle": "light",
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTextStyle": "black",
  "usingComponents": {
    "wux-refresher": "../../templeteDist/wuxDist/refresher/index"
  }
}
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.wxml
New file
@@ -0,0 +1,14 @@
<!--pages/qyfwdt/qyfwdt.wxml-->
<view class="zhwj-b">
  <view class="zhwj-b-main" wx:for="{{ items }}" data-str="dxalInfo" data-Id="{{item.id}}" bindtap='linkFunction'>
    <view class="zhwj-b-head-l">
      <view class="zhwj-b-head-l-title text-black">{{item.title}}</view>
      <view class="text-grey">{{item.createTime}}
        <text decode="{{true}}" space="{{true}}">&nbsp;&nbsp;&nbsp;&nbsp;</text>{{item.readCount}}阅读</view>
    </view>
    <!-- <view class="zhwj-b-head-r">
      <image mode='widthFix' src="{{item.attList[0].path}}"></image>
    </view> -->
  </view>
  <div class="businessSchedule-load">------{{content}}------</div>
</view>
SunshineLnsMinApp/pages/qyfwdt/qyfwdt.wxss
New file
@@ -0,0 +1,38 @@
/* pages/qyfwdt/qyfwdt.wxss */
@import '../../weui.wxss';
.zhwj-b-main {
  display: flex;
  border-bottom: 1px solid #ebf2fa;
}
.zhwj-b-head-l {
  margin: 6px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.businessSchedule-load {
  display: flex;
  justify-content: center;
  color: #999;
  font-size: 14px;
  margin-bottom: 4vh;
}
.zhwj-b-head-r {
  margin: 6px;
}
.zhwj-b-head-r image {
  width: 108px;
  height: 80px;
}
.zhwj-b {
  background-color: #fff;
}
SunshineLnsMinApp/pages/sbbltb/sbbltb.js
New file
@@ -0,0 +1,105 @@
// pages/sbbltb/sbbltb.js
// pages/dxal/dxal.js
var app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    dongtai1_1: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
    dongtai2_1: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
    dongtai3_1: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
    inputShowed: false,
    inputVal: "",
    page: 1,
    content: '------加载中------',
    items: [],
    count: 0,
    scrollTop: 0,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    var that = this;
    wx.showLoading();
    wx.request({
      url: app.globalData.url + '/api/article/publicMsgQuery',
      data: {
        page: that.data.page,
        size: 10,
        flag: '双报备两同步',
      },
      success: function(res) {
        wx.hideLoading();
        console.log('res', res);
        if (res.data.code == 0) {
          let content = res.data.data.result.content.map(({
            createTime,
            ...i
          }) => ({
            ...i,
            createTime: app.formatDate(createTime),
          }));
          console.log(content)
          if (content.length < 10) {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: false,
              content: '------我是有底线的------'
            })
          } else {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: true,
              content: '------加载更多------',
              page: that.data.page + 1
            })
          }
        } else {
          wx.showToast({
            title: res.data.msg,
          })
        }
      }
    })
  },
  getList: (count = 10, step = 0) => [...new Array(count)].map((n, i) => ({
    title: `Pull down ${i + step}`,
    content: 'Wux Weapp'
  })),
  linkFunction: function(event) {
    var str = event.currentTarget.dataset['str'];
    var id = event.currentTarget.dataset['id'];
    wx.navigateTo({
      url: '../' + str + '/' + str + '?id=' + id
    })
  },
  showInput: function() {
    this.setData({
      inputShowed: true
    });
  },
  hideInput: function() {
    this.setData({
      inputVal: "",
      inputShowed: false
    });
  },
  clearInput: function() {
    this.setData({
      inputVal: ""
    }, () => {});
  },
})
SunshineLnsMinApp/pages/sbbltb/sbbltb.json
New file
@@ -0,0 +1,9 @@
{
  "navigationBarTitleText": "双报备两同步",
  "backgroundTextStyle": "light",
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTextStyle": "black",
  "usingComponents": {
    "wux-refresher": "../../templeteDist/wuxDist/refresher/index"
  }
}
SunshineLnsMinApp/pages/sbbltb/sbbltb.wxml
New file
@@ -0,0 +1,14 @@
<!--pages/sbbltb/sbbltb.wxml-->
<view class="zhwj-b">
  <view class="zhwj-b-main" wx:for="{{ items }}" data-str="dxalInfo" data-Id="{{item.id}}" bindtap='linkFunction'>
    <view class="zhwj-b-head-l">
      <view class="zhwj-b-head-l-title text-black">{{item.title}}</view>
      <view class="text-grey">{{item.createTime}}
        <text decode="{{true}}" space="{{true}}">&nbsp;&nbsp;&nbsp;&nbsp;</text>{{item.readCount}}阅读</view>
    </view>
    <!-- <view class="zhwj-b-head-r">
      <image mode='widthFix' src="{{item.attList[0].path}}"></image>
    </view> -->
  </view>
  <div class="businessSchedule-load">------{{content}}------</div>
</view>
SunshineLnsMinApp/pages/sbbltb/sbbltb.wxss
New file
@@ -0,0 +1,38 @@
/* pages/sbbltb/sbbltb.wxss */
@import '../../weui.wxss';
.zhwj-b-main {
  display: flex;
  border-bottom: 1px solid #ebf2fa;
}
.zhwj-b-head-l {
  margin: 6px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.businessSchedule-load {
  display: flex;
  justify-content: center;
  color: #999;
  font-size: 14px;
  margin-bottom: 4vh;
}
.zhwj-b-head-r {
  margin: 6px;
}
.zhwj-b-head-r image {
  width: 108px;
  height: 80px;
}
.zhwj-b {
  background-color: #fff;
}
SunshineLnsMinApp/pages/zhgh/zhgh.js
@@ -42,7 +42,7 @@
            ...i,
            startTime: app.formatDate(startTime),
            endTime: app.formatDate(endTime),
            status:status==0?'未开始':status==1?'进行中':status==2?'已结束':status==3?'结束':status==99?'':'(未知)'
            status:status==0?'未开始':status==1?'进行中':status==2?'已结束':status==3?'结束':status==99?'暂停':'(未知)'
          }));
          that.setData({
            infoList: content
SunshineLnsMinApp/pages/zhgh/zhgh.wxml
@@ -13,10 +13,10 @@
      <view class="zhgh-list-b">
        <view class="zhgh-list-b-left">
          <view class="zhgh-list-b-left-div font-lg">{{item.taskTitle}}</view>
          <view class="zhgh-list-b-left-div">
            <!-- <rich-text nodes="{{item.taskRequire}}"></rich-text> -->
          <!-- <view class="zhgh-list-b-left-div">
            <rich-text nodes="{{item.taskRequire}}"></rich-text>
            地址:{{item.taskAddress}}
          </view>
          </view> -->
          <view class="text-grey">{{item.startTime}}~{{item.endTime}}</view>
        </view>
        <view class="zhgh-list-b-right">
SunshineLnsMinApp/pages/zscqdt/zscqdt.js
New file
@@ -0,0 +1,104 @@
// pages/zscqdt/zscqdt.js
var app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    dongtai1_1: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
    dongtai2_1: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
    dongtai3_1: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
    inputShowed: false,
    inputVal: "",
    page: 1,
    content: '------加载中------',
    items: [],
    count: 0,
    scrollTop: 0,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    wx.showLoading();
    wx.request({
      url: app.globalData.url + '/api/article/publicMsgQuery',
      data: {
        page: that.data.page,
        size: 10,
        flag: '知识产权动态',
      },
      success: function (res) {
        wx.hideLoading();
        console.log('res', res);
        if (res.data.code == 0) {
          let content = res.data.data.result.content.map(({
            createTime,
            ...i
          }) => ({
            ...i,
            createTime: app.formatDate(createTime),
          }));
          console.log(content)
          if (content.length < 10) {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: false,
              content: '------我是有底线的------'
            })
          } else {
            that.setData({
              items: [...that.data.items, ...content],
              hasMoreData: true,
              content: '------加载更多------',
              page: that.data.page + 1
            })
          }
        } else {
          wx.showToast({
            title: res.data.msg,
          })
        }
      }
    })
  },
  getList: (count = 10, step = 0) => [...new Array(count)].map((n, i) => ({
    title: `Pull down ${i + step}`,
    content: 'Wux Weapp'
  })),
  linkFunction: function (event) {
    var str = event.currentTarget.dataset['str'];
    var id = event.currentTarget.dataset['id'];
    wx.navigateTo({
      url: '../' + str + '/' + str + '?id=' + id
    })
  },
  showInput: function () {
    this.setData({
      inputShowed: true
    });
  },
  hideInput: function () {
    this.setData({
      inputVal: "",
      inputShowed: false
    });
  },
  clearInput: function () {
    this.setData({
      inputVal: ""
    }, () => { });
  },
})
SunshineLnsMinApp/pages/zscqdt/zscqdt.json
New file
@@ -0,0 +1,9 @@
{
  "navigationBarTitleText": "知识产权动态",
  "backgroundTextStyle": "light",
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTextStyle": "black",
  "usingComponents": {
    "wux-refresher": "../../templeteDist/wuxDist/refresher/index"
  }
}
SunshineLnsMinApp/pages/zscqdt/zscqdt.wxml
New file
@@ -0,0 +1,14 @@
<!--pages/zscqdt/zscqdt.wxml-->
<view class="zhwj-b">
  <view class="zhwj-b-main" wx:for="{{ items }}" data-str="dxalInfo" data-Id="{{item.id}}" bindtap='linkFunction'>
    <view class="zhwj-b-head-l">
      <view class="zhwj-b-head-l-title text-black">{{item.title}}</view>
      <view class="text-grey">{{item.createTime}}
        <text decode="{{true}}" space="{{true}}">&nbsp;&nbsp;&nbsp;&nbsp;</text>{{item.readCount}}阅读</view>
    </view>
    <!-- <view class="zhwj-b-head-r">
      <image mode='widthFix' src="{{item.attList[0].path}}"></image>
    </view> -->
  </view>
  <div class="businessSchedule-load">------{{content}}------</div>
</view>
SunshineLnsMinApp/pages/zscqdt/zscqdt.wxss
New file
@@ -0,0 +1,38 @@
/* pages/zscqdt/zscqdt.wxss */
@import '../../weui.wxss';
.zhwj-b-main {
  display: flex;
  border-bottom: 1px solid #ebf2fa;
}
.zhwj-b-head-l {
  margin: 6px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.businessSchedule-load {
  display: flex;
  justify-content: center;
  color: #999;
  font-size: 14px;
  margin-bottom: 4vh;
}
.zhwj-b-head-r {
  margin: 6px;
}
.zhwj-b-head-r image {
  width: 108px;
  height: 80px;
}
.zhwj-b {
  background-color: #fff;
}