Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
		| @@ -4,17 +4,20 @@ | |||||||
|       <u-navbar title="走访慰问" back-icon-color="#fff" title-color="#fff" title-width="300" title-size="36" :border-bottom="false" :background="backgroundNavbar"> </u-navbar> |       <u-navbar title="走访慰问" back-icon-color="#fff" title-color="#fff" title-width="300" title-size="36" :border-bottom="false" :background="backgroundNavbar"> </u-navbar> | ||||||
|  |  | ||||||
|       <div class="header-top"> |       <div class="header-top"> | ||||||
|         <u-tabs :list="tabList" :is-scroll="false" :current="current" height="96" bg-color="#3975C6" inactive-color="#fff" active-color="#fff" @change="change"></u-tabs> |         <u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bg-color="#3975C6" inactive-color="#fff" active-color="#fff" @change="change"></u-tabs> | ||||||
|       </div> |       </div> | ||||||
|  |  | ||||||
|       <div class="header-middle"> |       <div class="header-middle"> | ||||||
|         <div class="currentLeft" v-if="current == 0"> |         <div class="currentLeft" v-if="currentTabs == 0"> | ||||||
|           <div class="currentLeft-top"> |           <div class="currentLeft-top"> | ||||||
|             <div class="left"> |             <div class="left"> | ||||||
|               <u-icon name="map"></u-icon> |               <img src="./components/images/icon2.png" alt="" /> | ||||||
|               <div class="btns" style="display: inline-block" @click="show = true"> |  | ||||||
|  |               <ai-area-picker v-model="areaId" ref="areaIds" :areaId="areaId" @select="areaSelect" style="color: #fff"> </ai-area-picker> | ||||||
|  |  | ||||||
|  |               <!-- <div class="btns" style="display: inline-block" @click="show = true"> | ||||||
|                 <u-icon name="arrow-down"></u-icon> |                 <u-icon name="arrow-down"></u-icon> | ||||||
|               </div> |               </div> --> | ||||||
|             </div> |             </div> | ||||||
|  |  | ||||||
|             <u-search v-model="keyword" :clearabled="true" placeholder="请输入标题" :show-action="false" bg-color="#1F5CAF" search-icon-color="#E2E8F1" color="#E2E8F1" height="58" @search="handerSearch" @clear="handerClear"></u-search> |             <u-search v-model="keyword" :clearabled="true" placeholder="请输入标题" :show-action="false" bg-color="#1F5CAF" search-icon-color="#E2E8F1" color="#E2E8F1" height="58" @search="handerSearch" @clear="handerClear"></u-search> | ||||||
| @@ -22,7 +25,6 @@ | |||||||
|             <u-select v-model="show" :list="areaList"></u-select> |             <u-select v-model="show" :list="areaList"></u-select> | ||||||
|           </div> |           </div> | ||||||
|  |  | ||||||
|           <!-- v-if="data.length > 0" --> |  | ||||||
|           <div @click.stop="btnHide" class="datas" v-if="data.length > 0"> |           <div @click.stop="btnHide" class="datas" v-if="data.length > 0"> | ||||||
|             <div class="cards" @click.stop="toDetail" v-for="(item, i) in 4" :key="i"> |             <div class="cards" @click.stop="toDetail" v-for="(item, i) in 4" :key="i"> | ||||||
|               <div class="cards-top"> |               <div class="cards-top"> | ||||||
| @@ -62,7 +64,7 @@ | |||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|         <div class="currentRight" v-if="current == 1">1</div> |         <div class="currentRight" v-if="currentTabs == 1">1</div> | ||||||
|       </div> |       </div> | ||||||
|  |  | ||||||
|       <u-modal v-model="deletShow" content="您确认要删除该条信息吗?" :show-cancel-button="true" :mask-close-able="true" :show-title="false" @confirm="delet"></u-modal> |       <u-modal v-model="deletShow" content="您确认要删除该条信息吗?" :show-cancel-button="true" :mask-close-able="true" :show-title="false" @confirm="delet"></u-modal> | ||||||
| @@ -75,14 +77,16 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
|  | import { mapState } from 'vuex' | ||||||
| import AiEmpty from '../../components/AiEmpty.vue' | import AiEmpty from '../../components/AiEmpty.vue' | ||||||
| import add from './components/add.vue' | import add from './components/add.vue' | ||||||
| import detail from './components/detail.vue' | import detail from './components/detail.vue' | ||||||
|  | import AiAreaPicker from '../../components/AiAreaPicker.vue' | ||||||
|  |  | ||||||
| export default { | export default { | ||||||
|   name: 'AppWalkask', |   name: 'AppWalkask', | ||||||
|   appName: '走访慰问', |   appName: '走访慰问', | ||||||
|   components: { AiEmpty, add, detail }, |   components: { AiEmpty, add, detail, AiAreaPicker }, | ||||||
|   props: {}, |   props: {}, | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
| @@ -98,7 +102,7 @@ export default { | |||||||
|           name: '我的走访', |           name: '我的走访', | ||||||
|         }, |         }, | ||||||
|       ], |       ], | ||||||
|       current: 0, |       currentTabs: 0, | ||||||
|       show: false, |       show: false, | ||||||
|       areaList: [ |       areaList: [ | ||||||
|         { |         { | ||||||
| @@ -117,14 +121,44 @@ export default { | |||||||
|       isList: true, |       isList: true, | ||||||
|       comp: '', |       comp: '', | ||||||
|       params: null, |       params: null, | ||||||
|  |       current: 1, | ||||||
|  |       areaId: '', | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   computed: {}, |   computed: { ...mapState(['user']) }, | ||||||
|   onLoad() {}, |   created() { | ||||||
|   onShow() {}, |     console.log(this.user) | ||||||
|  |     this.areaId = this.user.areaId | ||||||
|  |     this.getList() | ||||||
|  |   }, | ||||||
|  |   mounted() {}, | ||||||
|   methods: { |   methods: { | ||||||
|  |     getList() { | ||||||
|  |       this.$http | ||||||
|  |         .post('/app/appvisitvondolence/list', null, { | ||||||
|  |           params: { | ||||||
|  |             size: 6, | ||||||
|  |             current: this.current, | ||||||
|  |             areaId: this.areaId, | ||||||
|  |           }, | ||||||
|  |         }) | ||||||
|  |         .then((res) => { | ||||||
|  |           if (res.code == 0) { | ||||||
|  |             this.data = res.data.records | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     areaSelect(e) { | ||||||
|  |       if (e.type == 5) { | ||||||
|  |         this.areaId = e.id | ||||||
|  |       } else { | ||||||
|  |         return this.$u.toast('请选择到村') | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     change(index) { |     change(index) { | ||||||
|       this.current = index |       this.currentTabs = index | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     toAdd(item) { |     toAdd(item) { | ||||||
| @@ -191,7 +225,13 @@ export default { | |||||||
|         background: #3975c6; |         background: #3975c6; | ||||||
|         padding: 24px 30px; |         padding: 24px 30px; | ||||||
|         .left { |         .left { | ||||||
|           width: 50%; |           width: 40%; | ||||||
|  |           display: flex; | ||||||
|  |           align-items: center; | ||||||
|  |           img { | ||||||
|  |             width: 48px; | ||||||
|  |             height: 48px; | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,11 +6,7 @@ | |||||||
|       <div class="header-content"> |       <div class="header-content"> | ||||||
|         <u-form :model="forms" ref="uForm" label-width="auto"> |         <u-form :model="forms" ref="uForm" label-width="auto"> | ||||||
|           <u-form-item label="区域选择" prop="areaId" required style="position: relative"> |           <u-form-item label="区域选择" prop="areaId" required style="position: relative"> | ||||||
|             <u-input v-model="forms.areaId" disabled placeholder="请选择区域" @click="showAreaId = true" /> |             <ai-area-picker v-model="forms.areaId" ref="areaIds" :areaId="areaIdProps" @select="areaSelect" style="color: #333"> </ai-area-picker> | ||||||
|  |  | ||||||
|             <u-select v-model="showAreaId" :list="areaIdlist" @confirm="changeAreaId"></u-select> |  | ||||||
|  |  | ||||||
|             <u-icon name="arrow-right" color="#CCCCCC" style="position: absolute; top: 25px; right: 30px"></u-icon> |  | ||||||
|           </u-form-item> |           </u-form-item> | ||||||
|  |  | ||||||
|           <u-form-item label="走访对象" prop="object" style="position: relative"> |           <u-form-item label="走访对象" prop="object" style="position: relative"> | ||||||
| @@ -22,10 +18,11 @@ | |||||||
|             <u-icon name="arrow-right" color="#CCCCCC" style="position: absolute; top: 25px; right: 30px"></u-icon> |             <u-icon name="arrow-right" color="#CCCCCC" style="position: absolute; top: 25px; right: 30px"></u-icon> | ||||||
|           </u-form-item> |           </u-form-item> | ||||||
|  |  | ||||||
|           <u-form-item label="现实状态" prop="nowStstus" required style="position: relative"> |           <u-form-item label="现实状态" prop="reality" required style="position: relative"> | ||||||
|             <u-input v-model="forms.nowStstus" disabled placeholder="请选择走访对象" @click="showStstus = true" /> |             <u-input v-model="forms.reality" disabled placeholder="请选择走访对象" @click="showStstus = true" /> | ||||||
|  |  | ||||||
|             <u-select v-model="showStstus" :list="Objectlist" @confirm="changeStstus"></u-select> |             <!-- :disabled="!forms.object" --> | ||||||
|  |             <u-select v-model="showStstus" :list="$dict.getDict('realityStatus')" value-name="dictValue" label-name="dictName" @confirm="changeStstus"></u-select> | ||||||
|  |  | ||||||
|             <u-icon name="arrow-right" color="#CCCCCC" style="position: absolute; top: 25px; right: 30px"></u-icon> |             <u-icon name="arrow-right" color="#CCCCCC" style="position: absolute; top: 25px; right: 30px"></u-icon> | ||||||
|           </u-form-item> |           </u-form-item> | ||||||
| @@ -56,23 +53,27 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
|  | import { mapState } from 'vuex' | ||||||
| import AiUploader from '../../../components/AiUploader.vue' | import AiUploader from '../../../components/AiUploader.vue' | ||||||
| import AiBack from '../../../components/AiBack.vue' | import AiBack from '../../../components/AiBack.vue' | ||||||
| import walkObject from './walkObject.vue' | import walkObject from './walkObject.vue' | ||||||
|  | import AiAreaPicker from '../../../components/AiAreaPicker' | ||||||
|  |  | ||||||
| export default { | export default { | ||||||
|   name: 'add', |   name: 'add', | ||||||
|   components: { AiUploader, AiBack, walkObject }, |   components: { AiUploader, AiBack, walkObject, AiAreaPicker }, | ||||||
|   props: {}, |   props: {}, | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|       backgroundNavbar: { |       backgroundNavbar: { | ||||||
|         backgroundColor: '#3975C6', |         backgroundColor: '#3975C6', | ||||||
|       }, |       }, | ||||||
|  |  | ||||||
|       forms: { |       forms: { | ||||||
|         areaId: '', |         areaId: '', | ||||||
|         object: '', |         object: '', | ||||||
|         nowStstus: '', |         reality: '', | ||||||
|  |         realitylabel: '', | ||||||
|         things: '', |         things: '', | ||||||
|         content: '', |         content: '', | ||||||
|         avatar: [], |         avatar: [], | ||||||
| @@ -102,18 +103,22 @@ export default { | |||||||
|       showStstus: false, |       showStstus: false, | ||||||
|       flag: false, |       flag: false, | ||||||
|       addList: true, |       addList: true, | ||||||
|  |       areaIdProps: '', | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   computed: {}, |   computed: { ...mapState(['user']) }, | ||||||
|   onLoad() {}, |   created() { | ||||||
|   onShow() {}, |     this.areaIdProps = this.user.areaId | ||||||
|  |     this.$dict.load('realityStatus').then(() => {}) | ||||||
|  |   }, | ||||||
|  |   mounted() {}, | ||||||
|   methods: { |   methods: { | ||||||
|     submit() { |     submit() { | ||||||
|       if (this.flag) return |       if (this.flag) return | ||||||
|  |  | ||||||
|       this.$refs.uForm.validate((valid) => { |       this.$refs.uForm.validate((valid) => { | ||||||
|         if (valid) { |         if (valid) { | ||||||
|           if (!this.form.areaId) { |           if (!this.areaId) { | ||||||
|             return this.$u.toast('请选择走访对象') |             return this.$u.toast('请选择走访对象') | ||||||
|           } |           } | ||||||
|           if (!this.form.things) { |           if (!this.form.things) { | ||||||
| @@ -125,7 +130,7 @@ export default { | |||||||
|             .post(`/appjobresume/addOrUpdate`, { |             .post(`/appjobresume/addOrUpdate`, { | ||||||
|               areaId: this.forms.areaId, |               areaId: this.forms.areaId, | ||||||
|               object: this.forms.object, |               object: this.forms.object, | ||||||
|               nowStstus: this.forms.nowStstus, |               reality: this.forms.reality == Number ? this.forms.reality : this.forms.realitylabel, | ||||||
|               things: this.forms.things, |               things: this.forms.things, | ||||||
|               content: this.forms.content, |               content: this.forms.content, | ||||||
|               avatar: this.forms.avatar[0], |               avatar: this.forms.avatar[0], | ||||||
| @@ -145,10 +150,12 @@ export default { | |||||||
|       }) |       }) | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     changeAreaId(e) { |     areaSelect(e) { | ||||||
|       console.log(e) |       if (e.type == 5) { | ||||||
|       this.forms.areaId = e[0].value |         this.forms.areaId = e.id | ||||||
|       this.forms.areaIdValue = e[0].label |       } else { | ||||||
|  |         return this.$u.toast('请选择到村') | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     changeObject(e) { |     changeObject(e) { | ||||||
| @@ -159,8 +166,8 @@ export default { | |||||||
|  |  | ||||||
|     changeStstus(e) { |     changeStstus(e) { | ||||||
|       console.log(e) |       console.log(e) | ||||||
|       this.forms.nowStstus = e[0].value |       this.forms.reality = e[0].value | ||||||
|       this.forms.nowStstuslabel = e[0].label |       this.forms.realitylabel = e[0].label | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     toWalkObject() { |     toWalkObject() { | ||||||
|   | |||||||
| @@ -56,8 +56,8 @@ export default { | |||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   computed: {}, |   computed: {}, | ||||||
|   onLoad() {}, |   created() {}, | ||||||
|   onShow() {}, |   mounted() {}, | ||||||
|   methods: {}, |   methods: {}, | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppWalkask/components/images/icon1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/apps/AppWalkask/components/images/icon1.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 396 B | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppWalkask/components/images/icon2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/apps/AppWalkask/components/images/icon2.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 766 B | 
| @@ -61,8 +61,8 @@ export default { | |||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   computed: {}, |   computed: {}, | ||||||
|   onLoad() {}, |   created() {}, | ||||||
|   onShow() {}, |   mounted() {}, | ||||||
|   methods: { |   methods: { | ||||||
|     checkboxGroupChange(e) { |     checkboxGroupChange(e) { | ||||||
|       console.log(1, e) |       console.log(1, e) | ||||||
|   | |||||||
							
								
								
									
										222
									
								
								src/components/AiAreaPicker.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								src/components/AiAreaPicker.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,222 @@ | |||||||
|  | <template> | ||||||
|  |   <section class="AiAreaPicker"> | ||||||
|  |     <ai-search-popup mode="bottom" ref="areaSelector"> | ||||||
|  |       <div slot="btn" @tap="handleInit"> | ||||||
|  |         <slot v-if="$slots.default" /> | ||||||
|  |         <div v-else class="areaSelector"> | ||||||
|  |           <image :src="icon" class="location" /> | ||||||
|  |           <div v-text="currentArea.name" /> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |       <div class="areaSelector"> | ||||||
|  |         <div class="fixedTop"> | ||||||
|  |           <span v-for="(area, i) in fullArea" :key="area.id" v-text="area.name" :class="{ current: area.id == index }" @click="selectNode(area, i)" /> | ||||||
|  |         </div> | ||||||
|  |         <span v-text="currentArea.name" /> | ||||||
|  |       </div> | ||||||
|  |       <div class="pendingItem flexRow" flex v-for="op in list" :key="op.id"> | ||||||
|  |         <div class="fill" :class="{ self: index == op.id }" v-html="op.name" @tap="handleSelect(op)" /> | ||||||
|  |         <u-icon v-if="index != op.id" name="arrow-right" color="#ddd" @click="getChild(op)" /> | ||||||
|  |       </div> | ||||||
|  |     </ai-search-popup> | ||||||
|  |   </section> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  | import AiSearchPopup from './AiSearchPopup' | ||||||
|  | import AiCell from './AiCell.vue' | ||||||
|  | import { mapState } from 'vuex' | ||||||
|  |  | ||||||
|  | export default { | ||||||
|  |   name: 'AiAreaPicker', | ||||||
|  |   components: { AiCell, AiSearchPopup }, | ||||||
|  |   props: { | ||||||
|  |     areaId: { default: '' }, | ||||||
|  |     name: { default: '' }, | ||||||
|  |     all: Boolean, | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |     ...mapState(['user']), | ||||||
|  |     dataRange() { | ||||||
|  |       let rules = [10, 8, 6, 3, 0], | ||||||
|  |         level = 0 | ||||||
|  |       if (this.all) return (level = 0) | ||||||
|  |       rules.some((e, i) => { | ||||||
|  |         let reg = new RegExp(`0{${e}}`, 'g') | ||||||
|  |         if (reg.test(this.areaId || this.user.areaId || this.$areaId)) { | ||||||
|  |           return (level = i) | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |       return level | ||||||
|  |     }, | ||||||
|  |     currentArea() { | ||||||
|  |       return this.fullArea?.slice(-1)?.[0] || {} | ||||||
|  |     }, | ||||||
|  |     icon() { | ||||||
|  |       return this.$cdn + '/img/location.svg' | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       fullArea: [{ name: '全国', id: 0 }], | ||||||
|  |       index: '', | ||||||
|  |       list: [], | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |     areaId(v) { | ||||||
|  |       v && this.getFullArea() | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     getFullArea() { | ||||||
|  |       let areaId = this.areaId || (this.all ? '' : this.$areaId) | ||||||
|  |       areaId && | ||||||
|  |         this.$http | ||||||
|  |           .post('/admin/area/getAllParentAreaId', null, { | ||||||
|  |             withoutToken: true, | ||||||
|  |             params: { areaId }, | ||||||
|  |           }) | ||||||
|  |           .then((res) => { | ||||||
|  |             if (res?.data) { | ||||||
|  |               if (res.data.length > 1) { | ||||||
|  |                 this.fullArea = res.data.reverse().slice(this.dataRange) | ||||||
|  |               } else { | ||||||
|  |                 this.fullArea = res.data | ||||||
|  |               } | ||||||
|  |               this.fullArea.unshift({ name: '全国', id: 0 }) | ||||||
|  |             } | ||||||
|  |           }) | ||||||
|  |     }, | ||||||
|  |     getChildAreas(id) { | ||||||
|  |       id && | ||||||
|  |         this.$http | ||||||
|  |           .post('/admin/area/queryAreaByParentId', null, { | ||||||
|  |             withoutToken: true, | ||||||
|  |             params: { id }, | ||||||
|  |           }) | ||||||
|  |           .then((res) => { | ||||||
|  |             if (res?.data) { | ||||||
|  |               this.list = res.data | ||||||
|  |               let self = this.fullArea.find((e) => e.id == this.index) | ||||||
|  |               this.list.unshift(self) | ||||||
|  |             } | ||||||
|  |           }) | ||||||
|  |     }, | ||||||
|  |     getProvinces() { | ||||||
|  |       this.$http.post('/admin/area/queryProvinceList', null, { withoutToken: true }).then((res) => { | ||||||
|  |         if (res?.data) { | ||||||
|  |           this.list = res.data | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     handleSelect(op) { | ||||||
|  |       if (op.id != this.index) { | ||||||
|  |         this.fullArea.push(op) | ||||||
|  |         this.index = op.id | ||||||
|  |       } | ||||||
|  |       this.$emit('select', op) | ||||||
|  |       this.$emit('update:name', this.currentArea.name) | ||||||
|  |       this.$refs.areaSelector?.handleSelect() | ||||||
|  |     }, | ||||||
|  |     getChild(op) { | ||||||
|  |       this.fullArea.push(op) | ||||||
|  |       this.index = op.id | ||||||
|  |       this.getChildAreas(op.id) | ||||||
|  |     }, | ||||||
|  |     selectNode(area, i) { | ||||||
|  |       this.fullArea.splice(i + 1, this.fullArea.length - i) | ||||||
|  |       if (this.all && !area.id) { | ||||||
|  |         this.index = '' | ||||||
|  |         this.getProvinces() | ||||||
|  |       } else { | ||||||
|  |         this.index = area.id | ||||||
|  |         this.getChildAreas(area.id) | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     handleInit() { | ||||||
|  |       this.index = this.currentArea.id | ||||||
|  |       if (this.all && !this.currentArea.id) this.getProvinces() | ||||||
|  |       else this.getChildAreas(this.currentArea.id) | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.index = this.areaId | ||||||
|  |     this.getFullArea() | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .AiAreaPicker { | ||||||
|  |   ::v-deep .areaSelector { | ||||||
|  |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |  | ||||||
|  |     span { | ||||||
|  |       cursor: pointer; | ||||||
|  |       color: #333; | ||||||
|  |  | ||||||
|  |       &:first-of-type:before { | ||||||
|  |         content: ''; | ||||||
|  |         padding: 0; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &:before { | ||||||
|  |         color: #333; | ||||||
|  |         content: '/'; | ||||||
|  |         padding: 0 16px; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .current { | ||||||
|  |       color: #3f8df5; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .fixedTop { | ||||||
|  |       position: fixed; | ||||||
|  |       top: 0; | ||||||
|  |       width: 100%; | ||||||
|  |       left: 0; | ||||||
|  |       background: #fff; | ||||||
|  |       border-bottom: 4px solid #f5f5f5; | ||||||
|  |       z-index: 1; | ||||||
|  |       text-align: start; | ||||||
|  |       padding: 0 16px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   ::v-deep.u-drawer-content { | ||||||
|  |     position: fixed; | ||||||
|  |  | ||||||
|  |     .areaSelector { | ||||||
|  |       padding: 0 16px; | ||||||
|  |       box-sizing: border-box; | ||||||
|  |       border-bottom: 16px solid #f5f5f5; | ||||||
|  |  | ||||||
|  |       span { | ||||||
|  |         line-height: 100px; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   ::v-deep.pendingItem { | ||||||
|  |     color: #333; | ||||||
|  |     margin-left: 32px; | ||||||
|  |     padding-right: 32px; | ||||||
|  |     height: 104px; | ||||||
|  |     border-bottom: 1px solid #ddd; | ||||||
|  |     text-align: start; | ||||||
|  |  | ||||||
|  |     .self { | ||||||
|  |       font-weight: bold; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   .location { | ||||||
|  |     width: 28px; | ||||||
|  |     height: 80px; | ||||||
|  |     margin-right: 12px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @@ -28,7 +28,7 @@ | |||||||
|       "port": "10323", |       "port": "10323", | ||||||
|       "proxy": { |       "proxy": { | ||||||
|         "/lan": { |         "/lan": { | ||||||
|           "target": "http://192.168.1.34:19898", |           "target": "http://192.168.1.87:9000", | ||||||
|           "changeOrigin": true, |           "changeOrigin": true, | ||||||
|           "pathRewrite": { |           "pathRewrite": { | ||||||
|             "^/lan": "/" |             "^/lan": "/" | ||||||
| @@ -43,4 +43,4 @@ | |||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user