Loading src/App.vue +2 −2 Original line number Original line Diff line number Diff line Loading @@ -63,8 +63,8 @@ export default { "riskAssess", "riskAssess", "riskApprove", "riskApprove", "taskList", "taskList", "taskDetail" "taskDetail", "riskBigDetail" ], ], // cachePage预先定义的缓存页面 // cachePage预先定义的缓存页面 otherCache: [], otherCache: [], Loading src/components/selectFloor.vue 0 → 100644 +191 −0 Original line number Original line Diff line number Diff line <template> <div> <!-- 搜索 --> <!-- <van-sticky offset-top="0"> <div class="content-wrap"> <div class="search-wrap"> <van-search v-model="searchVal" placeholder="搜索" @input="onInput"/> </div> </div> </van-sticky> --> <div style="margin-bottom: 1.4rem;"> <van-tree-select :items="listdata" :active-id.sync="activeId" :main-active-index.sync="activeIndex" @click-item="clickItem"> </van-tree-select> </div> <!-- 底部信息 --> <footer class="footer"> <van-cell-group> <div class="operate"> <van-button size="small" ttype="info" plain native-type="button" style="border-radius: 5px; background-color: #f0f1f5;" @click.native="cancel">取消 </van-button> <van-button size="small" type="info" native-type="button" style="margin:0 10px 0 20px;border-radius: 5px;" @click.native="save">保存 </van-button> </div> </van-cell-group> </footer> </div> </template> <script> import { debounce } from "@/utils/common.js"; export default { props: { listdata: { type: Array, default: () => [], } }, components: { // LHeader }, created() { }, data() { return { text: "选择人员", activeId: 1, activeIndex: 0, seletedItem:{} }; }, methods: { // 待搜索框内容发生变化 onInput: debounce(function () { }, 800), selData(e) { this.itemSel = e }, clickItem(data) { console.log(data, 'llll') this.seletedItem = data }, save() { this.$emit('saveSlect', this.seletedItem) }, cancel() { this.$emit('closeSlect') } } }; </script> <style lang="less" scoped> /* @import url(); 引入css类 */ // 搜索 .content-wrap { padding: 10px; background-color: #f0f1f5; } .search-wrap { margin: 0.26667rem; .van-search { border-radius: 5px; padding: 5px 12px; } .van-search__content { background-color: #ffffff; } } .upStep { .van-cell-group { display: flex; height: 1.2rem; align-items: center; .upStep-btn { width: 25%; text-align: center; display: flex; span { width: 1.866667rem; background-color: #1989fa; text-align: center; display: inline-block; color: white; height: 0.8rem; line-height: 0.8rem; font-size: 0.346667rem; border-radius: 0.08rem; } } .upStep-content { width: 75%; height: 0.8rem; line-height: 0.8rem; padding-left: 0.42667rem; box-sizing: border-box; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } } .dept-list-wrap { margin-top: 0.266667rem; } .people-wrap { margin-top: 0.266667rem; /deep/ .van-radio__label { display: flex; align-items: center; } } .footer { width: 100%; height: 1.4rem; z-index: 9; position: fixed; bottom: 0px; box-shadow: 0px 8px 15px #000; .van-cell-group { height: 100%; .selected { height: 1.066667rem; display: flex; align-items: center; padding-left: 10px; border-bottom: 1px solid #cacbcb; .selected-title { color: #4187f7; } .selected-content { width: 80%; padding-left: 10px; box-sizing: border-box; } } .operate { height: 1.333333rem; display: flex; justify-content: flex-end; align-items: center; .van-button { width: 1.6rem; } } } } </style> No newline at end of file src/components/selectList.vue 0 → 100644 +223 −0 Original line number Original line Diff line number Diff line <template> <div> <!-- 搜索 --> <van-sticky offset-top="0"> <div class="content-wrap"> <div class="search-wrap"> <van-search v-model="searchVal" placeholder="搜索" @input="onInput"/> </div> </div> </van-sticky> <div style="margin-bottom: 1.4rem;"> <van-checkbox-group v-model="checkbox"> <!-- <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="getInsideUser()" > --> <van-checkbox style="margin: 0px 10px;" v-for="(item,index) in listdata" :name="item.dictLabel" :key="index" @click="selData(item)"> <van-cell :title="item.dictValue" /> </van-checkbox> <!-- </van-list> --> </van-checkbox-group> </div> <!-- 底部信息 --> <footer class="footer"> <van-cell-group> <div class="operate"> <van-button size="small" ttype="info" plain native-type="button" style="border-radius: 5px; background-color: #f0f1f5;" @click.native="cancel" >取消 </van-button > <van-button size="small" type="info" native-type="button" style="margin:0 10px 0 20px;border-radius: 5px;" @click.native="save" >保存 </van-button > </div> </van-cell-group> </footer> </div> </template> <script> import {debounce} from "@/utils/common.js"; export default { props:{ listdata:{ type:Array, default:()=>[], } }, components: { // LHeader }, created() { }, data() { return { text: "选择人员", personName: "", searchVal: "", checkbox:[], pageSize: 20, pageNum: 1, loading: false, finished: false, projectList:[], itemSel:{ } }; }, methods: { // 待搜索框内容发生变化 onInput: debounce(function () { this.projectList=[] this.pageNum=1 this.finished = false this.loading = true this.getInsideUser(); }, 800), selData(e){ this.itemSel=e }, save() { this.$emit('saveSlect', this.checkbox) }, cancel() { this.$emit('closeSlect') } } }; </script> <style lang="less" scoped> /* @import url(); 引入css类 */ // 搜索 .content-wrap { padding: 10px; background-color: #f0f1f5; } .search-wrap { margin: 0.26667rem; .van-search { border-radius: 5px; padding: 5px 12px; } .van-search__content { background-color: #ffffff; } } .upStep { .van-cell-group { display: flex; height: 1.2rem; align-items: center; .upStep-btn { width: 25%; text-align: center; display: flex; span { width: 1.866667rem; background-color: #1989fa; text-align: center; display: inline-block; color: white; height: 0.8rem; line-height: 0.8rem; font-size: 0.346667rem; border-radius: 0.08rem; } } .upStep-content { width: 75%; height: 0.8rem; line-height: 0.8rem; padding-left: 0.42667rem; box-sizing: border-box; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } } .dept-list-wrap { margin-top: 0.266667rem; } .people-wrap { margin-top: 0.266667rem; /deep/ .van-radio__label { display: flex; align-items: center; } } .footer { width: 100%; height: 1.4rem; z-index: 9; position: fixed; bottom: 0px; box-shadow: 0px 8px 15px #000; .van-cell-group { height: 100%; .selected { height: 1.066667rem; display: flex; align-items: center; padding-left: 10px; border-bottom: 1px solid #cacbcb; .selected-title { color: #4187f7; } .selected-content { width: 80%; padding-left: 10px; box-sizing: border-box; } } .operate { height: 1.333333rem; display: flex; justify-content: flex-end; align-items: center; .van-button { width: 1.6rem; } } } } </style> No newline at end of file src/main.js +2 −2 Original line number Original line Diff line number Diff line Loading @@ -9,14 +9,14 @@ import './permission' import Cookies from 'js-cookie' import Cookies from 'js-cookie' import util from './api/util.js' import util from './api/util.js' import {DropdownMenu, DropdownItem, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit, AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem, PullRefresh, List, Tab, Tabs, GoodsAction, GoodsActionIcon, GoodsActionButton, SubmitBar, Toast ,Search,Picker,Uploader,Notify ,ContactList,Calendar,Radio,RadioGroup,Tag,Tabbar,TabbarItem,Sticky, Grid, GridItem,Skeleton,Col,Row, Image as VanImage, Badge,NoticeBar,DatetimePicker, import {DropdownMenu, DropdownItem, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit, AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem, PullRefresh, List, Tab, Tabs, GoodsAction, GoodsActionIcon, GoodsActionButton, SubmitBar, Toast ,Search,Picker,Uploader,Notify ,ContactList,Calendar,Radio,RadioGroup,Tag,Tabbar,TabbarItem,Sticky, Grid, GridItem,Skeleton,Col,Row, Image as VanImage, Badge,NoticeBar,DatetimePicker, Step, Steps,Lazyload,Popover,Collapse, CollapseItem } from 'vant' Step, Steps,Lazyload,Popover,Collapse, CollapseItem,TreeSelect } from 'vant' import 'lib-flexible/flexible' import 'lib-flexible/flexible' import vueEsign from 'vue-esign' import vueEsign from 'vue-esign' Vue.use(vueEsign) Vue.use(vueEsign) Vue.prototype.util = util Vue.prototype.util = util Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify) Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify) .use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky) .use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky) .use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps).use(Popover).use(Lazyload).use(Collapse).use(CollapseItem) .use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps).use(Popover).use(Lazyload).use(Collapse).use(CollapseItem).use(TreeSelect) Vue.use(DropdownMenu); Vue.use(DropdownMenu); Vue.use(DropdownItem); Vue.use(DropdownItem); // 引用高德地图组件 main.js // 引用高德地图组件 main.js Loading src/router/index.js +5 −0 Original line number Original line Diff line number Diff line Loading @@ -166,6 +166,11 @@ const routes = [{ name: 'addPresent', name: 'addPresent', component: () => import('../views/riskProject/add/addPresent.vue'), component: () => import('../views/riskProject/add/addPresent.vue'), }, }, {//现状风险详情 path: '/presentDetail', name: 'presentDetail', component: () => import('../views/riskProject/taskLedger/presentDetail.vue'), }, {//风险评估列表详情页 {//风险评估列表详情页 path: '/riskBigDetail', path: '/riskBigDetail', name: 'riskBigDetail', name: 'riskBigDetail', Loading Loading
src/App.vue +2 −2 Original line number Original line Diff line number Diff line Loading @@ -63,8 +63,8 @@ export default { "riskAssess", "riskAssess", "riskApprove", "riskApprove", "taskList", "taskList", "taskDetail" "taskDetail", "riskBigDetail" ], ], // cachePage预先定义的缓存页面 // cachePage预先定义的缓存页面 otherCache: [], otherCache: [], Loading
src/components/selectFloor.vue 0 → 100644 +191 −0 Original line number Original line Diff line number Diff line <template> <div> <!-- 搜索 --> <!-- <van-sticky offset-top="0"> <div class="content-wrap"> <div class="search-wrap"> <van-search v-model="searchVal" placeholder="搜索" @input="onInput"/> </div> </div> </van-sticky> --> <div style="margin-bottom: 1.4rem;"> <van-tree-select :items="listdata" :active-id.sync="activeId" :main-active-index.sync="activeIndex" @click-item="clickItem"> </van-tree-select> </div> <!-- 底部信息 --> <footer class="footer"> <van-cell-group> <div class="operate"> <van-button size="small" ttype="info" plain native-type="button" style="border-radius: 5px; background-color: #f0f1f5;" @click.native="cancel">取消 </van-button> <van-button size="small" type="info" native-type="button" style="margin:0 10px 0 20px;border-radius: 5px;" @click.native="save">保存 </van-button> </div> </van-cell-group> </footer> </div> </template> <script> import { debounce } from "@/utils/common.js"; export default { props: { listdata: { type: Array, default: () => [], } }, components: { // LHeader }, created() { }, data() { return { text: "选择人员", activeId: 1, activeIndex: 0, seletedItem:{} }; }, methods: { // 待搜索框内容发生变化 onInput: debounce(function () { }, 800), selData(e) { this.itemSel = e }, clickItem(data) { console.log(data, 'llll') this.seletedItem = data }, save() { this.$emit('saveSlect', this.seletedItem) }, cancel() { this.$emit('closeSlect') } } }; </script> <style lang="less" scoped> /* @import url(); 引入css类 */ // 搜索 .content-wrap { padding: 10px; background-color: #f0f1f5; } .search-wrap { margin: 0.26667rem; .van-search { border-radius: 5px; padding: 5px 12px; } .van-search__content { background-color: #ffffff; } } .upStep { .van-cell-group { display: flex; height: 1.2rem; align-items: center; .upStep-btn { width: 25%; text-align: center; display: flex; span { width: 1.866667rem; background-color: #1989fa; text-align: center; display: inline-block; color: white; height: 0.8rem; line-height: 0.8rem; font-size: 0.346667rem; border-radius: 0.08rem; } } .upStep-content { width: 75%; height: 0.8rem; line-height: 0.8rem; padding-left: 0.42667rem; box-sizing: border-box; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } } .dept-list-wrap { margin-top: 0.266667rem; } .people-wrap { margin-top: 0.266667rem; /deep/ .van-radio__label { display: flex; align-items: center; } } .footer { width: 100%; height: 1.4rem; z-index: 9; position: fixed; bottom: 0px; box-shadow: 0px 8px 15px #000; .van-cell-group { height: 100%; .selected { height: 1.066667rem; display: flex; align-items: center; padding-left: 10px; border-bottom: 1px solid #cacbcb; .selected-title { color: #4187f7; } .selected-content { width: 80%; padding-left: 10px; box-sizing: border-box; } } .operate { height: 1.333333rem; display: flex; justify-content: flex-end; align-items: center; .van-button { width: 1.6rem; } } } } </style> No newline at end of file
src/components/selectList.vue 0 → 100644 +223 −0 Original line number Original line Diff line number Diff line <template> <div> <!-- 搜索 --> <van-sticky offset-top="0"> <div class="content-wrap"> <div class="search-wrap"> <van-search v-model="searchVal" placeholder="搜索" @input="onInput"/> </div> </div> </van-sticky> <div style="margin-bottom: 1.4rem;"> <van-checkbox-group v-model="checkbox"> <!-- <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="getInsideUser()" > --> <van-checkbox style="margin: 0px 10px;" v-for="(item,index) in listdata" :name="item.dictLabel" :key="index" @click="selData(item)"> <van-cell :title="item.dictValue" /> </van-checkbox> <!-- </van-list> --> </van-checkbox-group> </div> <!-- 底部信息 --> <footer class="footer"> <van-cell-group> <div class="operate"> <van-button size="small" ttype="info" plain native-type="button" style="border-radius: 5px; background-color: #f0f1f5;" @click.native="cancel" >取消 </van-button > <van-button size="small" type="info" native-type="button" style="margin:0 10px 0 20px;border-radius: 5px;" @click.native="save" >保存 </van-button > </div> </van-cell-group> </footer> </div> </template> <script> import {debounce} from "@/utils/common.js"; export default { props:{ listdata:{ type:Array, default:()=>[], } }, components: { // LHeader }, created() { }, data() { return { text: "选择人员", personName: "", searchVal: "", checkbox:[], pageSize: 20, pageNum: 1, loading: false, finished: false, projectList:[], itemSel:{ } }; }, methods: { // 待搜索框内容发生变化 onInput: debounce(function () { this.projectList=[] this.pageNum=1 this.finished = false this.loading = true this.getInsideUser(); }, 800), selData(e){ this.itemSel=e }, save() { this.$emit('saveSlect', this.checkbox) }, cancel() { this.$emit('closeSlect') } } }; </script> <style lang="less" scoped> /* @import url(); 引入css类 */ // 搜索 .content-wrap { padding: 10px; background-color: #f0f1f5; } .search-wrap { margin: 0.26667rem; .van-search { border-radius: 5px; padding: 5px 12px; } .van-search__content { background-color: #ffffff; } } .upStep { .van-cell-group { display: flex; height: 1.2rem; align-items: center; .upStep-btn { width: 25%; text-align: center; display: flex; span { width: 1.866667rem; background-color: #1989fa; text-align: center; display: inline-block; color: white; height: 0.8rem; line-height: 0.8rem; font-size: 0.346667rem; border-radius: 0.08rem; } } .upStep-content { width: 75%; height: 0.8rem; line-height: 0.8rem; padding-left: 0.42667rem; box-sizing: border-box; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } } .dept-list-wrap { margin-top: 0.266667rem; } .people-wrap { margin-top: 0.266667rem; /deep/ .van-radio__label { display: flex; align-items: center; } } .footer { width: 100%; height: 1.4rem; z-index: 9; position: fixed; bottom: 0px; box-shadow: 0px 8px 15px #000; .van-cell-group { height: 100%; .selected { height: 1.066667rem; display: flex; align-items: center; padding-left: 10px; border-bottom: 1px solid #cacbcb; .selected-title { color: #4187f7; } .selected-content { width: 80%; padding-left: 10px; box-sizing: border-box; } } .operate { height: 1.333333rem; display: flex; justify-content: flex-end; align-items: center; .van-button { width: 1.6rem; } } } } </style> No newline at end of file
src/main.js +2 −2 Original line number Original line Diff line number Diff line Loading @@ -9,14 +9,14 @@ import './permission' import Cookies from 'js-cookie' import Cookies from 'js-cookie' import util from './api/util.js' import util from './api/util.js' import {DropdownMenu, DropdownItem, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit, AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem, PullRefresh, List, Tab, Tabs, GoodsAction, GoodsActionIcon, GoodsActionButton, SubmitBar, Toast ,Search,Picker,Uploader,Notify ,ContactList,Calendar,Radio,RadioGroup,Tag,Tabbar,TabbarItem,Sticky, Grid, GridItem,Skeleton,Col,Row, Image as VanImage, Badge,NoticeBar,DatetimePicker, import {DropdownMenu, DropdownItem, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit, AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem, PullRefresh, List, Tab, Tabs, GoodsAction, GoodsActionIcon, GoodsActionButton, SubmitBar, Toast ,Search,Picker,Uploader,Notify ,ContactList,Calendar,Radio,RadioGroup,Tag,Tabbar,TabbarItem,Sticky, Grid, GridItem,Skeleton,Col,Row, Image as VanImage, Badge,NoticeBar,DatetimePicker, Step, Steps,Lazyload,Popover,Collapse, CollapseItem } from 'vant' Step, Steps,Lazyload,Popover,Collapse, CollapseItem,TreeSelect } from 'vant' import 'lib-flexible/flexible' import 'lib-flexible/flexible' import vueEsign from 'vue-esign' import vueEsign from 'vue-esign' Vue.use(vueEsign) Vue.use(vueEsign) Vue.prototype.util = util Vue.prototype.util = util Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify) Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify) .use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky) .use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky) .use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps).use(Popover).use(Lazyload).use(Collapse).use(CollapseItem) .use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps).use(Popover).use(Lazyload).use(Collapse).use(CollapseItem).use(TreeSelect) Vue.use(DropdownMenu); Vue.use(DropdownMenu); Vue.use(DropdownItem); Vue.use(DropdownItem); // 引用高德地图组件 main.js // 引用高德地图组件 main.js Loading
src/router/index.js +5 −0 Original line number Original line Diff line number Diff line Loading @@ -166,6 +166,11 @@ const routes = [{ name: 'addPresent', name: 'addPresent', component: () => import('../views/riskProject/add/addPresent.vue'), component: () => import('../views/riskProject/add/addPresent.vue'), }, }, {//现状风险详情 path: '/presentDetail', name: 'presentDetail', component: () => import('../views/riskProject/taskLedger/presentDetail.vue'), }, {//风险评估列表详情页 {//风险评估列表详情页 path: '/riskBigDetail', path: '/riskBigDetail', name: 'riskBigDetail', name: 'riskBigDetail', Loading