Commit cf339574 authored by mahui's avatar mahui

init

parent 6f54a644
...@@ -46,43 +46,7 @@ ...@@ -46,43 +46,7 @@
show:false, show:false,
site_id:'', site_id:'',
time:myPublic.dateFormat.format(Date.now(), 'HH:mm:ss YYYY年MM月DD日'), time:myPublic.dateFormat.format(Date.now(), 'HH:mm:ss YYYY年MM月DD日'),
list:[ list:[]
// {
// longitude:119.779647,
// latitude:30.24369,
// name:'青山湖国家森林公园',
// address:'浙江省杭州市临安区老圣园路北',
// type:1
// },
// {
// longitude:119.821796,
// latitude:30.254114,
// name:'青山湖街道',
// address:'浙江省杭州市临安区',
// type:1
// },
// {
// longitude:119.790127,
// latitude:30.255317,
// name:'灵山',
// address:'浙江省杭州市临安区',
// type:2
// },
// {
// longitude:119.852565,
// latitude:30.2528,
// name:'青山湖互通',
// address:'浙江省杭州市临安区',
// type:1
// },
// {
// longitude:119.823904,
// latitude:30.24808,
// name:'青山中学',
// address:'浙江省杭州市临安区',
// type:1
// },
]
}); });
const user = computed(()=>{ const user = computed(()=>{
return store.info; return store.info;
...@@ -118,7 +82,7 @@ ...@@ -118,7 +82,7 @@
} }
function mapShow(coordinate, item, callBack) { function mapShow(coordinate, item, callBack) {
const now = Date.now(); const now = Date.now();
let str = `<img src="${require("@/assets/img/e.png")}" />`; let str = `<img src="${item.showImage}" />`;
str += `<p style="font-weight: 700">${item.name}${typeChange(item.type)}</p>`; str += `<p style="font-weight: 700">${item.name}${typeChange(item.type)}</p>`;
str += `<p>位置:${item.address}</p>`; str += `<p>位置:${item.address}</p>`;
str += `<p id="${now}" style="color: #3396fb;cursor: pointer" onclick="">查看详情<span class="icon-4"></span></p>`; str += `<p id="${now}" style="color: #3396fb;cursor: pointer" onclick="">查看详情<span class="icon-4"></span></p>`;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<div class="detail-body"> <div class="detail-body">
<div class="body-one base" v-if="tab=='base'"> <div class="body-one base" v-if="tab=='base'">
<div class="poster"> <div class="poster">
<div class="blur-mask" :style="`background-image:url('${detail.poster[detail.index]}')`"></div> <div class="blur-mask" :style="`background-image:url('${detail.showImage}')`"></div>
<div class="banner"> <div class="banner">
<el-carousel :interval="5000" arrow="never" style="height: 480px;" <el-carousel :interval="5000" arrow="never" style="height: 480px;"
@change="(val)=>{detail.index=val}"> @change="(val)=>{detail.index=val}">
...@@ -279,14 +279,7 @@ ...@@ -279,14 +279,7 @@
show:false, show:false,
order_id:'', order_id:'',
detail: { detail: {
poster: [ poster:[],
require("@/assets/img/banner-1.png"),
require("@/assets/img/banner-1.png"),
require("@/assets/img/banner-1.png"),
require("@/assets/img/banner-1.png"),
require("@/assets/img/banner-1.png"),
require("@/assets/img/banner-1.png"),
],
index: 0, index: 0,
yewei:0.7, yewei:0.7,
type:1 type:1
...@@ -419,6 +412,9 @@ ...@@ -419,6 +412,9 @@
function getDetail() { function getDetail() {
api.getToiletDetail({id:props.site_id}).then((res)=>{ api.getToiletDetail({id:props.site_id}).then((res)=>{
if(res.code==0){ if(res.code==0){
if(res.data.image){
state.detail.poster = res.data.image.split(',')
}
Object.assign(state.detail,{...res.data}); Object.assign(state.detail,{...res.data});
if(state.detail.type==1){ if(state.detail.type==1){
state.tabs.find(one=>one.value=='process').show = true; state.tabs.find(one=>one.value=='process').show = true;
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
"script-ext-html-webpack-plugin": "^2.1.4", "script-ext-html-webpack-plugin": "^2.1.4",
"spark-md5": "^3.0.1", "spark-md5": "^3.0.1",
"vue": "^3.2.25", "vue": "^3.2.25",
"vue-router": "^4.0.0-0" "vue-router": "^4.0.0-0",
"vue3-photo-preview": "^0.2.5"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-legacy": "^1.4.4", "@vitejs/plugin-legacy": "^1.4.4",
......
...@@ -12,6 +12,7 @@ export default { ...@@ -12,6 +12,7 @@ export default {
<style lang="scss"> <style lang="scss">
// 引入初始化样式 // 引入初始化样式
@import '@/style/theme/index.css';
@import '@/style/main.scss'; @import '@/style/main.scss';
@import '@/style/base.scss'; @import '@/style/base.scss';
@import '@/style/mobile.scss'; @import '@/style/mobile.scss';
......
...@@ -13,6 +13,8 @@ import auth from '@/directive/auth' ...@@ -13,6 +13,8 @@ import auth from '@/directive/auth'
import { store } from '@/pinia' import { store } from '@/pinia'
import upload from "@/components/upload.vue" import upload from "@/components/upload.vue"
import newInput from "@/components/input/new-input.vue" import newInput from "@/components/input/new-input.vue"
import vue3PhotoPreview from 'vue3-photo-preview';
import 'vue3-photo-preview/dist/index.css';
import App from './App.vue' import App from './App.vue'
const app = createApp(App) const app = createApp(App)
app.config.productionTip = false app.config.productionTip = false
...@@ -22,6 +24,7 @@ app ...@@ -22,6 +24,7 @@ app
.use(store) .use(store)
.use(auth) .use(auth)
.use(router) .use(router)
.use(vue3PhotoPreview)
.use(ElementPlus, { locale: zhCn }) .use(ElementPlus, { locale: zhCn })
.component('new-upload',upload) .component('new-upload',upload)
.component('new-input',newInput) .component('new-input',newInput)
......
@charset "UTF-8";
@font-face {
font-family: element-icons;
src: url(fonts/element-icons.woff) format("woff"), url(fonts/element-icons.ttf) format("truetype");
font-weight: 400;
font-display: "auto";
font-style: normal
}
[class*=" el-icon-"], [class^=el-icon-] {
font-family: element-icons !important;
speak: none;
font-style: normal;
font-weight: 400;
font-variant: normal;
text-transform: none;
line-height: 1;
vertical-align: baseline;
display: inline-block;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
.el-icon-ice-cream-round:before {
content: "\e6a0"
}
.el-icon-ice-cream-square:before {
content: "\e6a3"
}
.el-icon-lollipop:before {
content: "\e6a4"
}
.el-icon-potato-strips:before {
content: "\e6a5"
}
.el-icon-milk-tea:before {
content: "\e6a6"
}
.el-icon-ice-drink:before {
content: "\e6a7"
}
.el-icon-ice-tea:before {
content: "\e6a9"
}
.el-icon-coffee:before {
content: "\e6aa"
}
.el-icon-orange:before {
content: "\e6ab"
}
.el-icon-pear:before {
content: "\e6ac"
}
.el-icon-apple:before {
content: "\e6ad"
}
.el-icon-cherry:before {
content: "\e6ae"
}
.el-icon-watermelon:before {
content: "\e6af"
}
.el-icon-grape:before {
content: "\e6b0"
}
.el-icon-refrigerator:before {
content: "\e6b1"
}
.el-icon-goblet-square-full:before {
content: "\e6b2"
}
.el-icon-goblet-square:before {
content: "\e6b3"
}
.el-icon-goblet-full:before {
content: "\e6b4"
}
.el-icon-goblet:before {
content: "\e6b5"
}
.el-icon-cold-drink:before {
content: "\e6b6"
}
.el-icon-coffee-cup:before {
content: "\e6b8"
}
.el-icon-water-cup:before {
content: "\e6b9"
}
.el-icon-hot-water:before {
content: "\e6ba"
}
.el-icon-ice-cream:before {
content: "\e6bb"
}
.el-icon-dessert:before {
content: "\e6bc"
}
.el-icon-sugar:before {
content: "\e6bd"
}
.el-icon-tableware:before {
content: "\e6be"
}
.el-icon-burger:before {
content: "\e6bf"
}
.el-icon-knife-fork:before {
content: "\e6c1"
}
.el-icon-fork-spoon:before {
content: "\e6c2"
}
.el-icon-chicken:before {
content: "\e6c3"
}
.el-icon-food:before {
content: "\e6c4"
}
.el-icon-dish-1:before {
content: "\e6c5"
}
.el-icon-dish:before {
content: "\e6c6"
}
.el-icon-moon-night:before {
content: "\e6ee"
}
.el-icon-moon:before {
content: "\e6f0"
}
.el-icon-cloudy-and-sunny:before {
content: "\e6f1"
}
.el-icon-partly-cloudy:before {
content: "\e6f2"
}
.el-icon-cloudy:before {
content: "\e6f3"
}
.el-icon-sunny:before {
content: "\e6f6"
}
.el-icon-sunset:before {
content: "\e6f7"
}
.el-icon-sunrise-1:before {
content: "\e6f8"
}
.el-icon-sunrise:before {
content: "\e6f9"
}
.el-icon-heavy-rain:before {
content: "\e6fa"
}
.el-icon-lightning:before {
content: "\e6fb"
}
.el-icon-light-rain:before {
content: "\e6fc"
}
.el-icon-wind-power:before {
content: "\e6fd"
}
.el-icon-baseball:before {
content: "\e712"
}
.el-icon-soccer:before {
content: "\e713"
}
.el-icon-football:before {
content: "\e715"
}
.el-icon-basketball:before {
content: "\e716"
}
.el-icon-ship:before {
content: "\e73f"
}
.el-icon-truck:before {
content: "\e740"
}
.el-icon-bicycle:before {
content: "\e741"
}
.el-icon-mobile-phone:before {
content: "\e6d3"
}
.el-icon-service:before {
content: "\e6d4"
}
.el-icon-key:before {
content: "\e6e2"
}
.el-icon-unlock:before {
content: "\e6e4"
}
.el-icon-lock:before {
content: "\e6e5"
}
.el-icon-watch:before {
content: "\e6fe"
}
.el-icon-watch-1:before {
content: "\e6ff"
}
.el-icon-timer:before {
content: "\e702"
}
.el-icon-alarm-clock:before {
content: "\e703"
}
.el-icon-map-location:before {
content: "\e704"
}
.el-icon-delete-location:before {
content: "\e705"
}
.el-icon-add-location:before {
content: "\e706"
}
.el-icon-location-information:before {
content: "\e707"
}
.el-icon-location-outline:before {
content: "\e708"
}
.el-icon-location:before {
content: "\e79e"
}
.el-icon-place:before {
content: "\e709"
}
.el-icon-discover:before {
content: "\e70a"
}
.el-icon-first-aid-kit:before {
content: "\e70b"
}
.el-icon-trophy-1:before {
content: "\e70c"
}
.el-icon-trophy:before {
content: "\e70d"
}
.el-icon-medal:before {
content: "\e70e"
}
.el-icon-medal-1:before {
content: "\e70f"
}
.el-icon-stopwatch:before {
content: "\e710"
}
.el-icon-mic:before {
content: "\e711"
}
.el-icon-copy-document:before {
content: "\e718"
}
.el-icon-full-screen:before {
content: "\e719"
}
.el-icon-switch-button:before {
content: "\e71b"
}
.el-icon-aim:before {
content: "\e71c"
}
.el-icon-crop:before {
content: "\e71d"
}
.el-icon-odometer:before {
content: "\e71e"
}
.el-icon-time:before {
content: "\e71f"
}
.el-icon-bangzhu:before {
content: "\e724"
}
.el-icon-close-notification:before {
content: "\e726"
}
.el-icon-microphone:before {
content: "\e727"
}
.el-icon-turn-off-microphone:before {
content: "\e728"
}
.el-icon-position:before {
content: "\e729"
}
.el-icon-postcard:before {
content: "\e72a"
}
.el-icon-message:before {
content: "\e72b"
}
.el-icon-chat-line-square:before {
content: "\e72d"
}
.el-icon-chat-dot-square:before {
content: "\e72e"
}
.el-icon-chat-dot-round:before {
content: "\e72f"
}
.el-icon-chat-square:before {
content: "\e730"
}
.el-icon-chat-line-round:before {
content: "\e731"
}
.el-icon-chat-round:before {
content: "\e732"
}
.el-icon-set-up:before {
content: "\e733"
}
.el-icon-turn-off:before {
content: "\e734"
}
.el-icon-open:before {
content: "\e735"
}
.el-icon-connection:before {
content: "\e736"
}
.el-icon-link:before {
content: "\e737"
}
.el-icon-cpu:before {
content: "\e738"
}
.el-icon-thumb:before {
content: "\e739"
}
.el-icon-female:before {
content: "\e73a"
}
.el-icon-male:before {
content: "\e73b"
}
.el-icon-guide:before {
content: "\e73c"
}
.el-icon-news:before {
content: "\e73e"
}
.el-icon-price-tag:before {
content: "\e744"
}
.el-icon-discount:before {
content: "\e745"
}
.el-icon-wallet:before {
content: "\e747"
}
.el-icon-coin:before {
content: "\e748"
}
.el-icon-money:before {
content: "\e749"
}
.el-icon-bank-card:before {
content: "\e74a"
}
.el-icon-box:before {
content: "\e74b"
}
.el-icon-present:before {
content: "\e74c"
}
.el-icon-sell:before {
content: "\e6d5"
}
.el-icon-sold-out:before {
content: "\e6d6"
}
.el-icon-shopping-bag-2:before {
content: "\e74d"
}
.el-icon-shopping-bag-1:before {
content: "\e74e"
}
.el-icon-shopping-cart-2:before {
content: "\e74f"
}
.el-icon-shopping-cart-1:before {
content: "\e750"
}
.el-icon-shopping-cart-full:before {
content: "\e751"
}
.el-icon-smoking:before {
content: "\e752"
}
.el-icon-no-smoking:before {
content: "\e753"
}
.el-icon-house:before {
content: "\e754"
}
.el-icon-table-lamp:before {
content: "\e755"
}
.el-icon-school:before {
content: "\e756"
}
.el-icon-office-building:before {
content: "\e757"
}
.el-icon-toilet-paper:before {
content: "\e758"
}
.el-icon-notebook-2:before {
content: "\e759"
}
.el-icon-notebook-1:before {
content: "\e75a"
}
.el-icon-files:before {
content: "\e75b"
}
.el-icon-collection:before {
content: "\e75c"
}
.el-icon-receiving:before {
content: "\e75d"
}
.el-icon-suitcase-1:before {
content: "\e760"
}
.el-icon-suitcase:before {
content: "\e761"
}
.el-icon-film:before {
content: "\e763"
}
.el-icon-collection-tag:before {
content: "\e765"
}
.el-icon-data-analysis:before {
content: "\e766"
}
.el-icon-pie-chart:before {
content: "\e767"
}
.el-icon-data-board:before {
content: "\e768"
}
.el-icon-data-line:before {
content: "\e76d"
}
.el-icon-reading:before {
content: "\e769"
}
.el-icon-magic-stick:before {
content: "\e76a"
}
.el-icon-coordinate:before {
content: "\e76b"
}
.el-icon-mouse:before {
content: "\e76c"
}
.el-icon-brush:before {
content: "\e76e"
}
.el-icon-headset:before {
content: "\e76f"
}
.el-icon-umbrella:before {
content: "\e770"
}
.el-icon-scissors:before {
content: "\e771"
}
.el-icon-mobile:before {
content: "\e773"
}
.el-icon-attract:before {
content: "\e774"
}
.el-icon-monitor:before {
content: "\e775"
}
.el-icon-search:before {
content: "\e778"
}
.el-icon-takeaway-box:before {
content: "\e77a"
}
.el-icon-paperclip:before {
content: "\e77d"
}
.el-icon-printer:before {
content: "\e77e"
}
.el-icon-document-add:before {
content: "\e782"
}
.el-icon-document:before {
content: "\e785"
}
.el-icon-document-checked:before {
content: "\e786"
}
.el-icon-document-copy:before {
content: "\e787"
}
.el-icon-document-delete:before {
content: "\e788"
}
.el-icon-document-remove:before {
content: "\e789"
}
.el-icon-tickets:before {
content: "\e78b"
}
.el-icon-folder-checked:before {
content: "\e77f"
}
.el-icon-folder-delete:before {
content: "\e780"
}
.el-icon-folder-remove:before {
content: "\e781"
}
.el-icon-folder-add:before {
content: "\e783"
}
.el-icon-folder-opened:before {
content: "\e784"
}
.el-icon-folder:before {
content: "\e78a"
}
.el-icon-edit-outline:before {
content: "\e764"
}
.el-icon-edit:before {
content: "\e78c"
}
.el-icon-date:before {
content: "\e78e"
}
.el-icon-c-scale-to-original:before {
content: "\e7c6"
}
.el-icon-view:before {
content: "\e6ce"
}
.el-icon-loading:before {
content: "\e6cf"
}
.el-icon-rank:before {
content: "\e6d1"
}
.el-icon-sort-down:before {
content: "\e7c4"
}
.el-icon-sort-up:before {
content: "\e7c5"
}
.el-icon-sort:before {
content: "\e6d2"
}
.el-icon-finished:before {
content: "\e6cd"
}
.el-icon-refresh-left:before {
content: "\e6c7"
}
.el-icon-refresh-right:before {
content: "\e6c8"
}
.el-icon-refresh:before {
content: "\e6d0"
}
.el-icon-video-play:before {
content: "\e7c0"
}
.el-icon-video-pause:before {
content: "\e7c1"
}
.el-icon-d-arrow-right:before {
content: "\e6dc"
}
.el-icon-d-arrow-left:before {
content: "\e6dd"
}
.el-icon-arrow-up:before {
content: "\e6e1"
}
.el-icon-arrow-down:before {
content: "\e6df"
}
.el-icon-arrow-right:before {
content: "\e6e0"
}
.el-icon-arrow-left:before {
content: "\e6de"
}
.el-icon-top-right:before {
content: "\e6e7"
}
.el-icon-top-left:before {
content: "\e6e8"
}
.el-icon-top:before {
content: "\e6e6"
}
.el-icon-bottom:before {
content: "\e6eb"
}
.el-icon-right:before {
content: "\e6e9"
}
.el-icon-back:before {
content: "\e6ea"
}
.el-icon-bottom-right:before {
content: "\e6ec"
}
.el-icon-bottom-left:before {
content: "\e6ed"
}
.el-icon-caret-top:before {
content: "\e78f"
}
.el-icon-caret-bottom:before {
content: "\e790"
}
.el-icon-caret-right:before {
content: "\e791"
}
.el-icon-caret-left:before {
content: "\e792"
}
.el-icon-d-caret:before {
content: "\e79a"
}
.el-icon-share:before {
content: "\e793"
}
.el-icon-menu:before {
content: "\e798"
}
.el-icon-s-grid:before {
content: "\e7a6"
}
.el-icon-s-check:before {
content: "\e7a7"
}
.el-icon-s-data:before {
content: "\e7a8"
}
.el-icon-s-opportunity:before {
content: "\e7aa"
}
.el-icon-s-custom:before {
content: "\e7ab"
}
.el-icon-s-claim:before {
content: "\e7ad"
}
.el-icon-s-finance:before {
content: "\e7ae"
}
.el-icon-s-comment:before {
content: "\e7af"
}
.el-icon-s-flag:before {
content: "\e7b0"
}
.el-icon-s-marketing:before {
content: "\e7b1"
}
.el-icon-s-shop:before {
content: "\e7b4"
}
.el-icon-s-open:before {
content: "\e7b5"
}
.el-icon-s-management:before {
content: "\e7b6"
}
.el-icon-s-ticket:before {
content: "\e7b7"
}
.el-icon-s-release:before {
content: "\e7b8"
}
.el-icon-s-home:before {
content: "\e7b9"
}
.el-icon-s-promotion:before {
content: "\e7ba"
}
.el-icon-s-operation:before {
content: "\e7bb"
}
.el-icon-s-unfold:before {
content: "\e7bc"
}
.el-icon-s-fold:before {
content: "\e7a9"
}
.el-icon-s-platform:before {
content: "\e7bd"
}
.el-icon-s-order:before {
content: "\e7be"
}
.el-icon-s-cooperation:before {
content: "\e7bf"
}
.el-icon-bell:before {
content: "\e725"
}
.el-icon-message-solid:before {
content: "\e799"
}
.el-icon-video-camera:before {
content: "\e772"
}
.el-icon-video-camera-solid:before {
content: "\e796"
}
.el-icon-camera:before {
content: "\e779"
}
.el-icon-camera-solid:before {
content: "\e79b"
}
.el-icon-download:before {
content: "\e77c"
}
.el-icon-upload2:before {
content: "\e77b"
}
.el-icon-upload:before {
content: "\e7c3"
}
.el-icon-picture-outline-round:before {
content: "\e75f"
}
.el-icon-picture-outline:before {
content: "\e75e"
}
.el-icon-picture:before {
content: "\e79f"
}
.el-icon-close:before {
content: "\e6db"
}
.el-icon-check:before {
content: "\e6da"
}
.el-icon-plus:before {
content: "\e6d9"
}
.el-icon-minus:before {
content: "\e6d8"
}
.el-icon-help:before {
content: "\e73d"
}
.el-icon-s-help:before {
content: "\e7b3"
}
.el-icon-circle-close:before {
content: "\e78d"
}
.el-icon-circle-check:before {
content: "\e720"
}
.el-icon-circle-plus-outline:before {
content: "\e723"
}
.el-icon-remove-outline:before {
content: "\e722"
}
.el-icon-zoom-out:before {
content: "\e776"
}
.el-icon-zoom-in:before {
content: "\e777"
}
.el-icon-error:before {
content: "\e79d"
}
.el-icon-success:before {
content: "\e79c"
}
.el-icon-circle-plus:before {
content: "\e7a0"
}
.el-icon-remove:before {
content: "\e7a2"
}
.el-icon-info:before {
content: "\e7a1"
}
.el-icon-question:before {
content: "\e7a4"
}
.el-icon-warning-outline:before {
content: "\e6c9"
}
.el-icon-warning:before {
content: "\e7a3"
}
.el-icon-goods:before {
content: "\e7c2"
}
.el-icon-s-goods:before {
content: "\e7b2"
}
.el-icon-star-off:before {
content: "\e717"
}
.el-icon-star-on:before {
content: "\e797"
}
.el-icon-more-outline:before {
content: "\e6cc"
}
.el-icon-more:before {
content: "\e794"
}
.el-icon-phone-outline:before {
content: "\e6cb"
}
.el-icon-phone:before {
content: "\e795"
}
.el-icon-user:before {
content: "\e6e3"
}
.el-icon-user-solid:before {
content: "\e7a5"
}
.el-icon-setting:before {
content: "\e6ca"
}
.el-icon-s-tools:before {
content: "\e7ac"
}
.el-icon-delete:before {
content: "\e6d7"
}
.el-icon-delete-solid:before {
content: "\e7c9"
}
.el-icon-eleme:before {
content: "\e7c7"
}
.el-icon-platform-eleme:before {
content: "\e7ca"
}
.el-icon-loading {
-webkit-animation: rotating 2s linear infinite;
animation: rotating 2s linear infinite
}
.el-icon--right {
margin-left: 5px
}
.el-icon--left {
margin-right: 5px
}
@-webkit-keyframes rotating {
0% {
-webkit-transform: rotateZ(0);
transform: rotateZ(0)
}
100% {
-webkit-transform: rotateZ(360deg);
transform: rotateZ(360deg)
}
}
@keyframes rotating {
0% {
-webkit-transform: rotateZ(0);
transform: rotateZ(0)
}
100% {
-webkit-transform: rotateZ(360deg);
transform: rotateZ(360deg)
}
}
...@@ -79,29 +79,32 @@ ...@@ -79,29 +79,32 @@
</div> </div>
</div> </div>
<el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title="弹窗操作"> <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title="弹窗操作">
<el-form :model="formData" label-position="right" label-width="80px"> <el-form :model="formData" label-position="right" label-width="120px">
<el-form-item label="工单标题:">
<el-input v-model="formData.title" clearable placeholder="请输入"/>
</el-form-item>
<el-form-item label="巡检类型:">
<el-select v-model="formData.type" placeholder="请选择" style="width:100%" clearable>
<el-option v-for="(item,key) in partol_typeOptions" :key="key" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="巡检内容:"> <el-form-item label="巡检内容:">
<el-input v-model="formData.content" clearable placeholder="请输入"/> <!--<el-input v-model="formData.content" clearable placeholder="请输入"/>-->
</el-form-item> </el-form-item>
<el-form-item label="异常描述:"> <el-form-item label="巡检图片:">
<el-input v-model="formData.description" clearable placeholder="请输入"/> <new-upload v-if="dialogFormVisible" :limit="99" :list="formData.image?formData.image.split(','):[]" @upload="(file)=>formData.image = file.join(',')" :multiply="true"></new-upload>
</el-form-item> </el-form-item>
<el-form-item label="巡检图片多个逗号分隔:"> <el-form-item label="异常描述:">
<el-input v-model="formData.image" clearable placeholder="请输入"/> <el-input type="textarea" resize="none" v-model="formData.description" clearable placeholder="请输入"/>
</el-form-item> </el-form-item>
<el-form-item label="巡视人:"> <el-form-item label="巡视人:">
<el-input v-model="formData.partolName" clearable placeholder="请输入"/> <el-input v-model="formData.partolName" clearable placeholder="请输入"/>
</el-form-item> </el-form-item>
<el-form-item label="工单标题:">
<el-input v-model="formData.title" clearable placeholder="请输入"/>
</el-form-item>
<el-form-item label="巡检公厕:"> <el-form-item label="巡检公厕:">
<el-input v-model.number="formData.toiletId" clearable placeholder="请输入"/> <el-select v-model="formData.toiletId" placeholder="请选择" style="width:100%" clearable>
</el-form-item> <el-option v-for="(item,key) in toiletList" :key="key" :label="item.name"
<el-form-item label="巡检类型:"> :value="item.ID"/>
<el-select v-model="formData.type" placeholder="请选择" style="width:100%" clearable>
<el-option v-for="(item,key) in partol_typeOptions" :key="key" :label="item.label"
:value="item.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -130,7 +133,9 @@ ...@@ -130,7 +133,9 @@
findQshPartol, findQshPartol,
getQshPartolList getQshPartolList
} from '@/api/qshPartol' } from '@/api/qshPartol'
import {
getQshToiletList
} from '@/api/qshToilet'
// 全量引入格式化工具 请按需保留 // 全量引入格式化工具 请按需保留
import {getDictFunc, formatDate, formatBoolean, filterDict} from '@/utils/format' import {getDictFunc, formatDate, formatBoolean, filterDict} from '@/utils/format'
import {ElMessage, ElMessageBox} from 'element-plus' import {ElMessage, ElMessageBox} from 'element-plus'
...@@ -144,7 +149,7 @@ ...@@ -144,7 +149,7 @@
image: '', image: '',
partolName: '', partolName: '',
title: '', title: '',
toiletId: 0, toiletId: '',
type: undefined, type: undefined,
}) })
...@@ -153,6 +158,7 @@ ...@@ -153,6 +158,7 @@
const total = ref(0) const total = ref(0)
const pageSize = ref(10) const pageSize = ref(10)
const tableData = ref([]) const tableData = ref([])
const toiletList = ref([])
const searchInfo = ref({}) const searchInfo = ref({})
// 重置 // 重置
...@@ -192,6 +198,15 @@ ...@@ -192,6 +198,15 @@
getTableData() getTableData()
// 公厕列表查询
const getTableData_2 = async () => {
const table = await getQshToiletList({page: 1, pageSize: 99})
if (table.code === 0) {
toiletList.value = table.data.list
}
}
getTableData_2();
// ============== 表格控制部分结束 =============== // ============== 表格控制部分结束 ===============
// 获取需要的字典 可能为空 按需保留 // 获取需要的字典 可能为空 按需保留
...@@ -300,7 +315,7 @@ ...@@ -300,7 +315,7 @@
image: '', image: '',
partolName: '', partolName: '',
title: '', title: '',
toiletId: 0, toiletId: '',
type: undefined, type: undefined,
} }
} }
......
...@@ -55,8 +55,6 @@ ...@@ -55,8 +55,6 @@
<el-table-column align="left" label="经度" prop="lng" min-width="120"/> <el-table-column align="left" label="经度" prop="lng" min-width="120"/>
<el-table-column align="left" label="管理人员" prop="manager" min-width="120"/> <el-table-column align="left" label="管理人员" prop="manager" min-width="120"/>
<el-table-column align="left" label="管理员联系电话" prop="managerPhone" min-width="140"/> <el-table-column align="left" label="管理员联系电话" prop="managerPhone" min-width="140"/>
<el-table-column align="left" label="监控信息" prop="monitor" min-width="120"/>
<el-table-column align="left" label="创建时间" min-width="180"> <el-table-column align="left" label="创建时间" min-width="180">
<template #default="scope">{{ formatDate(scope.row.CreatedAt) }}</template> <template #default="scope">{{ formatDate(scope.row.CreatedAt) }}</template>
</el-table-column> </el-table-column>
...@@ -83,12 +81,24 @@ ...@@ -83,12 +81,24 @@
</div> </div>
</div> </div>
<el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title="弹窗操作"> <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title="弹窗操作">
<el-form :model="formData" label-position="right" label-width="80px"> <el-form :model="formData" label-position="right" label-width="120px">
<el-form-item label="点位名称:">
<el-input v-model="formData.name" clearable placeholder="请输入"/>
</el-form-item>
<el-form-item label="公厕类型:">
<el-select v-model="formData.type" placeholder="请选择" style="width:100%" clearable>
<el-option v-for="(item,key) in typeOptions" :key="key" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="公厕地址:"> <el-form-item label="公厕地址:">
<el-input v-model="formData.address" clearable placeholder="请输入"/> <el-input v-model="formData.address" clearable placeholder="请输入"/>
</el-form-item> </el-form-item>
<el-form-item label="点位图片:"> <el-form-item label="展示图片:">
<el-input v-model="formData.image" clearable placeholder="请输入"/> <new-upload v-if="dialogFormVisible" :list="[formData.showImage]" @upload="(file)=>formData.showImage = file[0]"></new-upload>
</el-form-item>
<el-form-item label="轮播图片:">
<new-upload v-if="dialogFormVisible" :limit="9" :list="formData.image?formData.image.split(','):[]" @upload="(file)=>formData.image = file.join(',')" :multiply="true"></new-upload>
</el-form-item> </el-form-item>
<el-form-item label="纬度:"> <el-form-item label="纬度:">
<el-input v-model="formData.lat" clearable placeholder="请输入"/> <el-input v-model="formData.lat" clearable placeholder="请输入"/>
...@@ -105,18 +115,6 @@ ...@@ -105,18 +115,6 @@
<el-form-item label="监控信息:"> <el-form-item label="监控信息:">
<el-input v-model="formData.monitor" clearable placeholder="请输入"/> <el-input v-model="formData.monitor" clearable placeholder="请输入"/>
</el-form-item> </el-form-item>
<el-form-item label="点位名称:">
<el-input v-model="formData.name" clearable placeholder="请输入"/>
</el-form-item>
<el-form-item label="展示图片:">
<el-input v-model="formData.showImage" clearable placeholder="请输入"/>
</el-form-item>
<el-form-item label="公厕类型:">
<el-select v-model="formData.type" placeholder="请选择" style="width:100%" clearable>
<el-option v-for="(item,key) in typeOptions" :key="key" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment