From ed96dab91fbac7159525fe557af2ecdd135c791d Mon Sep 17 00:00:00 2001 From: liuwh <liuwh@hugeinfo.com.cn> Date: Mon, 23 Mar 2020 14:21:40 +0800 Subject: [PATCH] 1 --- SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.js | 64 + SunshineIns/src/fetch/getSweeping.js | 9 SunshineLnsMinApp/pages/pfyy/pfyy.js | 120 ++ SunshineIns/src/page/ActiveManageEditquestionnaire.jsx | 6 SunshineLnsMinApp/pages/rzcx/rzcx.wxss | 227 +++ SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.json | 3 SunshineLnsMinApp/pages/zdyf/zdyf.wxss | 30 SunshineLnsMinApp/pages/rzcxList/rzcxList.wxml | 18 SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.wxml | 103 - SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxml | 26 SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.js | 187 +++ SunshineLnsMinApp/pages/zdyf/zdyf.json | 6 SunshineIns/src/fetch/searchLawSave.js | 8 SunshineIns/src/page/QuestionDetail.jsx | 5 SunshineIns/src/fetch/searchLaw.js | 9 SunshineLnsMinApp/pages/messageNotification/messageNotification.js | 26 SunshineLnsMinApp/pages/pfyy/pfyy.wxml | 68 + SunshineLnsMinApp/pages/rzcx/rzcx.json | 3 SunshineLnsMinApp/pages/law2Publicity/law2Publicity.js | 37 SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml | 2 SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxml | 1 SunshineLnsMinApp/pages/createSubList/createSubList.json | 7 SunshineLnsMinApp/pages/createSub/createSub.js | 21 SunshineLnsMinApp/pages/xsuojbInfo/xsuojbInfo.json | 7 SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.js | 39 SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.json | 7 SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.js | 1 SunshineLnsMinApp/pages/createSubList/createSubList.wxml | 49 SunshineIns/src/fetch/searchLawDelete.js | 9 SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxml | 3 SunshineIns/src/view/QuestionnairContent/index.js | 57 SunshineLnsMinApp/app.js | 57 SunshineLnsMinApp/pages/me/me.wxml | 12 SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js | 7 SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxss | 169 ++ SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.js | 1 SunshineIns/src/page/Newly.jsx | 5 SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxss | 7 SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxml | 19 SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.json | 6 SunshineIns/src/page/LawSubscribeDetail.jsx | 215 +++ SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxss | 1 SunshineLnsMinApp/app.json | 3 SunshineLnsMinApp/pages/zdyf/zdyf.js | 79 + SunshineLnsMinApp/pages/zhwj/zhwj.wxml | 14 SunshineLnsMinApp/pages/me/me.js | 6 SunshineLnsMinApp/pages/pfyy/pfyy.json | 5 SunshineLnsMinApp/pages/rzcx/rzcx.wxml | 33 SunshineLnsMinApp/pages/rzcx/rzcx.js | 145 ++ SunshineIns/src/index.jsx | 6 SunshineLnsMinApp/pages/zdyf/zdyf.wxml | 36 SunshineLnsMinApp/pages/rzcxList/rzcxList.wxss | 111 + SunshineIns/src/fetch/searchLawFind.js | 6 SunshineLnsMinApp/pages/rzcxList/rzcxList.json | 6 SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.json | 6 SunshineLnsMinApp/pages/pfyy/pfyy.wxss | 227 +++ SunshineIns/src/fetch/appointmentDetail.js | 9 SunshineIns/src/page/LawSubscribe.jsx | 176 +++ SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/props.js | 1 SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.js | 1 SunshineIns/src/page/CareListEdit.jsx | 86 + SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.json | 4 SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxss | 1 SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxml | 8 SunshineLnsMinApp/pages/publicMsgDetails/publicMsgDetails.json | 1 SunshineIns/src/fetch/index.js | 14 SunshineLnsMinApp/project.config.json | 2 SunshineLnsMinApp/pages/rzcxList/rzcxList.js | 85 + SunshineIns/src/page/Sweeping.jsx | 8 SunshineIns/src/data/menu.js | 14 SunshineIns/src/page/KeyWord.jsx | 224 +++ SunshineIns/src/view/Questionnair/index.js | 5 SunshineIns/src/fetch/appointment.js | 15 SunshineLnsMinApp/pages/createSubList/createSubList.wxss | 121 ++ SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/utils.js | 1 SunshineLnsMinApp/pages/createSubList/createSubList.js | 162 ++ SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxss | 1 SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxml | 38 SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json | 2 SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxss | 112 + SunshineLnsMinApp/pages/index/index.wxml | 6 81 files changed, 3,207 insertions(+), 230 deletions(-) diff --git a/SunshineIns/src/data/menu.js b/SunshineIns/src/data/menu.js index afab1fd..d7293f6 100644 --- a/SunshineIns/src/data/menu.js +++ b/SunshineIns/src/data/menu.js @@ -83,6 +83,20 @@ icon: active, iconCheck: activeCheck, path: '/sweeping' +}, +{ + id: 'lawSubscribe', + name: '普法预约', + icon: active, + iconCheck: activeCheck, + path: '/lawSubscribe' +}, +{ + id: 'keyWord', + name: '关键词维护', + icon: active, + iconCheck: activeCheck, + path: '/keyWord' }, { id: 'activeManage', name: '法治活动', diff --git a/SunshineIns/src/fetch/appointment.js b/SunshineIns/src/fetch/appointment.js new file mode 100644 index 0000000..4f3ebfe --- /dev/null +++ b/SunshineIns/src/fetch/appointment.js @@ -0,0 +1,15 @@ +import fetch from './_fetch'; +import { message } from 'antd'; +export default ({ + userName, + nature, + content, + createTime, + status +}) => fetch(`api/v1/appointment/finds?userName=${userName || ''}&nature=${nature || ''}&content=${content || ''}&createTime=${createTime || ''}&businessType=26&status=${status || ''}`) + .then( + json => json.data + ) + .catch( + error => message.error('信息加载失败,请联系管理员', 2) + ); \ No newline at end of file diff --git a/SunshineIns/src/fetch/appointmentDetail.js b/SunshineIns/src/fetch/appointmentDetail.js new file mode 100644 index 0000000..288774c --- /dev/null +++ b/SunshineIns/src/fetch/appointmentDetail.js @@ -0,0 +1,9 @@ +import fetch from './_fetch'; +import { message } from 'antd'; +export default (id) => fetch(`api/v1/appointment/find?id=${id}&flag=PC`) + .then( + json => json.data + ) + .catch( + error => message.error('信息加载失败,请联系管理员', 2) + ); \ No newline at end of file diff --git a/SunshineIns/src/fetch/getSweeping.js b/SunshineIns/src/fetch/getSweeping.js index 761400d..84910b7 100644 --- a/SunshineIns/src/fetch/getSweeping.js +++ b/SunshineIns/src/fetch/getSweeping.js @@ -1,12 +1,11 @@ import fetch from './_fetch'; import { message } from 'antd'; export default ({ - userName, - nature, - content, - createTime, + contactName, + contactPhone, + activitiesTime, status -}) => fetch(`api/v1/crackdown/finds?userName=${userName || ''}&nature=${nature || ''}&content=${content || ''}&createTime=${createTime || ''}&businessType=26&status=${status || ''}`) +}) => fetch(`api/v1/crackdown/finds?contactName=${contactName || ''}&contactPhone=${contactPhone || ''}&activitiesTime=${activitiesTime || ''}&businessType=26&status=${status || ''}`) .then( json => json.data ) diff --git a/SunshineIns/src/fetch/index.js b/SunshineIns/src/fetch/index.js index 89a0774..f69802e 100644 --- a/SunshineIns/src/fetch/index.js +++ b/SunshineIns/src/fetch/index.js @@ -93,6 +93,12 @@ import tipoffQuery from './tipoffQuery'; import getTipoffDetail from './getTipoffDetail'; import tipoffReply from './tipoffReply'; +import appointment from './appointment'; +import appointmentDetail from './appointmentDetail'; +import searchLaw from './searchLaw'; +import searchLawFind from './searchLawFind'; +import searchLawSave from './searchLawSave'; +import searchLawDelete from './searchLawDelete'; export default { domain, @@ -189,5 +195,11 @@ socialCompanydelete, tipoffQuery, getTipoffDetail, - tipoffReply + tipoffReply, + appointment, + appointmentDetail, + searchLaw, + searchLawFind, + searchLawSave, + searchLawDelete }; \ No newline at end of file diff --git a/SunshineIns/src/fetch/searchLaw.js b/SunshineIns/src/fetch/searchLaw.js new file mode 100644 index 0000000..6854653 --- /dev/null +++ b/SunshineIns/src/fetch/searchLaw.js @@ -0,0 +1,9 @@ +import fetch from './_fetch'; +import { message } from 'antd'; +export default ({ keywords }) => fetch(`api/v1/searchLaw/finds?keywords=${keywords || ''}`) + .then( + json => json.data + ) + .catch( + error => message.error('列表加载失败,请联系管理员', 2) + ); diff --git a/SunshineIns/src/fetch/searchLawDelete.js b/SunshineIns/src/fetch/searchLawDelete.js new file mode 100644 index 0000000..526911b --- /dev/null +++ b/SunshineIns/src/fetch/searchLawDelete.js @@ -0,0 +1,9 @@ +import fetch from './_fetch'; +import { message } from 'antd'; +export default (id) => fetch(`api/v1/searchLaw/delete?id=${id || ''}`) + .then( + json => json.data + ) + .catch( + error => message.error('列表加载失败,请联系管理员', 2) + ); diff --git a/SunshineIns/src/fetch/searchLawFind.js b/SunshineIns/src/fetch/searchLawFind.js new file mode 100644 index 0000000..034adcc --- /dev/null +++ b/SunshineIns/src/fetch/searchLawFind.js @@ -0,0 +1,6 @@ +import fetch from './_fetch'; +import { message } from 'antd'; +export default (id) => fetch(`api/v1/searchLaw/find?id=${id || ''}`) + .catch( + error => message.error('列表加载失败,请联系管理员', 2) + ); diff --git a/SunshineIns/src/fetch/searchLawSave.js b/SunshineIns/src/fetch/searchLawSave.js new file mode 100644 index 0000000..9e3873c --- /dev/null +++ b/SunshineIns/src/fetch/searchLawSave.js @@ -0,0 +1,8 @@ + +import fetch from './_fetch'; + +export default (savedate) => { + return fetch(`api/v1/searchLaw/save`, + savedate + ); +} diff --git a/SunshineIns/src/index.jsx b/SunshineIns/src/index.jsx index 84f0ab9..e18b46a 100644 --- a/SunshineIns/src/index.jsx +++ b/SunshineIns/src/index.jsx @@ -16,6 +16,7 @@ import Company from './page/Company'; // 涉未成年负责部门组织 import UnderAgeList from './page/UnderAgeList'; +import KeyWord from './page/KeyWord'; import ActiveManage from './page/ActiveManage'; import ActiveManageEdit from './page/ActiveManageEdit'; import ActiveManageEditquestionnaire from './page/ActiveManageEditquestionnaire'; @@ -29,6 +30,8 @@ import SnapshotDetail from './page/SnapshotDetail'; import Sweeping from './page/Sweeping'; import SweepingDetail from './page/SweepingDetail'; +import LawSubscribe from './page/LawSubscribe'; +import LawSubscribeDetail from './page/LawSubscribeDetail'; import MsgDetail from './page/MsgDetail'; import UserManage from './page/UserManage'; import UserDetail from './page/UserDetail'; @@ -85,6 +88,7 @@ <Route path='/supPerson' component={SupPerson} /> <Route path='/company' component={Company} /> <Route path='/underAgeList' component={UnderAgeList} /> + <Route path='/keyWord' component={KeyWord} /> <Route path='/knowledgeBase' component={KnowledgeBase} /> <Route path='/articlePublish' component={ArticlePublish} /> <Route path='/articleEidt/:id' component={ArticleEidt} /> @@ -96,6 +100,8 @@ <Route path='/snapshotDetail/:id/:flag' component={SnapshotDetail} /> <Route path='/sweeping' component={Sweeping} /> <Route path='/sweepingDetail/:id/:flag' component={SweepingDetail} /> + <Route path='/lawSubscribe' component={LawSubscribe} /> + <Route path='/lawSubscribeDetail/:id/:flag' component={LawSubscribeDetail} /> <Route path='/userDetail/:id/:flag' component={UserDetail} /> <Route path='/insideUser' component={InsideUser} /> <Route path='/updatePWD/:id' component={UpdatePWD} /> diff --git a/SunshineIns/src/page/ActiveManageEditquestionnaire.jsx b/SunshineIns/src/page/ActiveManageEditquestionnaire.jsx index e6f253e..d1368d8 100644 --- a/SunshineIns/src/page/ActiveManageEditquestionnaire.jsx +++ b/SunshineIns/src/page/ActiveManageEditquestionnaire.jsx @@ -34,6 +34,7 @@ } submitQuestionTemp = (questionDtos, extraData) => { + console.log('extraData',extraData) const { initData } = this.state; console.log('questionDtos', questionDtos); if (!extraData.questionnairTitle) { @@ -49,6 +50,7 @@ ...initData, title: extraData.questionnairTitle, content: extraData.questionnairDescription, + businessType: extraData.questionnairBusinessType, questionDtos }).then(res => { console.log('res', res); @@ -68,6 +70,7 @@ render() { const { data, loading, resetKey, initData, btnLoading } = this.state; + console.log('initData',initData) return ( <div className="app-page"> <HeadView history={this.props.history} /> @@ -103,6 +106,9 @@ <h4 style={{ marginBottom: 0 }}> 问卷描述:{initData.content || '暂无'} </h4> + <h4 style={{ marginBottom: 0 }}> + 业务类型{initData.businessType || '暂无'} + </h4> </div> </div> } diff --git a/SunshineIns/src/page/CareListEdit.jsx b/SunshineIns/src/page/CareListEdit.jsx index a0417c0..60aaea1 100644 --- a/SunshineIns/src/page/CareListEdit.jsx +++ b/SunshineIns/src/page/CareListEdit.jsx @@ -8,6 +8,8 @@ import TableView from '../view/TableView'; import ImageBoxView from '../view/ImageBoxView' // 引入编辑器以及编辑器样式 +import BraftEditor from 'braft-editor' +import 'braft-editor/dist/index.css' import Fetch from '../fetch'; import moment from 'moment'; const format = 'HH:mm'; @@ -50,6 +52,8 @@ status: '', loading: false, socialTaskObject: '', + editorState: BraftEditor.createEditorState(null), + editorStatetaskProcess: BraftEditor.createEditorState(null), }; } @@ -80,9 +84,11 @@ endHour: moment(endTime).format(format), taskType: res.taskType || 1 }, + editorState: BraftEditor.createEditorState(res.taskRequire), + editorStatetaskProcess: BraftEditor.createEditorState(res.taskProcess), taskType: res.taskType || 1, // status: res.activityStatus || '', - socialTaskObject: res.socialTaskObject ? { id: res.socialTaskObject.objectId, objectName: res.socialTaskObject.objectName, taskReport:res.socialTaskObject.taskReport } : {}, + socialTaskObject: res.socialTaskObject ? { id: res.socialTaskObject.objectId, objectName: res.socialTaskObject.objectName, taskReport: res.socialTaskObject.taskReport } : {}, disabled: res.status ? true : false, fileList: res.attachments || [], loading: false, @@ -273,9 +279,41 @@ ) } + submitContent = () => { + // 在编辑器获得焦点时按下ctrl+s会执行此方法 + // 编辑器内容提交到服务端之前,可直接调用editorState.toHTML()来获取HTML格式的内容 + const htmlContent = this.state.editorState.toHTML() + this.setState(({ savedate }) => ({ + savedate: { + ...savedate, + taskRequire: htmlContent + } + })) + } + + submitLContent = () => { + // 在编辑器获得焦点时按下ctrl+s会执行此方法 + // 编辑器内容提交到服务端之前,可直接调用editorState.toHTML()来获取HTML格式的内容 + const htmlContent = this.state.editorState.toHTML() + this.setState(({ savedate }) => ({ + savedate: { + ...savedate, + taskProcess: htmlContent + } + })) + } + + handleEditorChange = (editorState) => { + this.setState({ editorState }) + } + + handleEditorLChange = (editorStatetaskProcess) => { + this.setState({ editorStatetaskProcess }) + } + handleCancel = () => this.setState({ previewVisible: false }) render() { - const { savedate, previewVisible, socialTaskObject, fileList, dateSource, hitList, taskType, disabled, loading } = this.state; + const { savedate, editorState, socialTaskObject, fileList, editorStatetaskProcess, hitList, taskType, disabled, loading } = this.state; console.log('list', socialTaskObject) const props = { action: domain + 'api/v1/attachment/materials?entityId=' + savedate.id, @@ -406,14 +444,52 @@ <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={4} placeholder="请输入任务要求" style={{ width: '92%' }} value={savedate.taskRequire || ""} onChange={this.saveInputChange} name='taskRequire' /></Col> + <Col span={18} push={0} style={{ border: 'solid 1px rgba(0, 0, 0, 0.25)', borderRadius: '5PX' }}> + + <BraftEditor + value={editorState} + disabled={disabled} + placeholder='请输入活动进程' + media={{ + allowPasteImage: true, // 是否允许直接粘贴剪贴板图片(例如QQ截图等)到编辑器 + image: true, // 开启图片插入功能 + video: false, // 开启视频插入功能 + audio: false, // 开启音频插入功能 + uploadFn: this.uploadFn + }} + excludeControls={['emoji']} + onChange={this.handleEditorChange} + onSave={this.submitContent} + onBlur={this.submitContent} + /> + {/* <TextArea disabled={disabled} rows={4} placeholder="请输入任务要求" style={{ width: '92%' }} value={savedate.taskRequire || ""} onChange={this.saveInputChange} name='taskRequire' /> */} + </Col> </Row> </div> <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={4} placeholder="请输入任务流程" style={{ width: '92%' }} value={savedate.taskProcess || ""} onChange={this.saveInputChange} name='taskProcess' /></Col> + <Col span={18} push={0} style={{ border: 'solid 1px rgba(0, 0, 0, 0.25)', borderRadius: '5PX' }}> + + <BraftEditor + value={editorStatetaskProcess} + disabled={disabled} + placeholder='请输入活动进程' + media={{ + allowPasteImage: true, // 是否允许直接粘贴剪贴板图片(例如QQ截图等)到编辑器 + image: true, // 开启图片插入功能 + video: false, // 开启视频插入功能 + audio: false, // 开启音频插入功能 + uploadFn: this.uploadFn + }} + excludeControls={['emoji']} + onChange={this.handleEditorLChange} + onSave={this.submitLContent} + onBlur={this.submitLContent} + /> + </Col> + {/* <Col span={18} push={0} ><TextArea disabled={disabled} rows={4} placeholder="请输入任务流程" style={{ width: '92%' }} value={savedate.taskProcess || ""} onChange={this.saveInputChange} name='taskProcess' /></Col> */} </Row> </div> @@ -459,7 +535,7 @@ </Col> </Row> </div> - </div> :'' + </div> : '' } { diff --git a/SunshineIns/src/page/KeyWord.jsx b/SunshineIns/src/page/KeyWord.jsx new file mode 100644 index 0000000..780c1b0 --- /dev/null +++ b/SunshineIns/src/page/KeyWord.jsx @@ -0,0 +1,224 @@ +import React from 'react'; + +import HeadView from '../view/HeadView'; +import TableBtnView from '../view/TableBtnView'; +import CommonSearchForm from '../view/CommonSearchForm'; +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 KeyWord extends React.Component { + constructor(props) { + super(props); + this.state = { + data: [], + loading: false, + visible: false, + savedate: {}, + formData: { + __key: Date.now(), + keywords: '', + }, + resetKey: Date.now(), + closeKey: Date.now() + }; + } + + componentDidMount() { + document.title = '关键词维护'; + this.getData(); + } + + setFormData = data => { + console.log('form', data); + this.setState({ + formData: data, + }); + } + + searchonClick = data => { + console.log('form', data); + this.setState({ + formData: data, + }); + this.setState({ loading: true }) + Fetch.searchLaw({ ...data }) + .then(res => { + for (var i = 0; i < res.length; i++) { + res[i]['index'] = i + 1; + } + this.setState({ + data: res, + loading: false + }); + }); + } + getData = () => { + const { formdata } = this.state; + this.setState({ loading: true }) + Fetch.searchLaw({ formdata }) + .then(res => { + console.log(res) + this.setState({ + data: res, + loading: false + }); + }); + } + 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.searchLaw(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) => { + console.log(id) + this.setState({ + visible: true, + }); + Fetch.searchLawFind(id) + .then(res => { + console.log(res) + this.setState({ savedate: res }) + }) + } + + handleOk = () => { + this.setState({ loading: true }); + const { savedate } = this.state; + console.log(savedate) + if (!savedate.keywords) { + return message.warning("关键词不能为空"); + } + Fetch.searchLawSave(savedate) + .then(res => { + console.log(res) + if (res.code === 0) { + 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.searchLawDelete(id) + .then(data => { + message.success("删除成功!") + this.setState({ + resetKey: Date.now(), + formdata: {} + }, this.getData); + }) + } + }); + } + render() { + const columns = [{ + title: '序号', + dataIndex: 'index', + key: 'index' + }, { + title: '关键词', + dataIndex: 'keywords', + key: 'keywords' + }, { + 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, formData } = this.state; + console.log(savedate) + return ( + + <div className="app-page"> + <HeadView history={this.props.history} /> + <div style={{ marginLeft: '90%', marginBottom: '20px', marginTop: '20px' }}> + <Button type="primary" size='large' onClick={() => this.showModal('new')}>新增</Button> + </div> + <div style={{ background: '#fff', margin: 20 }}> + <CommonSearchForm + {...this.props} + formData={formData} + setFormData={this.setFormData} + searchonClick={this.searchonClick} + pathName={this.props.location.pathname} + data={[ + { + type: 'input', name: '关键词', label: '关键词', key: 'keywords' + } + ]} /> + <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} /> + </div> + <Modal + key={closeKey} + confirmLoading={loading} + visible={visible} + title="新增关键词" + onOk={this.handleOk} + onCancel={this.handleCancel} + bodyStyle={{ lineHeight: 4 }} + > + <Input addonBefore="关键词" name='keywords' onChange={this.saveInputChange} value={savedate.keywords || ''} /> + </Modal> + </div> + ); + } + +} diff --git a/SunshineIns/src/page/LawSubscribe.jsx b/SunshineIns/src/page/LawSubscribe.jsx new file mode 100644 index 0000000..ea15bff --- /dev/null +++ b/SunshineIns/src/page/LawSubscribe.jsx @@ -0,0 +1,176 @@ +/** + * 徐祥健<xuxj@hugeinfo.com.cn> + * 2018年9月18日 15:24 + * + */ + + +import React from 'react'; + +import HeadView from '../view/HeadView'; +import TableBtnView from '../view/TableBtnView'; +import { Input, Button, DatePicker, Divider, message, Breadcrumb, Select, Badge } from 'antd'; +import moment from 'moment'; +import Fetch from '../fetch'; +import TableView from '../view/TableView'; +const Option = Select.Option; +function typeOfName(type) { + switch (type) { + case 1: + return "涉黑涉恶违法犯罪行为"; + case 2: + return "涉黑涉恶违法犯罪保护伞"; + case 3: + return "其他"; + default: + return "Unkonw"; + } +} +export default class LawSubscribe extends React.Component { + constructor(props) { + super(props); + this.state = { + data: [], + formdata: {}, + resetKey: Date.now(), + loading: false + }; + } + + componentDidMount() { + + document.title = '普法预约'; + this.getData(); + } + + getData = () => { + const { formdata } = this.state; + Fetch.appointment(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 + } + })) + } + + Seaech = () => { + const { formdata } = this.state; + Fetch.appointment(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); + } + onClick = (id, flag) => { + this.props.history.push('/lawSubscribeDetail/' + id + '/' + flag) + } + deleteItems = (id) => { + confirm({ + title: '确认要删除这条数据吗?', + onOk: () => { + Fetch.deleteCompany(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: 'contactName', + key: 'contactName' + }, { + title: '联系电话', + dataIndex: 'contactPhone', + key: 'contactPhone' + }, { + title: '状态', + dataIndex: 'status', + key: 'status', + render: text => ( + text == 1 ? + <Badge count={'待回复'} /> : <Badge count={'已回复'} style={{ backgroundColor: '#52c41a' }} /> + ) + }, { + title: '活动时间', + dataIndex: 'activitiesTime', + key: 'activitiesTime', + render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span> + }, { + title: '操作', + key: 'action', + render: (text, record) => ( + <span> + { + text.status == 1 ? <span> + <label className='theme-color' onClick={() => this.onClick(record.id, 'do')} style={{ cursor: 'pointer' }}>处理</label> + <Divider type="vertical" /> + </span> : null + } + <label className='theme-color' onClick={() => this.onClick(record.id, 'see')} style={{ cursor: 'pointer' }}>查看</label> + </span> + ), + }]; + const { data, loading, resetKey } = this.state; + return ( + <div className="app-page"> + <HeadView history={this.props.history} /> + {/* <Breadcrumb style={{ padding: '20px' }}> + <Breadcrumb.Item><a href="">后台中心</a></Breadcrumb.Item> + <Breadcrumb.Item>扫黑除恶</Breadcrumb.Item> + </Breadcrumb> */} + <TableBtnView name={''} key={resetKey}> + <Input placeholder="联系人模糊查询" style={{ width: "200px" }} name='contactName' onChange={this.onInputChange} /> + <Input placeholder="联系电话模糊查询" style={{ width: "200px" }} name='contactPhone' onChange={this.onInputChange} /> + <Select + style={{ width: 200 }} + placeholder="根据状态查询" + onChange={(value) => this.onInputChange({ target: { name: 'status', value } })} + > + <Option value="2">已回复</Option> + <Option value="1">待回复</Option> + </Select> + <DatePicker onChange={(_, value) => this.onInputChange({ target: { name: 'activitiesTime', value } })} placeholder="根据活动时间查询" /> + <Button type="primary" onClick={this.Seaech}>查询</Button> + <Button onClick={this.Reset}>重置</Button> + </TableBtnView> + <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} /> + </div> + ); + } + +} diff --git a/SunshineIns/src/page/LawSubscribeDetail.jsx b/SunshineIns/src/page/LawSubscribeDetail.jsx new file mode 100644 index 0000000..098b53f --- /dev/null +++ b/SunshineIns/src/page/LawSubscribeDetail.jsx @@ -0,0 +1,215 @@ +/** + * 柯礼钦<kelq@hugeinfo.com.cn> + * 2018年9月4日 16:00 + * + */ + +import React from "react"; +import { Input, Button, message, Breadcrumb } from "antd"; +import moment from "moment"; +import BusDetailView from "../view/BusDetailView"; +import LineView from "../view/LineView"; +import HeadView from "../view/HeadView"; + +import Fetch from "../fetch"; +const { TextArea } = Input; +const replyAdmin = { + display: 'block', + float: 'left', + color: 'green', +} + +const replyUser = { + display: 'block', + float: 'left', + color: '#1790ff' +} + +const timeUser = { + display: 'block', + color: '#1790ff' +} + +const timeAdmin = { + display: 'block', + color: 'green' +} +function sexOfName(sexOfName) { + switch (sexOfName) { + case 0: + return "未知" + case 1: + return '男' + case 2: + return '女' + } +} +export default class LawSubscribeDetail extends React.Component { + constructor(props) { + super(props); + this.state = { + savedate: {}, + sweeping: {}, + userInfo: {}, + data: {}, + ReplyLogs: [], + }; + } + + componentDidMount() { + const { id } = this.props.match.params; + Fetch.appointmentDetail(id).then(data => { + console.log(data.lawAppointment) + this.setState( + { + data: data.lawAppointment, + ReplyLogs: data.ReplyLogs || [], + userInfo: data.userInfo, + sweeping: data.crimeCrackdown, + savedate: + { + businessId: id, + businessType: 27, + approvalStatus: 2 + } + } + ); + }) + } + + goBack = () => { + this.props.history.goBack(); + }; + + + onInputChange = ({ target: { value, name } }) => { + this.setState(({ savedate }) => ({ + savedate: { + ...savedate, + [name]: value + } + })) + } + + submitAudit = () => { + + const { savedate } = this.state; + console.log(savedate); + if (!savedate.opinion) { + message.warning("回复内容不能为空!"); + return; + } + + Fetch.snapshotReply(savedate).then(res => { + if (res.code === 0) { + message.success("回复成功", 2, () => { + this.props.history.goBack(); + }); + } else { + message.error("回复失败,请联系管理员", 2); + } + }); + }; + + render() { + + // 居中样式 + const center = { + display: "flex", + alignItems: "center", + justifyContent: "center" + }; + const { sweeping, data, userInfo, ReplyLogs } = this.state; + const { flag } = this.props.match.params; + return ( + <div className="app-page"> + <HeadView history={this.props.history} /> + <Breadcrumb style={{ padding: '20px' }}> + <Breadcrumb.Item><a href="index.html#/lawSubscribe">普法预约</a></Breadcrumb.Item> + <Breadcrumb.Item>普法预约详情</Breadcrumb.Item> + </Breadcrumb> + <BusDetailView> + <div> + <LineView title="申请信息" style="14vh" lineHeight="34px"> + + <table> + <tbody> + <tr> + <td className="table-vaule1">联系人</td> + <td className="table-vaule2">{data.contactName}</td> + <td className="table-vaule3">联系电话</td> + <td className="table-vaule4">{data.contactPhone}</td> + </tr> + <tr> + <td className="table-vaule1">学校名称</td> + <td className="table-vaule2">{data.schoolName}</td> + <td className="table-vaule3">学校地址</td> + <td className="table-vaule4">{data.schoolAddress}</td> + </tr> + </tbody> + </table> + + </LineView> + <LineView title="详细说明" style="13vh" lineHeight="20px"> + <span>{data.content}</span> + </LineView> + </div> + { + ReplyLogs ? + <LineView title="回复记录" style="15vh"> + {ReplyLogs.map((contacts, key) => ( + <div style={{ width: '100%', height: '70px' }} key={key}> + {contacts.userType === 1 ? + <React.Fragment> + <div style={timeUser} >{moment(contacts.createTime).format('YYYY/MM/DD HH:mm:ss')}</div> + <div style={replyUser}>{contacts.content}</div> + </React.Fragment> + : + <React.Fragment> + <div style={timeAdmin} > {contacts.replyerName}:{moment(contacts.createTime).format('YYYY/MM/DD HH:mm:ss')}</div> + <div style={replyAdmin}>{contacts.content}</div> + </React.Fragment> + } + + </div> + ))} + </LineView> + : null} + {flag == "do" ? + (data.status == 1 ? ( + <LineView title="回复" lineHeight="50px"> + <table> + <tbody> + <tr> + <td>回复内容</td> + <td> + <TextArea + placeholder="请输入回复内容" + autosize={{ minRows: 2, maxRows: 6 }} + onChange={({ target: { value } }) => this.onInputChange({ target: { name: 'opinion', value } })} + /> + </td> + </tr> + </tbody> + </table> + <div> + <Button + type="primary" + className="app-btn" + onClick={this.submitAudit} + > + 提交回复 + </Button> + <Button className="app-btn" onClick={this.goBack}> + 返回 + </Button> + </div> + </LineView> + ) : <div style={{ textAlign: 'center' }}><Button className="app-btn" onClick={this.goBack}>返回</Button></div> + ) : <div style={{ textAlign: 'center' }}><Button className="app-btn" onClick={this.goBack}>返回</Button></div> + } + </BusDetailView> + </div> + ); + } +} diff --git a/SunshineIns/src/page/Newly.jsx b/SunshineIns/src/page/Newly.jsx index fdcf575..74d15da 100644 --- a/SunshineIns/src/page/Newly.jsx +++ b/SunshineIns/src/page/Newly.jsx @@ -158,8 +158,12 @@ submitQuestionTemp = (questionDtos, extraData) => { const { initData } = this.state; console.log('questionDtos', questionDtos); + console.log('initData', initData); if (!extraData.questionnairTitle) { return message.error('请填写问卷标题'); + } + if (!extraData.questionnairBusinessType) { + return message.error('请选择业务类型'); } questionDtos = questionDtos.map(({ type, title, required, remarkText, options, scores, warnFlag }) => ({ type, title, required, remarkText, options, scores, warnFlag @@ -171,6 +175,7 @@ ...initData, title: extraData.questionnairTitle, content: extraData.questionnairDescription, + businessType: extraData.questionnairBusinessType, questionDtos }).then(res => { console.log('res', res); diff --git a/SunshineIns/src/page/QuestionDetail.jsx b/SunshineIns/src/page/QuestionDetail.jsx index ca89b4e..85413ad 100644 --- a/SunshineIns/src/page/QuestionDetail.jsx +++ b/SunshineIns/src/page/QuestionDetail.jsx @@ -36,6 +36,7 @@ submitQuestionTemp = (questionDtos, extraData) => { const { initData } = this.state; console.log('questionDtos', questionDtos); + console.log('initData', initData); if (!extraData.questionnairTitle) { return message.error('请填写问卷标题'); } @@ -49,6 +50,7 @@ ...initData, title: extraData.questionnairTitle, content: extraData.questionnairDescription, + businessType: extraData.questionnairBusinessType, questionDtos }).then(res => { console.log('res', res); @@ -103,6 +105,9 @@ <h4 style={{ marginBottom: 0 }}> 问卷描述:{initData.content || '暂无'} </h4> + <h4 style={{ marginBottom: 0 }}> + 业务类型:{initData.businessType || '暂无'} + </h4> </div> </div> } diff --git a/SunshineIns/src/page/Sweeping.jsx b/SunshineIns/src/page/Sweeping.jsx index e957bec..9142bc3 100644 --- a/SunshineIns/src/page/Sweeping.jsx +++ b/SunshineIns/src/page/Sweeping.jsx @@ -45,7 +45,7 @@ getData = () => { const { formdata } = this.state; - Fetch.getSweeping(formdata) + Fetch.appointment(formdata) .then(res => { for (var i = 0; i < res.length; i++) { res[i]['index'] = i + 1; @@ -66,7 +66,7 @@ Seaech = () => { const { formdata } = this.state; - Fetch.getSweeping(formdata) + Fetch.appointment(formdata) .then(res => { for (var i = 0; i < res.length; i++) { res[i]['index'] = i + 1; @@ -154,10 +154,10 @@ return ( <div className="app-page"> <HeadView history={this.props.history} /> - <Breadcrumb style={{ padding: '20px' }}> + {/* <Breadcrumb style={{ padding: '20px' }}> <Breadcrumb.Item><a href="">后台中心</a></Breadcrumb.Item> <Breadcrumb.Item>扫黑除恶</Breadcrumb.Item> - </Breadcrumb> + </Breadcrumb> */} <TableBtnView name={''} key={resetKey}> <Select style={{ width: 200 }} diff --git a/SunshineIns/src/view/Questionnair/index.js b/SunshineIns/src/view/Questionnair/index.js index d96ad09..5128d85 100644 --- a/SunshineIns/src/view/Questionnair/index.js +++ b/SunshineIns/src/view/Questionnair/index.js @@ -43,6 +43,7 @@ ], questionnairTitle: '', questionnairDescription: '', + questionnairBusinessType:'', curMoveItem: null, drag: false, scrollTo: 0, @@ -261,7 +262,8 @@ editorShake, scrollTo, questionnairTitle, - questionnairDescription + questionnairDescription, + questionnairBusinessType } = this.state; const { submitQuestionTemp, btnLoading, initData } = this.props; @@ -308,6 +310,7 @@ questionnairSign={this.sign} questionnairTitle={questionnairTitle} questionnairDescription={questionnairDescription} + questionnairBusinessType={questionnairBusinessType} onBlurTitle={this.blurTitle} onChangeSign={this.handleSgin} submitQuestionTemp={submitQuestionTemp} diff --git a/SunshineIns/src/view/QuestionnairContent/index.js b/SunshineIns/src/view/QuestionnairContent/index.js index 4b4c5b4..7b7de0a 100644 --- a/SunshineIns/src/view/QuestionnairContent/index.js +++ b/SunshineIns/src/view/QuestionnairContent/index.js @@ -2,23 +2,25 @@ import './index.scss'; import Input from '../../libs/Input'; // import Button from '../../libs/Button'; -import { Button } from 'antd'; +import { Button, Select } from 'antd'; // import Default from '../../assets/scale_default.png' - +const Option = Select.Option; class QuestionnairContent extends React.PureComponent { state = { questionnairSign: false, questionnairTitle: '', - questionnairDescription: '' + questionnairDescription: '', + questionnairBusinessType: '' }; componentDidMount() { - const { title, content } = this.props.initData; + const { title, content, businessType } = this.props.initData; console.log(title); this.setState({ questionnairTitle: title, - questionnairDescription: content + questionnairDescription: content, + questionnairBusinessType: businessType }); } //新增题目时内容页滚动到底部 @@ -62,11 +64,12 @@ ); }; - handleChange = (e, key) => { + handleChange = ({ target: { value, name } }) => { + console.log(value, name) this.setState({ - [key]: e.target.value + [name]: value }); - }; + } handleBlur = () => { // const { onBlurTitle } = this.props; @@ -79,7 +82,8 @@ const { questionnairSign, questionnairTitle, - questionnairDescription + questionnairDescription, + questionnairBusinessType } = this.state; const { submitQuestionTemp, editors, btnLoading } = this.props; @@ -89,9 +93,8 @@ <Input placeholder="问卷标题" value={questionnairTitle} - onChange={e => { - this.handleChange(e, 'questionnairTitle'); - }} + name='questionnairTitle' + onChange={this.handleChange} onBlur={this.handleBlur} style={{ height: 45, @@ -110,9 +113,8 @@ <Input placeholder="问卷描述" value={questionnairDescription} - onChange={e => { - this.handleChange(e, 'questionnairDescription'); - }} + name='questionnairDescription' + onChange={this.handleChange} onBlur={this.handleBlur} style={{ height: 25, @@ -126,6 +128,27 @@ /> </div> ); + const questionnairBusinessType1 = ( + <div className="title-inner" style={{ marginTop: 10 }}> + <span style={{ color: 'red' }}>*</span> + <Select placeholder="业务类型" + value={questionnairBusinessType} + style={{ + width: '100%', + textAlign: 'center', + fontSize: 18, + color: '#666', + fontFamily: 'PingFangSC-Medium' + }} + onChange={(value) => this.handleChange({ target: { name: 'questionnairBusinessType', value } })} + > + <Option value='1'>企业体检</Option> + <Option value='2'>培训活动</Option> + <Option value='3'>未检调查</Option> + <Option value='4'>刑执监督</Option> + </Select> + </div> + ); return ( <div className="questionnair-page" ref={el => (this.page = el)}> <div className="questionnair-page-banner"> @@ -137,6 +160,7 @@ <div className="questionnair-page-title"> {questionnairtitleEl} {questionnairDescriptionEl} + {questionnairBusinessType1} </div> <div className="questionnair-page-content" @@ -165,7 +189,8 @@ // this.props.isThereEditor(); submitQuestionTemp(editors, { questionnairTitle, - questionnairDescription + questionnairDescription, + questionnairBusinessType }); }} > diff --git a/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.js b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.js new file mode 100644 index 0000000..8c9a8e3 --- /dev/null +++ b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.js @@ -0,0 +1,187 @@ +// Component/pickerYMDHM.js +Component({ + /** + * 组件的属性列表 + */ + properties: { + date: { // 属性名 + type: null, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型) + value: "" // 属性初始值(可选),如果未指定则会根据类型选择一个 + } + }, + + /** + * 组件的初始数据 + */ + data: { + pickerArray: [],//日期控件数据list + pickerIndex: [],//日期控件选择的index + chooseIndex: [],//日期控件确认选择的index + chooseArray: [],//日期控件确认选择后的list + dateString: '',//页面显示日期 + }, + + /** + * 组件的方法列表 + */ + methods: { + _onInit() { + let date = new Date(); + if (this.data.date != "") { + let str = this.data.date; + str = str.replace(/-/g, "/"); + date = new Date(str); + } + let pickerArray = this.data.pickerArray; + console.log(date.getFullYear()); + //默认选择3年内 + let year = []; + for (let i = date.getFullYear() - 1; i <= date.getFullYear() + 5; i++) { + year.push({ id: i, name: i + "年" }); + } + // console.log(year); + let month = []; + for (let i = 1; i <= 12; i++) { + month.push({ id: i, name: i + "月" }); + } + // console.log(month); + let dayNum = this._getNumOfDays(date.getFullYear(), date.getMonth() + 1); + let day = []; + for (let i = 1; i <= dayNum; i++) { + day.push({ id: i, name: i + "日" }); + } + // console.log(day); + let time = []; + for (let i = 0; i <= 23; i++) { + if (i < 10) { + time.push({ id: i, name: "0" + i + "时" }); + } else { + time.push({ id: i, name: i + "时" }); + } + } + // console.log(time); + let division = []; + for (let i = 0; i <= 59; i++) { + if (i < 10) { + division.push({ id: i, name: "0" + i + "分" }); + } else { + division.push({ id: i, name: i + "分" }); + } + } + // console.log(division); + pickerArray[0] = year; + pickerArray[1] = month; + pickerArray[2] = day; + pickerArray[3] = time; + pickerArray[4] = division; + let mdate = { + date: date, + year: date.getFullYear() + '', + month: date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 + '', + day: date.getDate() < 10 ? '0' + date.getDate() : date.getDate() + '', + time: date.getHours() < 10 ? '0' + date.getHours() : date.getHours() + '', + division: date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() + '' + } + mdate.dateString = mdate.year + '-' + mdate.month + '-' + mdate.day + ' ' + mdate.time + ':' + mdate.division; + this.setData({ + pickerArray, + pickerIndex: [1, date.getMonth(), date.getDate() - 1, date.getHours(), date.getMinutes()], + chooseIndex: [1, date.getMonth(), date.getDate() - 1, date.getHours(), date.getMinutes()], + chooseArray: pickerArray, + dateString: mdate.dateString + }) + // console.log(date); + // this.triggerEvent('onPickerChange', mdate); + // console.log(this.data.pickerArray); + // console.log(this._getNumOfDays(2018, 10)); + }, + /** + * + * 获取本月天数 + * @param {number} year + * @param {number} month + * @param {number} [day=0] 0为本月0最后一天的 + * @returns number 1-31 + */ + _getNumOfDays(year, month, day = 0) { + return new Date(year, month, day).getDate() + }, + pickerChange: function (e) { + // console.log('picker发送选择改变,携带值为', e.detail.value) + let indexArr = e.detail.value; + // console.log(this.data.pickerArray[0][indexArr[0]].id + "\n" + this.data.pickerArray[1][indexArr[1]].id + "\n" + this.data.pickerArray[2][indexArr[2]].id); + const year = this.data.pickerArray[0][indexArr[0]].id; + const month = this.data.pickerArray[1][indexArr[1]].id; + const day = this.data.pickerArray[2][indexArr[2]].id; + const time = this.data.pickerArray[3][indexArr[3]].id; + const division = this.data.pickerArray[4][indexArr[4]].id; + let date = { + date: new Date(year + '-' + month + '-' + day + ' ' + time + ':' + division), + year: year + '', + month: month < 10 ? '0' + month : month + '', + day: day < 10 ? '0' + day : day + '', + time: time < 10 ? '0' + time : time + '', + division: division < 10 ? '0' + division : division + '' + } + date.dateString = date.year + '-' + date.month + '-' + date.day + ' ' + date.time + ':' + date.division; + // console.log(date); + this.setData({ + chooseIndex: e.detail.value, + chooseArray: this.data.pickerArray, + dateString: date.dateString + }) + this.triggerEvent('onPickerChange', date); + }, + pickerColumnChange: function (e) { + // console.log('修改的列为', e.detail.column, ',值为', e.detail.value); + var data = { + pickerArray: this.data.pickerArray, + pickerIndex: this.data.pickerIndex + }; + data.pickerIndex[e.detail.column] = e.detail.value; + if (e.detail.column == 1) { + let dayNum = this._getNumOfDays(data.pickerArray[0][data.pickerIndex[0]].id, e.detail.value + 1); + let day = []; + for (let i = 1; i <= dayNum; i++) { + day.push({ id: i, name: i + "日" }); + } + if (dayNum < data.pickerIndex[2] + 1) { + data.pickerIndex[2] = dayNum - 1; + } + data.pickerArray[2] = day; + } + this.setData(data); + }, + pickerCancel: function (e) { + // console.log("取消"); + this.setData({ + pickerIndex: this.data.chooseIndex, + pickerArray: this.data.chooseArray + }) + }, + }, + // 以下是旧式的定义方式,可以保持对 <2.2.3 版本基础库的兼容 + attached() { + // 在组件实例进入页面节点树时执行 + // 在组件实例进入页面节点树时执行 + // this._onInit(); + }, + ready() { + console.log('进入ready外层节点=', this.data.date); + this._onInit(); + }, + // 以下为新方法 >=2.2.3 + lifetimes: { + attached() { + // 在组件实例进入页面节点树时执行 + // this._onInit(); + }, + detached() { + // 在组件实例被从页面节点树移除时执行 + }, + ready() { + console.log('进入ready节点=', this.data.date); + this._onInit(); + } + } +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.json b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxml b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxml new file mode 100644 index 0000000..9bb0dda --- /dev/null +++ b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxml @@ -0,0 +1,8 @@ +<!--Component/pickerYMDHM.wxml--> +<view class="container"> + <picker mode="multiSelector" bindchange="pickerChange" bindcolumnchange="pickerColumnChange" bindcancel ="pickerCancel" value="{{pickerIndex}}" range="{{pickerArray}}" range-key="{{'name'}}"> + <view class='showFont'> + {{date}} + </view> + </picker> +</view> diff --git a/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxss b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxss new file mode 100644 index 0000000..e9a572f --- /dev/null +++ b/SunshineLnsMinApp/Component/pickerYMDHM/pickerYMDHM.wxss @@ -0,0 +1,7 @@ +/* Component/pickerYMDHM.wxss */ +.showFont{ + font-size: 28rpx; + width:490rpx; + height:110rpx; + line-height:110rpx!important; +} \ No newline at end of file diff --git a/SunshineLnsMinApp/app.js b/SunshineLnsMinApp/app.js index 2f01295..9653496 100644 --- a/SunshineLnsMinApp/app.js +++ b/SunshineLnsMinApp/app.js @@ -1,7 +1,7 @@ var qcloud = require('./lib/index'); //app.js App({ - onLaunch: function() { + onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) @@ -10,16 +10,17 @@ globalData: { userInfo: null, pageData: {}, - url: 'https://nsjcy.hugeinfo.com.cn/nsjc-charge', - //url: 'http://192.168.0.31:8085/nsjc-charge', + // url: 'https://nsjcy.hugeinfo.com.cn/nsjc-charge', + // url: 'http://1p885086k1.iok.la/nsjc-charge', + // url: 'http://192.168.0.31:8085/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' }, // 过滤数组 where: (collection, source) => { var sourceKeys = Object.keys(source); - return collection.filter(function(obj) { + return collection.filter(function (obj) { for (var i = 0; i < sourceKeys.length; i++) { if (!obj.hasOwnProperty(sourceKeys[i]) || obj[sourceKeys[i]] !== source[sourceKeys[i]]) { return false; @@ -30,7 +31,7 @@ }, //控制是否能够编辑 - judgeDisable: function(status) { + judgeDisable: function (status) { if (status == null || status == 0 || status == 4) { return false; //可以 } else { @@ -39,14 +40,14 @@ }, //提示弹窗 - showModal: function(warn) { + showModal: function (warn) { wx.showModal({ title: '提示', content: warn }) }, //添加图片 - joinPicture: function(e, these, associateTypeId, attId) { + joinPicture: function (e, these, associateTypeId, attId) { var th = this; var index = e.currentTarget.dataset.index; var associateTypeId = e.currentTarget.dataset.associatetypeid || associateTypeId; @@ -74,7 +75,7 @@ }, // 上传视频 - joinVideo: function(e, these, associateTypeId, attId) { + joinVideo: function (e, these, associateTypeId, attId) { var th = this; var index = e.currentTarget.dataset.index; var associateTypeId = e.currentTarget.dataset.associatetypeid || associateTypeId; @@ -91,7 +92,7 @@ }) }, //上传文件 - upload: function(these, path, associateTypeId, way, id) { + upload: function (these, path, associateTypeId, way, id) { console.log(these) console.log(path) console.log(associateTypeId) @@ -121,11 +122,15 @@ associateTypeId: associateTypeId, batch }, - success: function(res) { + success: function (res) { console.log(res) var evalList = these.data.evalList; var evalListType = 'evalList' + associateTypeId; var data = JSON.parse(res.data) + console.log(data) + console.log('path', path) + console.log('evalList', evalList) + console.log('associateTypeId', associateTypeId) these.setData({ evalList: { ...evalList, @@ -136,7 +141,7 @@ }, }) }, - complete: function() { + complete: function () { wx.hideToast(); //隐藏Toast } }) @@ -144,7 +149,7 @@ }, //删除图片 - clearImg: function(e, these) { + clearImg: function (e, these) { var id = e.currentTarget.id; var index = e.currentTarget.dataset.index; var associateTypeId = e.currentTarget.dataset.associatetypeid; @@ -157,12 +162,12 @@ }), wx.request({ url: this.globalData.url + '/api/v1/attachment/delete/' + id, - success: function(res) { + success: function (res) { if (res.data.code == 0) { console.log('删除成功!') } }, - complete: function() { + complete: function () { wx.hideToast(); //隐藏Toast } }) @@ -176,7 +181,7 @@ }, // 预览图片 - previewImage: function(e) { + previewImage: function (e) { wx.previewImage({ current: e.currentTarget.dataset.src, // 当前显示图片的http链接 urls: [e.currentTarget.dataset.src] // 需要预览的图片http链接列表 @@ -184,7 +189,7 @@ }, //转换时间戳 - formatDate: function(ts) { + formatDate: function (ts) { var now = new Date(ts); var year = now.getFullYear(); var month = now.getMonth() + 1; @@ -195,15 +200,27 @@ return year + "-" + month + "-" + date + " " + hour + ":" + minute; }, + //转换时间戳 + formatDateday: function (ts) { + var now = new Date(ts); + var year = now.getFullYear(); + var month = now.getMonth() + 1; + var date = now.getDate(); + var hour = now.getHours() < 10 ? '0' + now.getHours() : now.getHours(); + var minute = now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes(); + var second = now.getSeconds(); + return year + "-" + month + "-" + date; + }, + // 页面正在开发中 - developIng: function() { + developIng: function () { wx.navigateTo({ url: '../developIng/developIng', }) }, // 判断时间段 - period: function() { + period: function () { var now = new Date(), hour = now.getHours(), word = '';; @@ -228,7 +245,7 @@ }, // 根据身份证获取生日,性别,年龄 - IdCard: function(UUserCard, num) { + IdCard: function (UUserCard, num) { if (num == 1) { //获取出生日期 var birth = UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14); diff --git a/SunshineLnsMinApp/app.json b/SunshineLnsMinApp/app.json index 3635482..0a82747 100644 --- a/SunshineLnsMinApp/app.json +++ b/SunshineLnsMinApp/app.json @@ -91,6 +91,9 @@ "pages/zscqjb/zscqjb", "pages/zscqdxal/zscqdxal", "pages/zscqdxalInfo/zscqdxalInfo", + "pages/pfyy/pfyy", + "pages/rzcx/rzcx", + "pages/rzcxList/rzcxList", "pages/createSub/createSub" ], "networkTimeout": { diff --git a/SunshineLnsMinApp/pages/createSub/createSub.js b/SunshineLnsMinApp/pages/createSub/createSub.js index fbc5ba0..0323bca 100644 --- a/SunshineLnsMinApp/pages/createSub/createSub.js +++ b/SunshineLnsMinApp/pages/createSub/createSub.js @@ -55,7 +55,7 @@ if (res.confirm) { wx.switchTab({ url: '/pages/creat/creat', - success: function(e) { + success: function (e) { var page = getCurrentPages().pop(); if (page == undefined || page == null) return; page.onLoad(); @@ -75,8 +75,23 @@ /** * 生命周期函数--监听页面加载 */ - onLoad: function(options) { + onLoad: function (options) { var _m = "question"; + + var that = this; + wx.request({ + url: app.globalData.url + '/api/activity/finds', + success: function (res) { + if (res.data.code == 0) { + console.log(res) + } else { + wx.showModal({ + title: '提示', + content: "请求失败!" + }) + } + } + }) this.setData({ [_m]: { "paper": { @@ -127,7 +142,7 @@ }); }, - onChange: function(e) { + onChange: function (e) { var index = e.currentTarget.dataset['index']; const { value diff --git a/SunshineLnsMinApp/pages/createSubList/createSubList.js b/SunshineLnsMinApp/pages/createSubList/createSubList.js new file mode 100644 index 0000000..ebb07f0 --- /dev/null +++ b/SunshineLnsMinApp/pages/createSubList/createSubList.js @@ -0,0 +1,162 @@ +// pages/createSub/createSub.js +const app = getApp(); +const $v = app.globalData.createInfo; +Page({ + + /** + * 页面的初始数据 + */ + data: { + question: {}, + confirm: true + }, + // 去单选页面 + toRadio(e) { + var types = e.currentTarget.dataset.type; + wx.navigateTo({ + url: '/pages/radio/radio?type=' + types, + }) + }, + //去编辑页面 + edit(e) { + var index = e.currentTarget.dataset.index; + wx.navigateTo({ + url: '/pages/radio/radio?index=' + index, + }) + }, + // 提交信息 + submit() { + if ($v.psqList.length == 0) { + wx.showToast({ + title: '你还没有创建题目', + icon: "none", + duration: 800 + }); + return; + } + this.setData({ + confirm: false + }) + }, + // 发布信息 + publish() { + app.res({ + url: "psq/save", + method: "POST", + data: $v, + callback: res => { + $v.paper = {}; + $v.psqList = []; + wx.showModal({ + title: '提示', + content: '发布成功,跳转新建问卷', + showCancel: false, + success: res => { + if (res.confirm) { + wx.switchTab({ + url: '/pages/creat/creat', + success: function (e) { + var page = getCurrentPages().pop(); + if (page == undefined || page == null) return; + page.onLoad(); + } + }) + } + } + }) + } + }) + }, + returnEdit() { + this.setData({ + confirm: true + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var _m = "question"; + + var that = this; + wx.request({ + url: app.globalData.url + '/api/question/examination', + success: function (res) { + if (res.data.code == 0) { + console.log(res) + } else { + wx.showModal({ + title: '提示', + content: "请求失败!" + }) + } + } + }) + this.setData({ + [_m]: { + "paper": { + "title": "11", + "des": "111" + }, + "psqList": [{ + "isMust": 1, + "type": 1, + "question": "111", + "answerslist": [{ + "answer": "11" + }, { + "answer": "111" + }, { + "answer": "11" + }, { + "answer": "111" + }], + 'value': [] + }, { + "isMust": 1, + "type": 1, + "question": "11111", + "answerslist": [{ + "answer": "111" + }, { + "answer": "111" + }], + value: [] + }, { + "isMust": 1, + "type": 0, + "question": "11111" + }, { + "isMust": 0, + "type": 1, + "question": "wqwqw", + "answerslist": [{ + "answer": "qw" + }, { + "answer": "wqw" + }, { + "answer": "wqw" + }] + }] + } + }); + }, + + onChange: function (e) { + var index = e.currentTarget.dataset['index']; + const { + value + } = e.detail; + console.log('checkbox', e, '索引', index); + const data = this.data.question.psqList[index].value || []; + const idx = data.indexOf(value) + const current = idx === -1 ? [...data, value] : data.filter((n) => n !== value) + console.log('current', current); + this.data.question.psqList[index].value = current + this.setData({ + question: this.data.question + }) + + } + +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/createSubList/createSubList.json b/SunshineLnsMinApp/pages/createSubList/createSubList.json new file mode 100644 index 0000000..d7e2107 --- /dev/null +++ b/SunshineLnsMinApp/pages/createSubList/createSubList.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "问卷", + "usingComponents": { + "wux-checkbox-group": "../../templeteDist/wuxDist/checkbox-group/index", + "wux-checkbox": "../../templeteDist/wuxDist/checkbox/index" + } +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/createSubList/createSubList.wxml b/SunshineLnsMinApp/pages/createSubList/createSubList.wxml new file mode 100644 index 0000000..60fb792 --- /dev/null +++ b/SunshineLnsMinApp/pages/createSubList/createSubList.wxml @@ -0,0 +1,49 @@ +<!--pages/createSub/createSub.wxml--> +<!--pages/detail/detail.wxml--> +<view class="container"> + <view class="title">{{question.paper.title}}</view> + <view class="des">{{question.paper.des}}</view> + <view class="question" wx:for="{{question.psqList}}" wx:key="{{index}}"> + <view class="questionB"> + <view class="questionT"> + <text wx:if="{{item.isMust == 1}}">*</text> {{index+1}}、{{item.question}} + <view wx:if="{{confirm}}" catchtap="edit" data-index="{{index}}"> + <!-- <icon class="iconfont icon-icon_edit"></icon> + 修改 --> + </view> + </view> + <view class="questionA"> + <!-- <radio-group class="radio-group" + wx:if="{{item.type == 1}}"> + <label class="radio" wx:for="{{item.answerslist}}" wx:key="{{index}}"> + <radio value="{{item.id}}"/>{{item.answer}} + </label> + </radio-group> --> + <wux-checkbox-group name="a" data-index="{{index}}" value="{{ item.value || [] }}" bind:change="onChange" wx:if="{{item.type == 1}}"> + <wux-checkbox color="positive" title="{{item.answer}}" value="{{item.answer}}" wx:for="{{item.answerslist}}" wx:key="{{index}}"> + {{item.answer}} + </wux-checkbox> + </wux-checkbox-group> + + <view class="textarea" wx:if="{{item.type == 0}}"> + <textarea placeholder="请输入回答" /> + </view> + </view> + </view> + </view> + <view class="question" wx:if="{{confirm}}"> + <view class="selectType"> + <view class="toRadio" data-type="1" catchtap="toRadio"> + <icon class="iconfont icon-guanbi"></icon> + 单选题 + </view> + <view class="toFillBlack" data-type="0" catchtap="toRadio"> + <icon class="iconfont icon-combinedshapecopy2"></icon> + 填空题 + </view> + </view> + </view> + <button class="btn" catchtap='submit' wx:if="{{confirm}}">提交</button> + <button class="btn" catchtap='publish' wx:if="{{!confirm}}">确认发布</button> + <button class="btn" catchtap='returnEdit' wx:if="{{!confirm}}">返回修改</button> +</view> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/createSubList/createSubList.wxss b/SunshineLnsMinApp/pages/createSubList/createSubList.wxss new file mode 100644 index 0000000..1830c58 --- /dev/null +++ b/SunshineLnsMinApp/pages/createSubList/createSubList.wxss @@ -0,0 +1,121 @@ +/* pages/createSub/createSub.wxss */ + +page { + background-color: #eaf3fb; + width: 100%; + height: 100%; +} + +.container { + padding: 0 20rpx; + background-color: #eaf3fb; + color: #343434; + overflow: auto; +} + +.title { + text-align: center; + font-size: 32rpx; + padding: 30rpx 0 20rpx; +} + +.des { + padding: 0 30rpx; + line-height: 50rpx; + font-size: 28rpx; + margin-bottom: 24rpx; +} + +.question { + width: 100%; + padding: 0 20rpx; +} + +.questionB { + padding: 0 20rpx; + border-radius: 5px; + background-color: white; + margin-top: 24rpx; +} + +.questionB .questionT { + padding: 20rpx 0; + border-bottom: 1px solid #58a6f6; + font-size: 32rpx; + color: #58a6f6; +} + +.questionA radio-group { + display: block; +} + +.questionT text { + color: red; +} + +.questionT view { + float: right; + font-size: 28rpx; + margin-top: -5px; +} + +.radio { + display: block; + font-size: 30rpx; + padding: 20rpx; + border-bottom: 1rpx dashed #dadada; +} + +.radio:last-child { + border-bottom: none; +} + +.radio radio { + margin-right: 20rpx; +} + +.textarea { + padding: 24rpx; +} + +.questionA textarea { + width: 100%; + height: 160rpx; + padding: 20rpx; + box-sizing: border-box; + font-size: 30rpx; + border: 1rpx solid #dadada; + border-radius: 5px; +} + +.selectType { + padding: 20rpx 100rpx; + border-radius: 5px; + background-color: white; + margin-top: 24rpx; + display: flex; + justify-content: space-between; + font-size: 32rpx; +} + +.selectType icon { + font-size: 40rpx; + color: #58a6f6; +} + +.toRadio icon { + position: relative; + font-size: 45rpx; + top: 5rpx; +} + +.btn { + width: 80%; + height: 40px; + background-color: #58a6f6; + border-radius: 40px; + line-height: 40px; + color: white; + margin: 24rpx auto; + font-size: 32rpx; +} diff --git a/SunshineLnsMinApp/pages/index/index.wxml b/SunshineLnsMinApp/pages/index/index.wxml index 10c9d97..3d689b4 100644 --- a/SunshineLnsMinApp/pages/index/index.wxml +++ b/SunshineLnsMinApp/pages/index/index.wxml @@ -329,11 +329,13 @@ 营商环境 </view> </view> - <view class="bg-img" data-str="createSub" 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-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;"> + </view> + <!-- <view class="bg-img" data-str="createSub" 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> --> </view> </view> diff --git a/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.js b/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.js index d34d9e0..e520aea 100644 --- a/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.js +++ b/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.js @@ -6,6 +6,7 @@ * 页面的初始数据 */ data: { + user: app.globalData.imgUrl + '/image/user.svg', dataSet: [], isHideLoadMore: true, //loading样式 isHideMorebtn: true, //更多按钮样式 @@ -16,24 +17,25 @@ /** * 生命周期函数--监听页面加载 */ - onLoad: function(options) { + onLoad: function (options) { this.setData({ isHideLoadMore: false }, this.showList(options.id)) }, - showList: function(id) { + showList: function (id) { var that = this; // d46ee05998ce48f893a63623cbde6875 wx.request({ - url: app.globalData.url + '/api/article/legalServiceQuery?page=1&size=' + that.data.size + '&ownerId=' +id, - success: function(res) { + url: app.globalData.url + '/api/article/publicMsgQuery?page=1&size=' + that.data.size + '&flag=法律宣传', + success: function (res) { console.log(res) if (res.data.code == 0) { - (res.data.data.content).forEach(e => { + (res.data.data.units).forEach(e => { (e.createTime) = app.formatDate(e.createTime) }) - var dataSet = res.data.data.content; + var dataSet = res.data.data.units; + console.log(dataSet) if (res.data.data.totalElements < that.data.size) { // 到底了,没数据加载 that.setData({ @@ -56,7 +58,7 @@ }) } }, - complete: function() { + complete: function () { that.setData({ isHideLoadMore: true }) @@ -65,7 +67,7 @@ }, // 跳转详情 - link: function(e) { + link: function (e) { var id = e.currentTarget.dataset.id; console.log(e.currentTarget.dataset.id); wx.navigateTo({ @@ -73,22 +75,15 @@ }) }, - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function() { - + folder: function (event) { + var title = event.currentTarget.dataset['title']; + wx.navigateTo({ + url: '../law2Publicitylist/law2Publicitylist?title=' + title, + }) }, // 加载更多 - getMore: function() { + getMore: function () { // 有加载更多按钮 if (!this.data.isHideMorebtn) { this.setData({ diff --git a/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxml b/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxml index 5e24715..be4743d 100644 --- a/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxml +++ b/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxml @@ -1,27 +1,13 @@ <!--lawPublicity.wxml--> -<view class="lawPublicity-list"> - <view class="lawPublicity-item" wx:for="{{dataSet}}" wx:key="{{item.id}}"> - <view class="content-left"> - <view class="headLineTitle" data-Id="{{item.id}}" bindtap="link"> - {{item.title}} - </view> - <view class="headLineInfo"> - <view class="info-source">{{item.createTime}}</view> - <view class="info-viewer">{{item.readCount}}人阅读</view> - </view> - </view> - <view class="content-right" data-Id="{{item.id}}" bindtap="link"> - <image src="{{item.coverUrl}}"></image> - </view> - </view> -</view> -<view class="weui-loadmore" hidden="{{isHideMorebtn}}"> - <view class="weui-loadmore__tips" bindtap='getMore'>点击加载更多</view> -</view> -<view class="weui-loadmore" hidden="{{isHideLoadMore}}"> - <view class="weui-loading"></view> - <view class="weui-loadmore__tips">正在加载</view> -</view> -<view class="weui-loadmore" hidden="{{isHideEnd}}"> - <view class="weui-loadmore__tips">------------我是有底线的------------</view> -</view> \ No newline at end of file +<!-- <div class="guide-all-nav"> + <span></span> + <span>全部指南</span> +</div> --> +<div class="guide-all-list" wx:for="{{dataSet}}" wx:id="{{item.id}}" data-title="{{item.channelName}}" bindtap='folder'> + <div class="guide-all-list-top">{{item.channelName}} + <span> + <image class="index-pane-icon " src="{{user}} " /> + </span> + </div> + +</div> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxss b/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxss index e3604d5..253384b 100644 --- a/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxss +++ b/SunshineLnsMinApp/pages/law2Publicity/law2Publicity.wxss @@ -1,47 +1,158 @@ /* lawPublicity.wxss */ -.lawPublicity-item { - height: 148rpx; +.guide-nav-pane { display: flex; - flex-direction: row; - color: rgba(51, 51, 51, 1); - text-align: left; - font-family: PingFangSC-Regular; - padding: 24rpx 24rpx 0 24rpx; + align-items: center; } -.content-left { - width: 416rpx; +.guide-nav-pane-item { + flex: auto; + display: flex; + min-width: 38px; + flex-flow: column nowrap; + justify-content: center; + align-items: center; + margin: 8px 0; } -.content-right { - flex: 1; - margin-left: 50rpx; - background: #ccc; - width: 100%; - height: 100%; -} -.content-right image{ - width: 100%; - height: 100%; +.guide-nav-pane-item-icon { + width: 6vh; + height: 6vh; } -.headLineTitle { - height: 88rpx; +.guide-nav-pane-item-title { + font-size: 14px; +} + +.border-left { + border-left: 1px solid #f2f2f2; +} + +.guide-often { + display: flex; + padding:2vh 0 0 2vh; + flex-direction: column; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); +} + +.guide-often-nav { + flex: auto; + padding-bottom: 2vh; +} + +.guide-all-nav { + flex: auto; + padding: 2vh; + border-bottom: 1px solid #f2f2f2; +} + +.guide-often-nav span:nth-child(1) { + border-left: 3px solid #2195ff; +} + +.guide-often-nav span:nth-child(2) { + padding-left: 1vh; + font-size: 18px; + font-weight: bold; +} + +.guide-all { + display: flex; + flex-direction: column; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); +} + +.guide-all-nav span:nth-child(1) { + border-left: 3px solid #2195ff; +} + +.guide-all-nav span:nth-child(2) { + padding-left: 1vh; + font-size: 18px; + font-weight: bold; +} + +.guide-often-icon { + display: flex; +} + +.guide-often-img { + height: 18vh; +} + +.guide-all-list { + display: flex; + flex-direction: column; + padding: 2vh; + border-bottom: 1px solid #f2f2f2; +} + +.guide-all-list-top { font-size: 16px; - line-break: 44rpx; - color: rgba(51, 51, 51, 1); - margin-bottom: 26rpx; + color: #333; } -.headLineInfo { +.guide-all-list-bottom { + font-size: 14px; + color: #999; display: flex; - font-size: 12px; - color: rgba(153, 153, 153, 1); + margin-top: 1vh; } -.info-source{ - margin-right: 20rpx; +.guide-all-list-left { + margin-right: auto; +} + +.guide-all-list-right { + width: 3vh; + height: 3vh; +} +.index-pane-icon { + width: 16px; + height: 16px; + float:right; +} + +.search{ + width: 98%; +} +.search_arr { + border: 1px solid #d0d0d0; + border-radius: 10rpx; + margin-left: 20rpx; +} +.search_arr input{ + margin-left: 60rpx; + height: 60rpx; + border-radius: 5px; + font-size: 14px; +} +.bc_text { + line-height: 68rpx; + height: 68rpx; + margin-top: 34rpx; +} + +.sousuo { + margin-left: 15rpx; + width: 15%; + line-height: 150%; + text-align: center; + border: 1px solid #d0d0d0; + border-radius: 10rpx; +} +.page_row{ + display: flex; + flex-direction: row +} +.searchcion { + margin: 10rpx 10rpx 10rpx 10rpx; + position: absolute; + left:25rpx; + z-index: 2; + width: 20px; + height: 20px; + text-align: center; } diff --git a/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.js b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.js new file mode 100644 index 0000000..dcdf684 --- /dev/null +++ b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.js @@ -0,0 +1,64 @@ +//index.js +//获取应用实例 +const app = getApp() + +Page({ + data: { + user: app.globalData.imgUrl + '/image/user.svg', + dataSet: [], + title: '', + content: '------加载中------', + size: 10, + hasMoreData: true, + }, + onLoad: function(option) { + this.setData({ + title: option.title + }, this.showList(option.title)) + }, + + showList: function (title) { + var that = this; + wx.request({ + url: app.globalData.url + '/api/article/publicMsgQuery?page=1&size=' + that.data.size + '&flag=' +title, + success: function(res) { + console.log(res) + if (res.data.code == 0) { + that.setData({ + dataType: res.data.data.units + }) + if (res.data.data.result.totalElements < that.data.size) { + that.setData({ + dataSet: res.data.data.result.content, + hasMoreData: false, + content: '------我是有底线的------' + }) + } else { + that.setData({ + dataSet: res.data.data.result.content, + hasMoreData: true, + content: '------加载更多------', + size: that.data.size + 10 + }) + } + } else { + wx.showModal({ + title: '提示', + content: "请求失败!" + }) + } + + } + }) + }, + + link: function(event) { + // 跳转详情页面 + var id = event.currentTarget.dataset['id']; + var flag = '办事指南详情'; + wx.navigateTo({ + url: '../publicMsgDetails/publicMsgDetails?id=' + id + '&flag=' + flag, + }) + } + +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.json b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.json new file mode 100644 index 0000000..4477a99 --- /dev/null +++ b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "自贸区法律服务", + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black" +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxml b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxml new file mode 100644 index 0000000..f944003 --- /dev/null +++ b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxml @@ -0,0 +1,19 @@ +<div class="guide-main"> + + <div class="guide-all"> + <div class="guide-all-nav"> + <span></span> + <span>{{title}}({{dataSet.length}})</span> + </div> + <div class="guide-all-list" wx:for="{{dataSet}}" wx:key="{{item.id}}" data-Id="{{item.id}}" bindtap='link'> + <div class="guide-all-list-top">{{item.title}} + <span> + <image class="index-pane-icon " src="{{user}} " /> + </span> + </div> + </div> + + </div> + + <div class="load">------{{content}}------</div> +</div> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxss b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxss new file mode 100644 index 0000000..86124e5 --- /dev/null +++ b/SunshineLnsMinApp/pages/law2Publicitylist/law2Publicitylist.wxss @@ -0,0 +1,112 @@ +.guide-nav-pane { + display: flex; + align-items: center; +} + +.guide-nav-pane-item { + flex: auto; + display: flex; + min-width: 38px; + flex-flow: column nowrap; + justify-content: center; + align-items: center; + margin: 8px 0; +} + +.guide-nav-pane-item-icon { + width: 6vh; + height: 6vh; +} + +.guide-nav-pane-item-title { + font-size: 14px; +} + +.border-left { + border-left: 1px solid #f2f2f2; +} + +.guide-often { + display: flex; + padding:2vh 0 0 2vh; + flex-direction: column; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); +} + +.guide-often-nav { + flex: auto; + padding-bottom: 2vh; +} + +.guide-all-nav { + flex: auto; + padding: 2vh; + border-bottom: 1px solid #f2f2f2; +} + +.guide-often-nav span:nth-child(1) { + border-left: 3px solid #2195ff; +} + +.guide-often-nav span:nth-child(2) { + padding-left: 1vh; + font-size: 18px; + font-weight: bold; +} + +.guide-all { + display: flex; + flex-direction: column; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); +} + +.guide-all-nav span:nth-child(1) { + border-left: 3px solid #2195ff; +} + +.guide-all-nav span:nth-child(2) { + padding-left: 1vh; + font-size: 18px; + font-weight: bold; +} + +.guide-often-icon { + display: flex; +} + +.guide-often-img { + height: 18vh; +} + +.guide-all-list { + display: flex; + flex-direction: column; + padding: 2vh; + border-bottom: 1px solid #f2f2f2; +} + +.guide-all-list-top { + font-size: 16px; + color: #333; +} + +.guide-all-list-bottom { + font-size: 14px; + color: #999; + display: flex; + margin-top: 1vh; +} + +.guide-all-list-left { + margin-right: auto; +} + +.guide-all-list-right { + width: 3vh; + height: 3vh; +} +.index-pane-icon { + width: 16px; + height: 16px; + float:right; +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/me/me.js b/SunshineLnsMinApp/pages/me/me.js index c53e3d8..3b5f824 100644 --- a/SunshineLnsMinApp/pages/me/me.js +++ b/SunshineLnsMinApp/pages/me/me.js @@ -46,6 +46,12 @@ }) }, + rzcxList: function() { + wx.navigateTo({ + url: '../rzcxList/rzcxList', + }) + }, + onLoad: function() { this.notification(); }, diff --git a/SunshineLnsMinApp/pages/me/me.wxml b/SunshineLnsMinApp/pages/me/me.wxml index 3e081a0..963157e 100644 --- a/SunshineLnsMinApp/pages/me/me.wxml +++ b/SunshineLnsMinApp/pages/me/me.wxml @@ -5,9 +5,7 @@ <open-data class="me-item-icon" type="userAvatarUrl"></open-data> </view> <div class="me-item-name"> - <open-data class="me-item-name-top" type="userNickName"></open-data> - <div class="me-item-name-bottom">欢迎你</div> </div> <image class="me-item-logo" src="{{logo}}" /> @@ -42,6 +40,16 @@ <image class="me-business-right-icon" src="{{user}}" /> </div> + <div class="me-business-nav" bindtap="rzcxList"> + <image class="me-business-icon" src="{{xxtx}}" /> + <div class="me-business-title">入职查询</div> + <block wx:if="{{notRead > 0}}"> + <div class="me-business-info">{{notRead}}</div> + </block> + + <image class="me-business-right-icon" src="{{user}}" /> + </div> + <div class="me-business-nav" bindtap="wdjb"> <image class="me-business-icon" src="{{xxtx}}" /> <div class="me-business-title">我的举报</div> diff --git a/SunshineLnsMinApp/pages/messageNotification/messageNotification.js b/SunshineLnsMinApp/pages/messageNotification/messageNotification.js index 59ddfa2..c5a814e 100644 --- a/SunshineLnsMinApp/pages/messageNotification/messageNotification.js +++ b/SunshineLnsMinApp/pages/messageNotification/messageNotification.js @@ -6,7 +6,7 @@ * 页面的初始数据 */ data: { - loading: app.globalData.imgUrl +'/image/loading.svg', + loading: app.globalData.imgUrl + '/image/loading.svg', navbar: ['全部', '未回复', '已回复'], currentTab: 0, size: 10, @@ -18,7 +18,7 @@ dataSet: [] }, - navbarTap: function(e) { + navbarTap: function (e) { this.setData({ currentTab: e.currentTarget.dataset.idx }) @@ -26,7 +26,7 @@ }, - showList: function(tab) { + showList: function (tab) { var userinfo = wx.getStorageSync("user"); var that = this; var id = userinfo.id @@ -48,16 +48,16 @@ } wx.request({ url: app.globalData.url + '/api/businessAggr/draftQuery?page=1&size=' + that.data[sizeQty] + '&userId=' + id + '&flag=message' + str, - success: function(res) { + success: function (res) { if (res.data.code == 0) { (res.data.data.content).forEach(e => { (e.createTime) = app.formatDate(e.createTime) switch (e.businessType) { case '扫黑除恶': - e.iconSrc = app.globalData.imgUrl +'/image/businessManage/saoheichue_b.png'; + e.iconSrc = app.globalData.imgUrl + '/image/businessManage/saoheichue_b.png'; break; case '公益随手拍': - e.iconSrc = app.globalData.imgUrl +'/image/businessManage/suishoupai_b.png'; + e.iconSrc = app.globalData.imgUrl + '/image/businessManage/suishoupai_b.png'; break; case '联络站': if (e.stationType == 4) { @@ -80,7 +80,7 @@ e.iconSrc = app.globalData.imgUrl + '/image/icon_lianluo.svg'; break; case '投诉建议': - e.iconSrc = app.globalData.imgUrl +'/image/businessManage/icon_tousujianyi@2x.png' + e.iconSrc = app.globalData.imgUrl + '/image/businessManage/icon_tousujianyi@2x.png' } @@ -109,7 +109,7 @@ }) }, - businessSchedule: function(event) { + businessSchedule: function (event) { var id = event.currentTarget.id; var businessType = this.data.dataSet[id].businessType; var businessId = this.data.dataSet[id].businessId; @@ -128,9 +128,13 @@ wx.navigateTo({ url: '../complaintAdvice/complaintAdvice?id=' + businessId, }) - } else if (businessType1 == "联络站") { + } else if (businessType == "联络站") { wx.navigateTo({ url: '../junctionStation/junctionStation?id=' + businessId + '&flag=' + flag, + }) + } else if (businessType == "普法预约") { + wx.navigateTo({ + url: '../pfyy/pfyy?id=' + businessId + '&disabled=' + true, }) } else { wx.showModal({ @@ -140,14 +144,14 @@ } }, - onLoad: function() { + onLoad: function () { this.showList(0) }, /** * 页面上拉触底事件的处理函数 */ - onReachBottom: function() { + onReachBottom: function () { if (this.data.hasMoreData) { this.showList(this.data.currentTab) this.setData({ diff --git a/SunshineLnsMinApp/pages/pfyy/pfyy.js b/SunshineLnsMinApp/pages/pfyy/pfyy.js new file mode 100644 index 0000000..d859116 --- /dev/null +++ b/SunshineLnsMinApp/pages/pfyy/pfyy.js @@ -0,0 +1,120 @@ +// pages/pfyy/pfyy.js + +const app = getApp(); +var Validator = require("../../utils/validate.tools.js"); +const verify = Validator.Validator; +Page({ + + /** + * 页面的初始数据 + */ + data: { + disabled: false, + id: '', + picType: '', + evalList: {}, + picturesInfo: {} + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + console.log(options) + let id = options.id + let disabled = options.disabled + var userinfo = wx.getStorageSync("user"); + wx.request({ + url: app.globalData.url + '/api/v1/appointment/find?id=' + id, + success: function (res) { + console.log(res.data.data.lawAppointment) + if (res.data.code == 0) { + that.setData({ + picturesInfo: { + ...res.data.data.lawAppointment, + createId: userinfo.id, + activitiesTime: app.formatDateday(res.data.data.lawAppointment.activitiesTime) + }, + disabled + }) + } else { + wx.showModal({ + title: '提示', + content: "请求失败!" + }) + } + } + }) + }, + + inputChange: function (e) { + var name = e.currentTarget.dataset.name; + this.setData({ + picturesInfo: { + ...this.data.picturesInfo, + [name]: e.detail.value + } + }) + + }, + + submit: function (e) { + var picturesInfo = this.data.picturesInfo; + if (!picturesInfo.schoolName) { + return app.showModal("请填写学校名称!"); + } + if (!picturesInfo.schoolAddress) { + return app.showModal("请填写学校地址!"); + } + if (!picturesInfo.contactName) { + return app.showModal("请填写联系人!"); + } + if (!picturesInfo.contactPhone) { + return app.showModal("请填写联系方式!"); + } + if (!picturesInfo.activitiesTime) { + return app.showModal("请填写活动时间!"); + } + if (!picturesInfo.content) { + return app.showModal("请填写普法内容!"); + } + if (!picturesInfo.activitiesNum) { + return app.showModal("请填写活动人数!"); + } + if (!picturesInfo.activitiesAddress) { + return app.showModal("请填写活动场地!"); + } + if (!picturesInfo.remake) { + return app.showModal("请填写备注!"); + } + var that = this; + wx.request({ + url: app.globalData.url + '/api/v1/appointment/save', + data: picturesInfo, + method: 'POST', + header: { + "Content-Type": "application/json" + }, + success: function (res) { + if (res.data.code == 0) { + wx.showToast({ + title: '提交成功', + icon: 'success', + duration: 2000 + }) + setTimeout(function () { + wx.reLaunch({ + url: '../zhwj/zhwj', + }) + }, 2000) + } else { + wx.showModal({ + title: '提示', + content: "提交失败!" + }) + } + } + }) + }, +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/pfyy/pfyy.json b/SunshineLnsMinApp/pages/pfyy/pfyy.json new file mode 100644 index 0000000..8a0a993 --- /dev/null +++ b/SunshineLnsMinApp/pages/pfyy/pfyy.json @@ -0,0 +1,5 @@ +{ + "enablePullDownRefresh":true, + "usingComponents": { + } +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/pfyy/pfyy.wxml b/SunshineLnsMinApp/pages/pfyy/pfyy.wxml new file mode 100644 index 0000000..aa06cf0 --- /dev/null +++ b/SunshineLnsMinApp/pages/pfyy/pfyy.wxml @@ -0,0 +1,68 @@ +<!--pages/pfyy/pfyy.wxml--> +<div class="boxshadow"> + <div class="publicSnapshot-message"> + <span></span> + <span>信息填写</span> + </div> + <div class="border-bottom"></div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>学校名称</span> + <input data-name="schoolName" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.schoolName}}'></input> + </div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>学校地址</span> + <input data-name="schoolAddress" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.schoolAddress}}'></input> + </div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>联系人</span> + <input data-name="contactName" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.contactName}}'></input> + </div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>联系方式</span> + <input data-name="contactPhone" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.contactPhone}}'></input> + </div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>活动时间</span> + <picker mode="date" value="{{picturesInfo.activitiesTime}}" data-name="activitiesTime" disabled="{{disabled}}" bindchange="inputChange"> + <view class="picker"> + {{picturesInfo.activitiesTime}} + </view> + </picker> + <!-- <pickerYMDHM bind:onPickerChange="onPickerChange3" date="{{endedTime}}"></pickerYMDHM> --> + </div> + + <div class="publicSnapshot-main" style='display:block'> + <view class="zhghInfo-center-title"> + <span class="red-title">*</span> + <span>普法内容</span> + </view> + <textarea data-name="content" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.content}}' placeholder="请输入普法内容" /> + </div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>活动人数</span> + <input type="number" data-name="activitiesNum" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.activitiesNum}}'></input> + </div> + <div class="publicSnapshot-main"> + <span class="red-title">*</span> + <span>活动场地</span> + <input type="number" data-name="activitiesAddress" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.activitiesAddress}}'></input> + </div> + <div class="publicSnapshot-main" style='display:block'> + <view class="zhghInfo-center-title"> + <span class="red-title">*</span> + <span>备注</span> + </view> + <textarea data-name="remake" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.remake}}' placeholder="请输入备注内容" /> + </div> +</div> +<div class="index-gray"></div> + +<div class="{{disabled? 'displayNone':'submitButton'}}"> + <div style='width:90%' class="mini-submit" bindtap="submit">提交申请</div> +</div> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/pfyy/pfyy.wxss b/SunshineLnsMinApp/pages/pfyy/pfyy.wxss new file mode 100644 index 0000000..2e1d734 --- /dev/null +++ b/SunshineLnsMinApp/pages/pfyy/pfyy.wxss @@ -0,0 +1,227 @@ +/* pages/pfyy/pfyy.wxss */ +input { + font-size: 14px; + color: #999; + text-align: right; +} + +.border-bottom { + border-bottom: 1px solid #f2f2f2; +} + +.upload { + width: 48px; + height: 48px; +} + +.activity-uploadImag-del { + width: 20px; + height: 20px; + position: absolute; + left: 28px; + z-index: 10; +} + +.publicSnapshot-message { + display: flex; + padding: 2vh; +} + +.publicSnapshot-message span:nth-child(1) { + border-left: 3px solid #2195ff; +} + +.publicSnapshot-message span:nth-child(2) { + padding-left: 1vh; + font-size: 18px; + font-weight: bold; +} + +.activity-uploadImag-icon { + width: 48px; + height: 48px; +} + +.educt_hasupload_pic { + display: flex; + position: relative; + padding-right: 1vh; +} + +.activity-uploadImage { + display: flex; + padding: 1vh 2vh; + /* flex-direction: column; */ +} + +.publicSnapshot-textarea { + font-size: 14px; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); + display: flex; + flex-direction: column; +} + +textarea { + box-sizing: border-box; + width: 100%; + height: 100px; + display: block; + position: relative; + padding: 2vh; +} + +.activity-uploadImage-title { + font-size: 14px; + padding: 1vh 2vh; +} + +.publicSnapshot-main { + padding: 2vh 2vh 2vh 0; + display: flex; + margin-left: 2vh; + border-bottom: 1px solid #f2f2f2; +} + +.publicSnapshot-main span:nth-child(1) { + font-size: 14px; + width: 2%; +} + +.publicSnapshot-main span:nth-child(2) { + font-size: 14px; + color: #333; + margin-right: auto; + width: 20%; +} + +.publicSnapshot-main span:nth-child(3) { + font-size: 14px; + color: #999; +} + +.publicSnapshot-main-img { + width: 16px; + height: 22px; +} + +.publicSnapshot-main .person_w{ + display: inline-block; + font-size: 14px; + color: #333; + margin-right: auto; + width: auto; +} + +.publicSnapshot-main-picker { + font-size: 14px; + color: #999; + width: 60%; + text-align: right; +} + +.publicSnapshot-main-img { + width: 16px; + height: 22px; +} + +.publicSnapshot-status { + border-bottom: 1px solid #f2f2f2; + display: flex; + flex-direction: column; + box-shadow: 0px 4px 8px 0px rgba(136, 136, 136, 0.11); +} + +.publicSnapshot-status-main { + padding: 2vh; + border-bottom: 1px solid #f2f2f2; + display: flex; +} + +.publicSnapshot-status-main-nav { + font-size: 18px; + color: #333; + font-weight: 600; + margin-right: auto; +} + +.publicSnapshot-status-main-state { + width: 10vh; + border-radius: 18px; + display: flex; + justify-content: center; + padding: 1vh; + box-shadow: 0px 4px 8px 0px rgba(136, 136, 136, 0.11); +} + +.publicSnapshot-status-main-state span { + font-size: 14px; + color: #fff; +} + +.publicSnapshot-status-time { + padding: 2vh; + display: flex; + color: #333; +} + +.publicSnapshot-status-time-left { + margin-right: auto; + font-size: 14px; +} + +.publicSnapshot-status-time-right { + font-size: 14px; +} +.contantType-picker{ + font-size: 14px; +} +.contantType-picker-div{ + display:flex; + width: 31% +} +.publicSnapshot-main-img { + width: 16px; + height: 22px; +} +.msg-reply-view-content { + overflow: auto; + padding:5px 0px 5px 20px; +} + +.msg-reply-view-content::-webkit-scrollbar { + width: 0; +} + +.msg-reply-view-info { + padding: 8px; + line-height: 30px; + color: #000; +} + +.msg-reply-view-admin { + display: block; + float: left; + color: green; +} + +.msg-reply-view-user { + display: block; + float: left; + color: #1790ff; +} + +.msg-reply-view-time-user { + display: block; + color: #1790ff; +} + +.msg-reply-view-time-admin { + display: block; + color: green; +} + +.reply-div { + margin: 10px; + font-size: 12px; + color: #1790ff; +} diff --git a/SunshineLnsMinApp/pages/publicMsgDetails/publicMsgDetails.json b/SunshineLnsMinApp/pages/publicMsgDetails/publicMsgDetails.json index eea44da..fd1d721 100644 --- a/SunshineLnsMinApp/pages/publicMsgDetails/publicMsgDetails.json +++ b/SunshineLnsMinApp/pages/publicMsgDetails/publicMsgDetails.json @@ -1,4 +1,5 @@ { "backgroundTextStyle": "light", + "navigationBarTitleText": "详情", "navigationBarBackgroundColor": "#fff" } \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/rzcx/rzcx.js b/SunshineLnsMinApp/pages/rzcx/rzcx.js new file mode 100644 index 0000000..a378fa9 --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcx/rzcx.js @@ -0,0 +1,145 @@ +// pages/rzcx/rzcx.js + +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + user: app.globalData.imgUrl + '/image/user.svg', + add: app.globalData.imgUrl + '/image/add.svg', + del: app.globalData.imgUrl + '/image/del.svg', + videoIcon: app.globalData.imgUrl + '/image/video.png', + disabled: false, + id: '', + picType: '', + evalList: {}, + dataSet: {}, + picturesInfo: {}, + entityId: '' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + console.log(options) + let id = options.id + that.setData({ + id + }) + let disabled = options.disabled + let flag = options.flag || '' + var userinfo = wx.getStorageSync("user"); + wx.request({ + url: app.globalData.url + '/api/entry/find?id=' + id + '&flag=' + flag, + success: function (res) { + console.log(res.data) + // if (res.data.code == 0) { + console.log(res.data) + var evalList1019 = res.data.list || []; + console.log('37', evalList1019) + var evalList = { + evalList1019, + }; + for (var i in evalList) { + evalList[i] = evalList[i].map(({ + url, + uid + }) => ({ + pic: url, + id: uid + })) + } + console.log('48', evalList) + + that.setData({ + picturesInfo: { + ...res.data, + createrId: userinfo.id, + }, + entityId: res.data.id, + disabled, + evalList + }) + // } else { + // wx.showModal({ + // title: '提示', + // content: "请求失败!" + // }) + // } + } + }) + }, + + inputChange: function (e) { + var name = e.currentTarget.dataset.name; + this.setData({ + picturesInfo: { + ...this.data.picturesInfo, + [name]: e.detail.value + } + }) + + }, + + submit: function (e) { + var picturesInfo = this.data.picturesInfo; + + if (!picturesInfo.reason) { + return app.showModal("请填写申请理由!"); + } + var that = this; + console.log(picturesInfo) + wx.request({ + url: app.globalData.url + '/api/entry/miniSave', + data: picturesInfo, + method: 'POST', + header: { + "Content-Type": "application/json" + }, + success: function (res) { + // if (res.data.code == 0) { + wx.showToast({ + title: '提交成功', + icon: 'success', + duration: 2000 + }) + setTimeout(function () { + wx.reLaunch({ + url: '../zhwj/zhwj', + }) + }, 2000) + // } else { + // wx.showModal({ + // title: '提示', + // content: "提交失败!" + // }) + // } + } + }) + }, + + // 删除图片 + clearImg: function (e) { + var that = this; + app.clearImg(e, that) + }, + + //预览图片 + previewImage: function (e) { + app.previewImage(e) + }, + + uploadFiles: function (e) { + var that = this; + wx.showActionSheet({ + itemList: ['拍照上传', '选择图片'], + success: function (res) { + app.joinPicture(e, that, 1019, that.data.entityId) + }, + fail: function (res) {} + }) + }, +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/rzcx/rzcx.json b/SunshineLnsMinApp/pages/rzcx/rzcx.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcx/rzcx.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/rzcx/rzcx.wxml b/SunshineLnsMinApp/pages/rzcx/rzcx.wxml new file mode 100644 index 0000000..11a3aba --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcx/rzcx.wxml @@ -0,0 +1,33 @@ +<!--pages/rzcx/rzcx.wxml--> + +<div class="boxshadow"> + <div class="publicSnapshot-message"> + <span></span> + <span>照片上传</span> + </div> + <div class="border-bottom"></div> + <div class="activity-uploadImage"> + <view class="educt_hasupload_pic" wx:for="{{evalList.evalList1019}}" wx:key="index"> + <image src="{{item.pic}}" class="upload" name="{{item.pic}}" bindtap="previewImage" data-src="{{item.pic}}"></image> + <image src="{{del}}" bindtap='clearImg' data-index="{{index}}" id="{{item.id}}" data-associatetypeid="{{1019}}" class="{{disabled? 'displayNone':'activity-uploadImag-del'}}"></image> + </view> + <view bindtap="uploadFiles" class="{{disabled? 'displayNone':'educt_upload_add'}}"> + <image class="activity-uploadImag-icon" src="{{add}}"></image> + </view> + </div> +</div> +<div class="boxshadow"> + <div class="publicSnapshot-message"> + <span></span> + <span>申请理由</span> + </div> + <div class="border-bottom"></div> + <div class="publicSnapshot-main" style='display:block'> + <textarea data-name="reason" bindinput="inputChange" disabled="{{disabled}}" value='{{picturesInfo.reason}}' placeholder="请输入备注内容" /> + </div> +</div> +<div class="index-gray"></div> + +<div class="{{disabled? 'displayNone':'submitButton'}}"> + <div style='width:90%' class="mini-submit" bindtap="submit">提交申请</div> +</div> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/rzcx/rzcx.wxss b/SunshineLnsMinApp/pages/rzcx/rzcx.wxss new file mode 100644 index 0000000..e74b02d --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcx/rzcx.wxss @@ -0,0 +1,227 @@ +/* pages/rzcx/rzcx.wxss */ +input { + font-size: 14px; + color: #999; + text-align: right; +} + +.border-bottom { + border-bottom: 1px solid #f2f2f2; +} + +.upload { + width: 48px; + height: 48px; +} + +.activity-uploadImag-del { + width: 20px; + height: 20px; + position: absolute; + left: 28px; + z-index: 10; +} + +.publicSnapshot-message { + display: flex; + padding: 2vh; +} + +.publicSnapshot-message span:nth-child(1) { + border-left: 3px solid #2195ff; +} + +.publicSnapshot-message span:nth-child(2) { + padding-left: 1vh; + font-size: 18px; + font-weight: bold; +} + +.activity-uploadImag-icon { + width: 48px; + height: 48px; +} + +.educt_hasupload_pic { + display: flex; + position: relative; + padding-right: 1vh; +} + +.activity-uploadImage { + display: flex; + padding: 1vh 2vh; + /* flex-direction: column; */ +} + +.publicSnapshot-textarea { + font-size: 14px; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); + display: flex; + flex-direction: column; +} + +textarea { + box-sizing: border-box; + width: 100%; + height: 100px; + display: block; + position: relative; + padding: 2vh; +} + +.activity-uploadImage-title { + font-size: 14px; + padding: 1vh 2vh; +} + +.publicSnapshot-main { + padding: 2vh 2vh 2vh 0; + display: flex; + margin-left: 2vh; + border-bottom: 1px solid #f2f2f2; +} + +.publicSnapshot-main span:nth-child(1) { + font-size: 14px; + width: 2%; +} + +.publicSnapshot-main span:nth-child(2) { + font-size: 14px; + color: #333; + margin-right: auto; + width: 20%; +} + +.publicSnapshot-main span:nth-child(3) { + font-size: 14px; + color: #999; +} + +.publicSnapshot-main-img { + width: 16px; + height: 22px; +} + +.publicSnapshot-main .person_w{ + display: inline-block; + font-size: 14px; + color: #333; + margin-right: auto; + width: auto; +} + +.publicSnapshot-main-picker { + font-size: 14px; + color: #999; + width: 60%; + text-align: right; +} + +.publicSnapshot-main-img { + width: 16px; + height: 22px; +} + +.publicSnapshot-status { + border-bottom: 1px solid #f2f2f2; + display: flex; + flex-direction: column; + box-shadow: 0px 4px 8px 0px rgba(136, 136, 136, 0.11); +} + +.publicSnapshot-status-main { + padding: 2vh; + border-bottom: 1px solid #f2f2f2; + display: flex; +} + +.publicSnapshot-status-main-nav { + font-size: 18px; + color: #333; + font-weight: 600; + margin-right: auto; +} + +.publicSnapshot-status-main-state { + width: 10vh; + border-radius: 18px; + display: flex; + justify-content: center; + padding: 1vh; + box-shadow: 0px 4px 8px 0px rgba(136, 136, 136, 0.11); +} + +.publicSnapshot-status-main-state span { + font-size: 14px; + color: #fff; +} + +.publicSnapshot-status-time { + padding: 2vh; + display: flex; + color: #333; +} + +.publicSnapshot-status-time-left { + margin-right: auto; + font-size: 14px; +} + +.publicSnapshot-status-time-right { + font-size: 14px; +} +.contantType-picker{ + font-size: 14px; +} +.contantType-picker-div{ + display:flex; + width: 31% +} +.publicSnapshot-main-img { + width: 16px; + height: 22px; +} +.msg-reply-view-content { + overflow: auto; + padding:5px 0px 5px 20px; +} + +.msg-reply-view-content::-webkit-scrollbar { + width: 0; +} + +.msg-reply-view-info { + padding: 8px; + line-height: 30px; + color: #000; +} + +.msg-reply-view-admin { + display: block; + float: left; + color: green; +} + +.msg-reply-view-user { + display: block; + float: left; + color: #1790ff; +} + +.msg-reply-view-time-user { + display: block; + color: #1790ff; +} + +.msg-reply-view-time-admin { + display: block; + color: green; +} + +.reply-div { + margin: 10px; + font-size: 12px; + color: #1790ff; +} diff --git a/SunshineLnsMinApp/pages/rzcxList/rzcxList.js b/SunshineLnsMinApp/pages/rzcxList/rzcxList.js new file mode 100644 index 0000000..497ef69 --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcxList/rzcxList.js @@ -0,0 +1,85 @@ +// pages/rzcxList/rzcxList.js +const app = getApp() +Page({ + + /** + * 页面的初始数据 + */ + data: { + loading: app.globalData.imgUrl + '/image/loading.svg', + currentTab: 0, + size: 10, + size1: 10, + size2: 10, + content: '------加载中------', + hasMoreData: true, + createTime: '', + dataSet: [] + }, + + + showList: function () { + var userinfo = wx.getStorageSync("user"); + var that = this; + var id = userinfo.id + var str; + var sizeQty; + wx.request({ + url: app.globalData.url + '/api/entry/query?page=1&rows=' + that.data.size + '&type=' + 1 + '&userId=' + id, + success: function (res) { + console.log(res.data.rows) + let dataSet = res.data.rows.map(({ + createTime, + ...e + }) => ({ + ...e, + createTime: app.formatDate(createTime) + })) + console.log(dataSet) + if (res.data.total < that.data.size) { + that.setData({ + dataSet: dataSet, + hasMoreData: false, + content: '------我是有底线的------' + }) + } else { + that.setData({ + dataSet: dataSet, + hasMoreData: true, + content: '------加载更多------', + size: that.data.size + 10 + }) + } + + } + }) + }, + + businessSchedule: function (event) { + var id = event.currentTarget.id; + wx.navigateTo({ + url: '../rzcx/rzcx?id=' + id + '&flag=wx' + '&disabled=' + true, + }) + }, + + onLoad: function () { + this.showList() + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + if (this.data.hasMoreData) { + this.showList(this.data.currentTab) + this.setData({ + content: '------加载更多------' + }) + } else { + this.setData({ + content: '------我是有底线的------' + }) + } + }, + +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/rzcxList/rzcxList.json b/SunshineLnsMinApp/pages/rzcxList/rzcxList.json new file mode 100644 index 0000000..e5714ca --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcxList/rzcxList.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "入职查询", + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black" +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/rzcxList/rzcxList.wxml b/SunshineLnsMinApp/pages/rzcxList/rzcxList.wxml new file mode 100644 index 0000000..b3d0034 --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcxList/rzcxList.wxml @@ -0,0 +1,18 @@ +<!--pages/rzcxList/rzcxList.wxml--> +<!--列表数据--> +<view style='flex-direction:column;height:94vh;background-color:rgba(80, 119, 170, 0.06)'> + <div class="businessSchedule" bindtap='businessSchedule' id="{{item.id}}" wx:for="{{dataSet}}" wx:for-index='key' wx:key="*this"> + <div class="businessSchedule-top"> + <div class="businessSchedule-top-img"> + <image src="{{item.iconSrc}}" class="businessSchedule-top-img"></image> + </div> + <div class="businessSchedule-top-title">入职查询</div> + <div class="businessSchedule-top-status backgroundorange-title" wx:if="{{item.status==1}}">待回复</div> + <div class="businessSchedule-top-status backgroundgreen-title" wx:elif="{{item.status==2}}">已回复</div> + <div class="businessSchedule-top-status backgroundgray-title" wx:else>未知文件</div> + </div> + <div class="businessSchedule-center">{{item.reason}}</div> + <div class="businessSchedule-bottom">于 {{item.createTime}} 提交申请</div> + </div> + <div class="businessSchedule-load">------{{content}}------</div> +</view> diff --git a/SunshineLnsMinApp/pages/rzcxList/rzcxList.wxss b/SunshineLnsMinApp/pages/rzcxList/rzcxList.wxss new file mode 100644 index 0000000..3b1ecc8 --- /dev/null +++ b/SunshineLnsMinApp/pages/rzcxList/rzcxList.wxss @@ -0,0 +1,111 @@ +/* pages/rzcxList/rzcxList.wxss */ +view { + display: flex; +} + +.navbar { + flex: none; + display: flex; + background: #fff; + font-size: 18px; + color: #999; + height: 6vh; +} + +.navbar .item { + position: relative; + flex: auto; + text-align: center; + line-height: 80rpx; +} + +.navbar .item.active { + color: #2195ff; +} + +.navbar .item.active:after { + content: ""; + display: block; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 4rpx; + background: #2195ff; +} + +.businessSchedule { + font-size: 16px; + padding: 2vh; + margin: 2vh; + background-color: #fff; + box-shadow: 0px 6px 6px 0 rgba(80, 119, 170, 0.06); +} + +.businessSchedule-top { + display: flex; + color: #333; + align-items: center; + padding-bottom: 1vh; + border-bottom: 1px solid #f2f2f2; +} + +.businessSchedule-top-img { + width: 3vh; + height: 3vh; +} + +.businessSchedule-top-title { + padding-left: 1vh; +} + +.businessSchedule-top-status { + margin-left: auto; + display: flex; + justify-content: center; + box-shadow: 0px 4px 8px 0px rgba(136, 136, 136, 0.11); + padding: 1vh; + border-radius: 18px; + color: #fff; +} + +.businessSchedule-center { + font-size: 14px; + display: flex; + padding: 1vh 0; + color: #333; +} + +.businessSchedule-bottom { + display: flex; + font-size: 14px; + color: #999; +} + +.loading { + padding: 10rpx; + text-align: center; +} + +.loading:before { + display: inline-block; + margin-right: 5rpx; + vertical-align: middle; + content: ''; + width: 40rpx; + height: 40rpx; + background-size: contain; + animation: rotate 1s linear infinite; +} + +.loading.complete:before { + display: none; +} + +.businessSchedule-load { + display: flex; + justify-content: center; + color: #999; + font-size: 14px; + margin-bottom: 4vh; +} diff --git a/SunshineLnsMinApp/pages/xsuojbInfo/xsuojbInfo.json b/SunshineLnsMinApp/pages/xsuojbInfo/xsuojbInfo.json index b9ce25e..de3b455 100644 --- a/SunshineLnsMinApp/pages/xsuojbInfo/xsuojbInfo.json +++ b/SunshineLnsMinApp/pages/xsuojbInfo/xsuojbInfo.json @@ -4,15 +4,8 @@ "navigationBarBackgroundColor": "#fff", "navigationBarTextStyle": "black", "usingComponents": { - "wux-upload": "../../templeteDist/wuxDist/upload/index", "wux-popup-select": "../../templeteDist/wuxDist/popup-select/index", "wux-cell": "../../templeteDist/wuxDist/cell/index", - "wux-accordion-group": "../../templeteDist/wuxDist/accordion-group/index", - "wux-accordion": "../../templeteDist/wuxDist/accordion/index", - "wux-icon": "../../templeteDist/wuxDist/icon/index", - "wux-date-picker-view": "../../templeteDist/wuxDist/date-picker-view/index", - "wux-date-picker": "../../templeteDist/wuxDist/date-picker/index", - "wux-select": "../../templeteDist/wuxDist/select/index", "wux-field": "../../templeteDist/wuxDist/field/index", "wux-textarea": "../../templeteDist/wuxDist/textarea/index", "wux-cell-group": "../../templeteDist/wuxDist/cell-group/index", diff --git a/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.js b/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.js index e6889cc..4461c26 100644 --- a/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.js +++ b/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.js @@ -6,7 +6,7 @@ * 页面的初始数据 */ data: { - wjgk:'./../../images/wjgk.jpg', + wjgk: './../../images/wjgk.jpg', 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', @@ -61,17 +61,48 @@ badge: 0, name: '版权' }], + dataSet: [] }, /** * 生命周期函数--监听页面加载 */ - onLoad: function(options) { - + onLoad: function (options) { + var that = this; + wx.showLoading(); + wx.request({ + url: app.globalData.url + '/api/question/examination', + data: { + page: 1, + size: 1000, + 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) + that.setData({ + dataSet: content + }) + } else { + wx.showToast({ + title: res.data.msg, + }) + } + } + }) }, // 跳转 - linkFunction: function(event) { + linkFunction: function (event) { var str = event.currentTarget.dataset['str']; var id = event.currentTarget.dataset['id']; wx.navigateTo({ diff --git a/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.wxml b/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.wxml index e3164cc..4c60026 100644 --- a/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.wxml +++ b/SunshineLnsMinApp/pages/yshjqyfw/yshjqyfw.wxml @@ -4,71 +4,54 @@ </view> <view class="zhwj-list"> - <view class="zhwj-list-flex"> - <view class="zhwj-list-flex-l" data-str="zscqdxal" bindtap='linkFunction'> - <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj1.png');"></view> - <view class="zhwj-list-flex-l-text"> - <view class="text-black text-bold text-lg">典型案例</view> - </view> - </view> - <view class="zhwj-list-flex-r" data-str="zhdt" bindtap='linkFunction'> - <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj2.png');"></view> - <view class="zhwj-list-flex-l-text"> - <view class="text-black text-bold text-lg">主动预防</view> - </view> - </view> - </view> - <view class="zhwj-list-flex"> - <view class="zhwj-list-flex-l" data-str="flcx" bindtap='linkFunction'> - <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj3.png');"></view> - <view class="zhwj-list-flex-l-text"> - <view class="text-black text-bold text-lg">法律查询</view> - </view> - </view> - <view class="zhwj-list-flex-r" data-str="wjjb" bindtap='linkFunction'> - <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj4.png');"></view> - <view class="zhwj-list-flex-l-text"> - <view class="text-black text-bold text-lg">企业体检</view> - </view> - </view> - </view> + <view class="zhwj-list-flex"> + <view class="zhwj-list-flex-l" data-str="zscqdxal" bindtap='linkFunction'> + <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj1.png');"></view> + <view class="zhwj-list-flex-l-text"> + <view class="text-black text-bold text-lg">典型案例</view> + </view> + </view> + <view class="zhwj-list-flex-r" data-str="zdyf" bindtap='linkFunction'> + <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj2.png');"></view> + <view class="zhwj-list-flex-l-text"> + <view class="text-black text-bold text-lg">主动预防</view> + </view> + </view> + </view> + <view class="zhwj-list-flex"> + <view class="zhwj-list-flex-l" data-str="flcx" bindtap='linkFunction'> + <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj3.png');"></view> + <view class="zhwj-list-flex-l-text"> + <view class="text-black text-bold text-lg">法律查询</view> + </view> + </view> + <view class="zhwj-list-flex-r" data-str="createSub" bindtap='linkFunction'> + <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj4.png');"></view> + <view class="zhwj-list-flex-l-text"> + <view class="text-black text-bold text-lg">企业体检</view> + </view> + </view> + </view> </view> <view class="index-gray "></view> <view class="zhwj-b"> - <view class="zhwj-b-head"> - <span></span> - <view class="zhwj-b-head-title text-black">案件动态</view> - </view> + <view class="zhwj-b-head"> + <span></span> + <view class="zhwj-b-head-title text-black">主动预防</view> + </view> - <view class="zhwj-b-main" data-str="zhdtInfo" data-id="1" bindtap='linkFunction'> - <view class="zhwj-b-head-l"> - <view class="zhwj-b-head-l-title text-black">南沙区院召开2019“沙鸥”法治宣讲团年度总结暨课件评选会</view> - <view class="text-grey">检察宣传部 60阅读</view> - </view> - <view class="zhwj-b-head-r"> - <image mode='widthFix' src="{{dongtai1_1}}"></image> - </view> - </view> - <view class="zhwj-b-main" data-str="zhdtInfo" data-id="2" bindtap='linkFunction'> - <view class="zhwj-b-head-l"> - <view class="zhwj-b-head-l-title text-black">“沙鸥”法治宣讲团进校园开展假前安全教育</view> - <view class="text-grey">检察宣传部 56阅读</view> - </view> - <view class="zhwj-b-head-r"> - <image src="{{dongtai2_1}}" mode='widthFix'></image> - </view> - </view> - <view class="zhwj-b-main" data-str="zhdtInfo" data-id="3" bindtap='linkFunction'> - <view class="zhwj-b-head-l"> - <view class="zhwj-b-head-l-title text-black">我院与华尔心理咨询中心开展反家暴普法宣传</view> - <view class="text-grey">检察宣传部 245阅读</view> - </view> - <view class="zhwj-b-head-r"> - <image src="{{dongtai3_1}}" mode='widthFix'></image> - </view> - </view> - + <view class="zhwj-b"> + <view class="zhwj-b-main" wx:for="{{ dataSet }}" data-str="zhdtInfo" 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}}"> </text>{{item.readCount}}阅读</view> + </view> + <view class="zhwj-b-head-r"> + <image mode='widthFix' src="{{item.attList[0].path}}"></image> + </view> + </view> + </view> </view> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/zdyf/zdyf.js b/SunshineLnsMinApp/pages/zdyf/zdyf.js new file mode 100644 index 0000000..70d3eb3 --- /dev/null +++ b/SunshineLnsMinApp/pages/zdyf/zdyf.js @@ -0,0 +1,79 @@ +// pages/zhdt/zhdt.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: "", + dataSet:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + wx.showLoading(); + wx.request({ + url: app.globalData.url + '/api/article/publicMsgQuery', + data: { + page: 1, + size: 1000, + 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) + that.setData({ + dataSet: content + }) + } else { + wx.showToast({ + title: res.data.msg, + }) + } + } + }) + }, + + 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: "" + }, () => {}); + }, +}) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/zdyf/zdyf.json b/SunshineLnsMinApp/pages/zdyf/zdyf.json new file mode 100644 index 0000000..5c6d7b7 --- /dev/null +++ b/SunshineLnsMinApp/pages/zdyf/zdyf.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "主动预防", + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black" +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/zdyf/zdyf.wxml b/SunshineLnsMinApp/pages/zdyf/zdyf.wxml new file mode 100644 index 0000000..6dbb7db --- /dev/null +++ b/SunshineLnsMinApp/pages/zdyf/zdyf.wxml @@ -0,0 +1,36 @@ +<!--pages/zhdt/zhdt.wxml--> +<!-- 搜索 --> + <view class="lawsList-search"> + <view class="page"> + <view class="page__bd"> + <view class="weui-search-bar"> + <view class="weui-search-bar__form"> + <view class="weui-search-bar__box"> + <icon class="weui-icon-search_in-box" type="search" size="14"></icon> + <input type="text" class="weui-search-bar__input" placeholder="搜索" value="{{inputVal}}" focus="{{inputShowed}}" bindinput="inputTyping" bindconfirm='confirmTap' /> + <view class="weui-icon-clear" wx:if="{{inputVal.length > 0}}" bindtap="clearInput"> + <icon type="clear" size="14"></icon> + </view> + </view> + <label class="weui-search-bar__label" hidden="{{inputShowed}}" bindtap="showInput"> + <icon class="weui-icon-search" type="search" size="14"></icon> + <view class="weui-search-bar__text">搜索</view> + </label> + </view> + <view class="weui-search-bar__cancel-btn" hidden="{{!inputShowed}}" bindtap="hideInput">取消</view> + </view> + </view> + </view> + </view> +<!-- <view class="index-gray "></view> --> +<view class="zhwj-b"> + <view class="zhwj-b-main" wx:for="{{ dataSet }}" data-str="zhdtInfo" 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}}"> </text>{{item.readCount}}阅读</view> + </view> + <view class="zhwj-b-head-r"> + <image mode='widthFix' src="{{item.attList[0].path}}"></image> + </view> + </view> +</view> \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/zdyf/zdyf.wxss b/SunshineLnsMinApp/pages/zdyf/zdyf.wxss new file mode 100644 index 0000000..78ed655 --- /dev/null +++ b/SunshineLnsMinApp/pages/zdyf/zdyf.wxss @@ -0,0 +1,30 @@ +/* pages/zhdt/zhdt.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%; +} + +.zhwj-b-head-r { + margin: 6px; +} + +.zhwj-b-head-r image { + width: 108px; + height: 80px; +} + +.zhwj-b { + background-color: #fff; +} \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json index ccb2696..300d1c7 100644 --- a/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json +++ b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json @@ -1,5 +1,5 @@ { - "navigationBarTitleText": "未检详情", + "navigationBarTitleText": "详情", "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTextStyle": "black" diff --git a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js index 8362d5a..f44c2d3 100644 --- a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js +++ b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js @@ -51,7 +51,8 @@ createTime: app.formatDate(res.data.data.createTime), startTime: app.formatDate(res.data.data.startTime), endTime: app.formatDate(res.data.data.endTime), - status: res.data.data.status == 0 ? '未开始' : res.data.data.status == 1 ? '进行中' : res.data.data.status == 2 ? '已结束' : res.data.data.status == 99 ? '结束' : '(未知)' + status: res.data.data.status == 0 ? '未开始' : res.data.data.status == 1 ? '进行中' : res.data.data.status == 2 ? '已结束' : res.data.data.status == 99 ? '结束' : '(未知)', + }, id: res.data.data.id, evalList, @@ -151,7 +152,7 @@ data: { taskId: that.data.id, userId: wx.getStorageSync('id'), - taskReport:that.data.taskReport + taskReport: that.data.taskReport }, success: function (res) { wx.hideLoading(); @@ -173,6 +174,6 @@ } }) - + }, }) \ No newline at end of file diff --git a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml index 03ec45b..007a7ab 100644 --- a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml +++ b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml @@ -38,7 +38,7 @@ <view class="zhghInfo-text"> <view class="zhghInfo-center-title">任务汇报</view> <view class="zhghInfo-center-textarea"> - <textarea data-name="taskReport" bindinput="inputChange" disabled="{{disabled}}" placeholder="学会与老人沟通,耐心积极,心态良好" placeholder-style="color:#9B9B9B;"></textarea> + <textarea data-name="taskReport" value='{{data.socialTaskObject.taskReport}}' bindinput="inputChange" disabled="{{disabled}}" placeholder="学会与老人沟通,耐心积极,心态良好" placeholder-style="color:#9B9B9B;"></textarea> </view> <view class="button-submit" bindtap='linkFunction'>提交</view> </view> diff --git a/SunshineLnsMinApp/pages/zhwj/zhwj.wxml b/SunshineLnsMinApp/pages/zhwj/zhwj.wxml index 0117ff8..27f9e68 100644 --- a/SunshineLnsMinApp/pages/zhwj/zhwj.wxml +++ b/SunshineLnsMinApp/pages/zhwj/zhwj.wxml @@ -36,21 +36,21 @@ </view> </view> </view> - <!-- <view class="zhwj-list-flex"> - <view class="zhwj-list-flex-l" data-str="weiwc" bindtap='linkFunction'> + <view class="zhwj-list-flex"> + <view class="zhwj-list-flex-l" data-str="rzcx" data-id='new' bindtap='linkFunction'> <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj5.png');"></view> <view class="zhwj-list-flex-l-text"> <view class="text-black text-bold text-lg">入职查询</view> <view class="text-gray">未检职工入职查询</view> </view> - </view> --> - <!-- <view class="zhwj-list-flex-r" data-str="weiwc" bindtap='linkFunction'> + </view> + <view class="zhwj-list-flex-r" data-str="pfyy" data-id='new' bindtap='linkFunction'> <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj6.png');"></view> <view class="zhwj-list-flex-l-text"> <view class="text-black text-bold text-lg">普法预约</view> <view class="text-gray">预约参观法治基地</view> </view> - </view> --> + </view> <!-- <view class="zhwj-list-flex-r" data-str="fzjdvisitList" bindtap='linkFunction'> <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj6.png');"></view> @@ -58,9 +58,9 @@ <view class="text-black text-bold text-lg">法治基地参观</view> <view class="text-gray">预约参观法治基地</view> </view> - </view> + </view> --> - </view> --> + </view> </view> <view class="index-gray "></view> diff --git a/SunshineLnsMinApp/project.config.json b/SunshineLnsMinApp/project.config.json index 92c49a8..4177d79 100644 --- a/SunshineLnsMinApp/project.config.json +++ b/SunshineLnsMinApp/project.config.json @@ -23,7 +23,7 @@ "compileType": "miniprogram", "libVersion": "2.10.1", "appid": "wx50bea0a98be5935d", - "projectname": "nsjc02", + "projectname": "nsjc", "isGameTourist": false, "simulatorType": "wechat", "simulatorPluginLibVersion": {}, diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.js b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.js new file mode 100644 index 0000000..2c08b5f --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.js @@ -0,0 +1 @@ +"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_styleToCssString=_interopRequireDefault(require("../helpers/styleToCssString"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ENTER="enter",ENTERING="entering",ENTERED="entered",EXIT="exit",EXITING="exiting",EXITED="exited",UNMOUNTED="unmounted",TRANSITION="transition",ANIMATION="animation",TIMEOUT=1e3/60,defaultClassNames={enter:"",enterActive:"",enterDone:"",exit:"",exitActive:"",exitDone:""};(0,_baseComponent.default)({properties:{in:{type:Boolean,value:!1,observer:function(t){this.data.isMounting&&this.updated(t)}},classNames:{type:null,value:defaultClassNames},duration:{type:null,value:null},type:{type:String,value:TRANSITION},appear:{type:Boolean,value:!1},enter:{type:Boolean,value:!0},exit:{type:Boolean,value:!0},mountOnEnter:{type:Boolean,value:!0},unmountOnExit:{type:Boolean,value:!0},wrapCls:{type:String,value:""},wrapStyle:{type:[String,Object],value:"",observer:function(t){this.setData({extStyle:(0,_styleToCssString.default)(t)})}},disableScroll:{type:Boolean,value:!1}},data:{animateCss:"",animateStatus:EXITED,isMounting:!1,extStyle:""},methods:{addEventListener:function(){var t=this.data.animateStatus,e=this.getTimeouts(),a=e.enter,n=e.exit;t===ENTERING&&!a&&this.data.enter&&this.performEntered(),t===EXITING&&!n&&this.data.exit&&this.performExited()},onTransitionEnd:function(){this.data.type===TRANSITION&&this.addEventListener()},onAnimationEnd:function(){this.data.type===ANIMATION&&this.addEventListener()},updateStatus:function(t,e){var a=1<arguments.length&&void 0!==e&&e;null!==t&&(this.cancelNextCallback(),this.isAppearing=a,t===ENTERING?this.performEnter():this.performExit())},performEnter:function(){var t=this,e=this.getClassNames(ENTER),a=e.className,n=e.activeClassName,i=this.getTimeouts().enter,s={animateStatus:ENTER,animateCss:a},r={animateStatus:ENTERING,animateCss:"".concat(a," ").concat(n)};if(!this.isAppearing&&!this.data.enter)return this.performEntered();this.safeSetData(s,function(){t.triggerEvent("change",{animateStatus:ENTER}),t.triggerEvent(ENTER,{isAppearing:t.isAppearing}),t.delayHandler(TIMEOUT,function(){t.safeSetData(r,function(){t.triggerEvent("change",{animateStatus:ENTERING}),t.triggerEvent(ENTERING,{isAppearing:t.isAppearing}),i&&t.delayHandler(i,t.performEntered)})})})},performEntered:function(){var t=this,e=this.getClassNames(ENTER).doneClassName,a={animateStatus:ENTERED,animateCss:e};this.safeSetData(a,function(){t.triggerEvent("change",{animateStatus:ENTERED}),t.triggerEvent(ENTERED,{isAppearing:t.isAppearing})})},performExit:function(){var t=this,e=this.getClassNames(EXIT),a=e.className,n=e.activeClassName,i=this.getTimeouts().exit,s={animateStatus:EXIT,animateCss:a},r={animateStatus:EXITING,animateCss:"".concat(a," ").concat(n)};if(!this.data.exit)return this.performExited();this.safeSetData(s,function(){t.triggerEvent("change",{animateStatus:EXIT}),t.triggerEvent(EXIT),t.delayHandler(TIMEOUT,function(){t.safeSetData(r,function(){t.triggerEvent("change",{animateStatus:EXITING}),t.triggerEvent(EXITING),i&&t.delayHandler(i,t.performExited)})})})},performExited:function(){var t=this,e=this.getClassNames(EXIT).doneClassName,a={animateStatus:EXITED,animateCss:e};this.safeSetData(a,function(){t.triggerEvent("change",{animateStatus:EXITED}),t.triggerEvent(EXITED),t.data.unmountOnExit&&t.setData({animateStatus:UNMOUNTED},function(){t.triggerEvent("change",{animateStatus:UNMOUNTED})})})},getClassNames:function(t){var e=this.data.classNames;return{className:"string"!=typeof e?e[t]:"".concat(e,"-").concat(t),activeClassName:"string"!=typeof e?e["".concat(t,"Active")]:"".concat(e,"-").concat(t,"-active"),doneClassName:"string"!=typeof e?e["".concat(t,"Done")]:"".concat(e,"-").concat(t,"-done")}},getTimeouts:function(){var t=this.data.duration;return null!==t&&"object"===_typeof(t)?{enter:t.enter,exit:t.exit}:"number"==typeof t?{enter:t,exit:t}:{}},updated:function(t){var e=this,a=(this.pendingData||this.data).animateStatus,n=null;t?(a===UNMOUNTED&&(a=EXITED,this.setData({animateStatus:EXITED},function(){e.triggerEvent("change",{animateStatus:EXITED})})),a!==ENTER&&a!==ENTERING&&a!==ENTERED&&(n=ENTERING)):a!==ENTER&&a!==ENTERING&&a!==ENTERED||(n=EXITING),this.updateStatus(n)},delayHandler:function(t,e){t&&(this.setNextCallback(e),setTimeout(this.nextCallback,t))},onTap:function(){this.triggerEvent("click")},noop:function(){}},attached:function(){var t=this,e=null,a=null;this.data.in?this.data.appear?(e=EXITED,a=ENTERING):e=ENTERED:e=this.data.unmountOnExit||this.data.mountOnEnter?UNMOUNTED:EXITED,this.safeSetData({animateStatus:e,isMounting:!0},function(){t.triggerEvent("change",{animateStatus:e}),t.updateStatus(a,!0)})}}); \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.json b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.json new file mode 100644 index 0000000..fba482a --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxml b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxml new file mode 100644 index 0000000..707dce9 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxml @@ -0,0 +1,3 @@ +<view class="wux-class {{ wrapCls }} {{ animateCss }}" bindtap="onTap" catchtouchmove="{{ disableScroll ? 'noop' : '' }}" bindtransitionend="onTransitionEnd" bindanimationend="onAnimationEnd" wx:if="{{ animateStatus !== 'unmounted' }}" style="{{ extStyle }}"> + <slot></slot> +</view> diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxss b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxss new file mode 100644 index 0000000..936cd3d --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/animation-group/index.wxss @@ -0,0 +1 @@ +.wux-animate--fadeIn-enter{transition:opacity .3s;opacity:0}.wux-animate--fadeIn-enter-active,.wux-animate--fadeIn-enter-done{opacity:1}.wux-animate--fadeIn-exit{transition:opacity .3s;opacity:1}.wux-animate--fadeIn-exit-active,.wux-animate--fadeIn-exit-done{opacity:0}.wux-animate--fadeInDown-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(0,-100%,0)}.wux-animate--fadeInDown-enter-active,.wux-animate--fadeInDown-enter-done{opacity:1;transform:none}.wux-animate--fadeInDown-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInDown-exit-active,.wux-animate--fadeInDown-exit-done{opacity:0;transform:translate3d(0,-100%,0)}.wux-animate--fadeInLeft-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(-100%,0,0)}.wux-animate--fadeInLeft-enter-active,.wux-animate--fadeInLeft-enter-done{opacity:1;transform:none}.wux-animate--fadeInLeft-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInLeft-exit-active,.wux-animate--fadeInLeft-exit-done{opacity:0;transform:translate3d(-100%,0,0)}.wux-animate--fadeInRight-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(100%,0,0)}.wux-animate--fadeInRight-enter-active,.wux-animate--fadeInRight-enter-done{opacity:1;transform:none}.wux-animate--fadeInRight-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInRight-exit-active,.wux-animate--fadeInRight-exit-done{opacity:0;transform:translate3d(100%,0,0)}.wux-animate--fadeInUp-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(0,100%,0)}.wux-animate--fadeInUp-enter-active,.wux-animate--fadeInUp-enter-done{opacity:1;transform:none}.wux-animate--fadeInUp-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInUp-exit-active,.wux-animate--fadeInUp-exit-done{opacity:0;transform:translate3d(0,100%,0)}.wux-animate--slideInUp-enter{transition:transform .3s;transform:translate3d(0,100%,0);visibility:visible}.wux-animate--slideInUp-enter-active,.wux-animate--slideInUp-enter-done{transform:translateZ(0)}.wux-animate--slideInUp-exit{transition:transform .3s;transform:translateZ(0)}.wux-animate--slideInUp-exit-active,.wux-animate--slideInUp-exit-done{transform:translate3d(0,100%,0);visibility:visible}.wux-animate--slideInDown-enter{transition:transform .3s;transform:translate3d(0,-100%,0);visibility:visible}.wux-animate--slideInDown-enter-active,.wux-animate--slideInDown-enter-done{transform:translateZ(0)}.wux-animate--slideInDown-exit{transition:transform .3s;transform:translateZ(0)}.wux-animate--slideInDown-exit-active,.wux-animate--slideInDown-exit-done{transform:translate3d(0,-100%,0);visibility:visible}.wux-animate--slideInLeft-enter{transition:transform .3s;transform:translate3d(-100%,0,0);visibility:visible}.wux-animate--slideInLeft-enter-active,.wux-animate--slideInLeft-enter-done{transform:translateZ(0)}.wux-animate--slideInLeft-exit{transition:transform .3s;transform:translateZ(0)}.wux-animate--slideInLeft-exit-active,.wux-animate--slideInLeft-exit-done{transform:translate3d(-100%,0,0);visibility:visible}.wux-animate--slideInRight-enter{transition:transform .3s;transform:translate3d(100%,0,0);visibility:visible}.wux-animate--slideInRight-enter-active,.wux-animate--slideInRight-enter-done{transform:none}.wux-animate--slideInRight-exit{transition:transform .3s;transform:none}.wux-animate--slideInRight-exit-active,.wux-animate--slideInRight-exit-done{transform:translate3d(100%,0,0);visibility:visible}.wux-animate--zoom-enter{transition:all .3s cubic-bezier(.215,.61,.355,1);opacity:.01;transform:scale(.75)}.wux-animate--zoom-enter-active,.wux-animate--zoom-enter-done{opacity:1;transform:none}.wux-animate--zoom-exit{transition:all .25s linear;transform:none}.wux-animate--zoom-exit-active,.wux-animate--zoom-exit-done{opacity:.01;transform:scale(.75)}.wux-animate--punch-enter{transition:all .3s cubic-bezier(.215,.61,.355,1);opacity:.01;transform:scale(1.35)}.wux-animate--punch-enter-active,.wux-animate--punch-enter-done{opacity:1;transform:none}.wux-animate--punch-exit{transition:all .25s linear;transform:none}.wux-animate--punch-exit-active,.wux-animate--punch-exit-done{opacity:.01;transform:scale(1.35)} \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.js b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.js new file mode 100644 index 0000000..2f7b066 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.js @@ -0,0 +1 @@ +"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-backdrop"},transparent:{type:Boolean,value:!1},zIndex:{type:Number,value:1e3},classNames:{type:null,value:"wux-animate--fadeIn"}},computed:{classes:["prefixCls, transparent",function(e,t){return{wrap:t?"".concat(e,"--transparent"):e}}]},methods:{retain:function(){"number"==typeof this.backdropHolds&&this.backdropHolds||(this.backdropHolds=0),this.backdropHolds=this.backdropHolds+1,1===this.backdropHolds&&this.setData({in:!0})},release:function(){1===this.backdropHolds&&this.setData({in:!1}),this.backdropHolds=Math.max(0,this.backdropHolds-1)},onClick:function(){this.triggerEvent("click")}}}); \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.json b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.json new file mode 100644 index 0000000..9b9e7ab --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wux-animation-group": "../animation-group/index" + } +} \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxml b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxml new file mode 100644 index 0000000..d6ee398 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxml @@ -0,0 +1 @@ +<wux-animation-group wux-class="{{ classes.wrap }}" in="{{ in }}" classNames="{{ classNames }}" bind:click="onClick" wrapStyle="{{ { zIndex } }}" disableScroll /> diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxss b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxss new file mode 100644 index 0000000..63310d6 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/backdrop/index.wxss @@ -0,0 +1 @@ +.wux-backdrop{background:rgba(0,0,0,.4)}.wux-backdrop,.wux-backdrop--transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0}.wux-backdrop--transparent{background:0 0} \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.js b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.js new file mode 100644 index 0000000..1ee7eaf --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.js @@ -0,0 +1 @@ +"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/classNames")),_shallowEqual=_interopRequireDefault(require("../helpers/shallowEqual")),_props=require("./props"),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,r)}return a}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(a,!0).forEach(function(e){_defineProperty(t,e,a[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):ownKeys(a).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))})}return t}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,a=new Array(e.length);t<e.length;t++)a[t]=e[t];return a}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({properties:_props.props,data:{inputValue:[],cols:[],fieldNames:_props.defaultFieldNames},observers:_defineProperty({},"value, options",function(e,t){var a=Object.assign({},_props.defaultFieldNames,this.data.defaultFieldNames),r=(0,_utils.getRealCols)(t,a);(0,_shallowEqual.default)(this.data.cols,r)||this.setData({cols:r}),this.setValue(e,!0)}),methods:{updated:function(e,t){this.data.inputValue===e&&!t||this.setData({inputValue:e})},setValue:function(e,t){var a=this.getValue(e).value;this.updated(a,t)},getValue:function(e,t){var a=0<arguments.length&&void 0!==e?e:this.data.inputValue,r=1<arguments.length&&void 0!==t?t:this.data.cols,n=this.data.fieldNames,o=(0,_utils.getRealValues)(a,r,n),i=_toConsumableArray(o),l=(0,_utils.getIndexesFromValues)(o,r,n);return{value:o,displayValue:(0,_utils.getLabelsFromIndexes)(l,r,n.label),selectedIndex:l,selectedValue:i,cols:r}},onChange:function(e,t,a){var r=_toConsumableArray(this.data.inputValue);r[e]=t,a&&this.triggerEvent(a,_objectSpread({},this.getValue(r),{index:e}))},onBeforeChange:function(e){var t=e.detail.value,a=e.currentTarget.dataset.index;this.onChange(a,t,"beforeChange")},onValueChange:function(e){var t=e.detail.value,a=e.currentTarget.dataset.index;this.onChange(a,t,"valueChange")},onScrollChange:function(e){var t=e.detail.value,a=e.currentTarget.dataset.index;this.onChange(a,t,"scrollChange")}},attached:function(){var e=this.data,t=e.value,a=e.options,r=Object.assign({},_props.defaultFieldNames,this.data.defaultFieldNames),n=(0,_utils.getRealCols)(a,r);this.setData({cols:n,fieldNames:r}),this.setValue(t)}}); \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.json b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.json new file mode 100644 index 0000000..c55752a --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "wux-picker-view": "../picker-view/index", + "wux-spin": "../spin/index" + } +} diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxml b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxml new file mode 100644 index 0000000..c144a1f --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxml @@ -0,0 +1,26 @@ +<wux-spin nested spinning="{{ loading }}"> + <view class="wux-class {{ prefixCls }}" data-picker-value="{{ inputValue }}"> + <wux-picker-view + wx:for="{{ cols }}" + wx:for-item="col" + wx:key="index" + prefixCls="{{ pickerPrefixCls }}" + value="{{ inputValue[index] }}" + controlled + itemHeight="{{ itemHeight }}" + itemStyle="{{ itemStyle }}" + indicatorStyle="{{ indicatorStyle }}" + indicatorClass="{{ indicatorClass }}" + maskStyle="{{ maskStyle }}" + maskClass="{{ maskClass }}" + labelAlign="{{ labelAlign }}" + defaultFieldNames="{{ fieldNames }}" + options="{{ col }}" + data-index="{{ index }}" + style="{{ 'width: ' + 100 / cols.length + '%' }}" + bind:beforeChange="onBeforeChange" + bind:valueChange="onValueChange" + bind:scrollChange="onScrollChange" + /> + </view> +</wux-spin> \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxss b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxss new file mode 100644 index 0000000..c4a2275 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/index.wxss @@ -0,0 +1 @@ +.wux-picker{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row} \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/props.js b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/props.js new file mode 100644 index 0000000..37b0d57 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/props.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.props=exports.defaultFieldNames=void 0;var picker=_interopRequireWildcard(require("../picker-view/props"));function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var o=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,t):{};o.get||o.set?Object.defineProperty(r,t,o):r[t]=e[t]}return r.default=e,r}function ownKeys(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(t,!0).forEach(function(e){_defineProperty(r,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ownKeys(t).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})}return r}function _defineProperty(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var defaultFieldNames=picker.defaultFieldNames;exports.defaultFieldNames=defaultFieldNames;var props=_objectSpread({},picker.props,{prefixCls:{type:String,value:"wux-picker"},pickerPrefixCls:{type:String,value:"wux-picker-col"},value:{type:Array,value:[]}});exports.props=props; \ No newline at end of file diff --git a/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/utils.js b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/utils.js new file mode 100644 index 0000000..ac378a6 --- /dev/null +++ b/SunshineLnsMinApp/templeteDist/wuxDist/multi-picker-view/utils.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _utils=require("../picker-view/utils");Object.keys(_utils).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _utils[e]}})}); \ No newline at end of file -- Gitblit v1.8.0