main
zhangqun 11 months ago
parent 20f08606a5
commit 82c1507012
  1. 14
      pages.json
  2. 401
      pages/index/detail.vue
  3. 38
      pages/index/index.vue
  4. 8
      pages/investigation/index.vue
  5. 6
      pages/knowledge/index.vue
  6. 80
      pages/map/index.vue

@ -31,8 +31,8 @@
"style": {
"navigationBarTitleText": "排查选择",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "#3567c1",
"navigationBarTextStyle": "white",
"enablePullDownRefresh": false
}
},
@ -40,9 +40,9 @@
"path": "pages/index/detail",
"style": {
"navigationBarTitleText": "智慧排查",
"navigationStyle": "custom",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#3567c1",
"navigationBarTextStyle": "white",
"enablePullDownRefresh": false
}
},
@ -127,8 +127,8 @@
"style": {
"navigationBarTitleText": "知识库",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#F6F8FA",
"navigationBarTextStyle": "black"
"navigationBarBackgroundColor": "#3567c1",
"navigationBarTextStyle": "white"
}
},
{

@ -1,12 +1,22 @@
<template>
<view class="detail">
<view class="Content BorderBox Width100">
<top-title :is-show-left="true" :title="'智能排查'" :rightWidth="40" class="custom_bg">
<!-- <view class="Content BorderBox Width100">
<top-title
:is-show-left="true"
:title="'智能排查'"
:rightWidth="40"
class="custom_bg"
>
<template slot="right">
<image :src="$.imgurl + '/knowledge.png'" mode="" class="knowledge" @click="goToKnowledge"></image>
<image
:src="$.imgurl + '/knowledge.png'"
mode=""
class="knowledge"
@click="goToKnowledge"
></image>
</template>
</top-title>
</view>
</view> -->
<!-- <headerNavBar title="智能排查" :isBack="true">
<template v-slot:right>
<image :src="$.imgurl + '/knowledge.png'" mode="" class="knowledge" @click="goToKnowledge"></image>
@ -15,29 +25,60 @@
<view class="stepBox">
<view class="step" v-for="(item, index) in tablist" :key="index">
<view class="stepItem">
<view :class="{'stepCircleActive': index <= active, 'stepCircle': index > active}">{{ index + 1 }}
<view
:class="{
stepCircleActive: index <= active,
stepCircle: index > active,
}"
>{{ index + 1 }}
</view>
<view class="stepText" :style="{'color': index <= active ? '#000000' : '#bcc3cd'}">{{ item.title }}
<view
class="stepText"
:style="{ color: index <= active ? '#000000' : '#bcc3cd' }"
>{{ item.title }}
</view>
</view>
<view v-if="index !== 3" class="circles">
<view :class="{'circleActive': index < active, 'circle': index >= active}" v-for="i in 8" :key="i">
<view
:class="{ circleActive: index < active, circle: index >= active }"
v-for="i in 8"
:key="i"
>
</view>
</view>
</view>
</view>
<scroll-view scroll-y="true" :scroll-top="scrollTop"
:style="{height: isExpanded ? 'calc(100% - 440rpx)' : 'calc(100% - 340rpx)'}" class="chatlist"
ref="scrollView" @click="clickContent">
<view :class="['bar', item.answerId == '0' ? 'currAnswer' : '']" v-for="(item,index) in msgList"
:key="item.id">
<image :src="item.answerId == '0' ? '/static/self.png' : '/static/left_user.png'" class="img" />
<scroll-view
scroll-y="true"
:scroll-top="scrollTop"
:style="{
height: isExpanded ? 'calc(100% - 350rpx)' : 'calc(100% - 250rpx)',
}"
class="chatlist"
ref="scrollView"
@click="clickContent"
>
<view
:class="['bar', item.answerId == '0' ? 'currAnswer' : '']"
v-for="(item, index) in msgList"
:key="item.id"
>
<image
:src="
item.answerId == '0' ? '/static/self.png' : '/static/left_user.png'
"
class="img"
/>
<view class="content">
<zeroMarkdownView :markdown="item.data" />
<!-- <ua-markdown :source="mdvalue" /> -->
<view class="btnBox">
<view class="btn" @click="handleBtn(text)" v-for="(text,index) in item.options">{{text}}</view>
<view
class="btn"
@click="handleBtn(text)"
v-for="(text, index) in item.options"
>{{ text }}</view
>
</view>
</view>
</view>
@ -47,40 +88,50 @@
<view class="bounce-dot"></view>
</view>
</scroll-view>
<view class="input-wrapper" :class="{ 'input-wrapper-expanded': isExpanded }">
<view
class="input-wrapper"
:class="{ 'input-wrapper-expanded': isExpanded }"
>
<view class="topContent">
<input class="uni-input" placeholder="请输入内容" :value="inputValue" @confirm="handleSend"
@input="onKeyInput" />
<uni-icons class="uni-icon" type="plus" size="30" @click="handlePlus"></uni-icons>
<input
class="uni-input"
placeholder="请输入内容"
:value="inputValue"
@confirm="handleSend"
@input="onKeyInput"
/>
<uni-icons
class="uni-icon"
type="plus"
size="30"
@click="handlePlus"
></uni-icons>
</view>
<view v-if="isExpanded" class="expanded">
<view @click="chooseImage" class="expandedItem">
<uni-icons class="camera-icon" type="image" size="28"></uni-icons>
<view>照片</view>
</view>
<view class="expandedItem" style="margin-top: 6px;">
<view class="expandedItem" style="margin-top: 6px">
<image src="../../static/video.png" class="video"></image>
<view>视频</view>
</view>
</view>
</view>
</view>
</template>
<script>
import AbortController from 'abort-controller/dist/abort-controller'
import AbortController from "abort-controller/dist/abort-controller";
import TopTitle from "../../components/top-title.vue";
// import headerNavBar from '../../components/headerNavBar/headerNavBar.vue'
import zeroMarkdownView from '../../components/zeroMarkdownView/zeroMarkdownView.vue'
import zeroMarkdownView from "../../components/zeroMarkdownView/zeroMarkdownView.vue";
// import {
// EventSourcePolyfill
// } from 'event-source-polyfill';
import $ from '../../common/globalJs/globalJs.js'
import {
fetchEventSource
} from '@microsoft/fetch-event-source'
import $ from "../../common/globalJs/globalJs.js";
import { fetchEventSource } from "@microsoft/fetch-event-source";
// import {
// baseUrl
// } from '../../utils/config.js';
@ -88,61 +139,54 @@
export default {
components: {
TopTitle,
zeroMarkdownView
zeroMarkdownView,
},
data() {
return {
active: 0,
tablist: [{
title: '信息确认'
tablist: [
{
title: "信息确认",
},
{
title: '排查指引'
}, {
title: '隐患补充'
}, {
title: '工单生成'
}
title: "排查指引",
},
{
title: "隐患补充",
},
{
title: "工单生成",
},
],
inputValue: '',
inputValue: "",
es: null,
msgList: [],
loading: true,
streamLoading: true,
scrollTop: 0,
title: '',
title: "",
isExpanded: false,
sessionId: '',
id: '',
allContent: '',
allContent: "",
params: {},
tabkey: 0,
}
};
},
onLoad() {
let params = {
sessionId: '12121212',
id: '12121212',
roadName: '金水路与合川路'
}
this.params = params
this.sessionId = params.sessionId
this.id = params.id
let str = '';
onLoad(options) {
let params = options;
this.params = params;
let str = "";
if (params.roadName) {
str += '路段名:' + params.roadName;
this.title = params.roadName + '智能排查';
str += "路段名:" + params.roadName;
this.title = params.roadName + "智能排查";
}
if (params.id) {
str += ',id:' + params.id; //params.id
str += ",id:" + params.id; //params.id
}
console.log(params)
console.log(params);
if (params.id == 12121212) {
this.queryChat("开始隐患排查," + str, );
this.queryChat("开始隐患排查," + str);
} else {
this.SSE("开始隐患排查," + str, '1')
this.SSE("开始隐患排查," + str, "1");
// if(this.msgListA.length==0){
// this.SSE("," + str, '1')
// }else{
@ -150,7 +194,6 @@
// this.scrollBottom();
// }
}
},
onUnload() {
if (this.es) {
@ -169,74 +212,77 @@
// }
// },
methods: {
// SSE
SSE(voiceText, answerId) {
const ctrl = new AbortController()
console.log(ctrl.signal)
fetchEventSource('http://219.147.31.25:30001/hitap/chat', {
method: 'POST',
const ctrl = new AbortController();
console.log(ctrl.signal);
fetchEventSource($.chatUrl + "/chat", {
method: "POST",
headers: {
'Content-Type': 'application/json',
Accept: ['text/event-stream', 'application/json'],
"Content-Type": "application/json",
Accept: ["text/event-stream", "application/json"],
},
body: JSON.stringify({
voiceText,
"sceneFlag": "",
"sessionId": this.sessionId,
"id": this.id,
"multiType": "",
"userId": "admin1",
"deptId": "3702000000",
"type": 1,
"stream": true,
sceneFlag: "",
sessionId: "",
multiType: "",
userId: this.params.userId,
deptId: this.params.deptId,
stream: true,
type: 1,
id: this.params.id,
taskId: this.params.taskId,
sectionId: this.params.sectionId,
sectionType: this.params.sectionType,
}),
signal: ctrl.signal,
openWhenHidden: true,
onopen: () => {},
onmessage: (ev) => {
console.log(ev)
this.loading = true
console.log(ev);
this.loading = true;
const res = JSON.parse(ev.data);
if (res?.code == 200 && res.result) {
console.log(res.result.data.tabkey);
console.log(res.result.data);
this.tabkey = res.result.data.tabkey
this.tabkey = res.result.data.tabkey;
if (this.tabkey - 1 != this.active) {
this.active = this.tabkey - 1 > 0 ? this.tabkey - 1 : 0;
}
if (this.msgList.length == 0) {
this.msgList = [{
this.msgList = [
{
answerId,
data: res.result.data.content
}]
data: res.result.data.content,
},
];
} else {
// debugger
//
if (this.msgList[this.msgList.length - 1].answerId == '1') {
if (this.msgList[this.msgList.length - 1].answerId == "1") {
//
this.msgList[this.msgList.length - 1].data += res.result.data.content
this.msgList[this.msgList.length - 1].data +=
res.result.data.content;
} else {
//
this.msgList = [...this.msgList, {
answerId: '1',
data: res.result.data.content
}]
this.msgList = [
...this.msgList,
{
answerId: "1",
data: res.result.data.content,
},
];
}
}
// debugger
this.scrollBottom();
}
},
onclose: () => {
console.log(1111)
console.log(1111);
this.loading = false;
if (this.isExpanded) {
@ -247,7 +293,7 @@
console.log("error", error);
throw error;
},
})
});
},
async queryChat(voiceText) {
@ -255,44 +301,44 @@
this.loading = true;
const [err, res] = await uni.request({
// url: 'http://10.16.3.159:8777/api/local_doc_qa/local_doc_chat',
url: $.chatUrl+'/chat',
dataType: 'json',
method: 'POST',
url: $.chatUrl + "/chat",
dataType: "json",
method: "POST",
// responseType: 'arraybuffer',
headers: {
// 'Accept': 'text/event-stream',
'content-type': 'application/json'
"content-type": "application/json",
},
data: {
voiceText,
"sceneFlag": "",
"sessionId": this.sessionId,
"id": this.id,
"multiType": "",
"userId": "admin1",
"deptId": "3702000000",
"type": 1,
"stream": false,
sceneFlag: "",
sessionId: this.sessionId,
id: this.id,
multiType: "",
userId: "admin1",
deptId: "3702000000",
type: 1,
stream: false,
// "user_id": "zzp",
// "kb_ids": ["KBa80ea15e786241eca70a20f136f4e34c"],
// "question": "",
// "streaming": true,
// "history": []
}
},
});
if (res && res.data && res.data.code == 200) {
// console.log('request success', res.data)
const {
result = {}
} = res.data;
const {
data = {}
} = result;
const { result = {} } = res.data;
const { data = {} } = result;
if (data.tabkey - 1 != this.active) {
this.active = data.tabkey - 1 > 0 ? data.tabkey - 1 : 0;
}
if (data.content) {
this.changeMsgList(data.answerId || '1', data.content, data.answerOptions);
this.changeMsgList(
data.answerId || "1",
data.content,
data.answerOptions
);
}
this.loading = false;
if (this.isExpanded) {
@ -300,23 +346,23 @@
}
} else {
if (err) {
console.log('request fail', err.errMsg);
console.log("request fail", err.errMsg);
}
uni.showToast({
title: "查询失败",
icon: "error",
duration: 2000
})
duration: 2000,
});
}
},
//
onKeyInput(event) {
this.inputValue = event.detail.value
this.inputValue = event.detail.value;
},
addQuestion(q, answerId) {
const newQuestion = {
answerId,
data: q
data: q,
};
this.msgList.push(newQuestion); //
// this.$store.commit('setMSg_List', this.msgList);
@ -324,10 +370,14 @@
},
scrollBottom() {
this.$nextTick(() => {
const height = this.$refs.scrollView && this.$refs.scrollView.$refs && this.$refs
.scrollView.$refs.content ? this.$refs.scrollView.$refs.content.scrollHeight : 0;
const height =
this.$refs.scrollView &&
this.$refs.scrollView.$refs &&
this.$refs.scrollView.$refs.content
? this.$refs.scrollView.$refs.content.scrollHeight
: 0;
this.scrollTop = height;
})
});
},
//
handleSend(text) {
@ -335,21 +385,20 @@
uni.showToast({
title: "请输入内容",
icon: "closeempty",
duration: 2000
})
duration: 2000,
});
}
if (text || this.inputValue) {
if (this.params.id == 12121212) {
this.changeMsgList('0', this.inputValue || text);
this.changeMsgList("0", this.inputValue || text);
this.queryChat(this.inputValue || text);
this.scrollBottom()
this.scrollBottom();
} else {
this.addQuestion(this.inputValue || text, '0')
this.SSE(this.inputValue || text, '0');
this.addQuestion(this.inputValue || text, "0");
this.SSE(this.inputValue || text, "0");
}
this.inputValue = '';
this.inputValue = "";
}
},
//
changeMsgList(answerId, data, answerOptions) {
@ -357,45 +406,59 @@
if (this.msgList.length > 0) {
id = this.msgList[this.msgList.length - 1].id + 1;
}
if (answerId == '1') { //
let newdata = '';
if (answerId == "1") {
//
let newdata = "";
let index = 0;
const timer = setInterval(() => {
console.log(this.msgList);
newdata = newdata += data[index]
if (this.msgList?.filter(item => (item.id == id)).length == 0) {
this.msgList = [...this.msgList, {
newdata = newdata += data[index];
if (this.msgList?.filter((item) => item.id == id).length == 0) {
this.msgList = [
...this.msgList,
{
id,
answerId,
data: newdata,
// options: answerOptions // ['西','','','西'] answerOptions
}];
},
];
} else {
this.msgList[this.msgList.length - 1].data = newdata;
}
index += 1;
this.$nextTick(() => {
const height = this.$refs.scrollView && this.$refs.scrollView.$refs && this
.$refs.scrollView.$refs.content ? this.$refs.scrollView.$refs.content
.scrollHeight : 0;
const height =
this.$refs.scrollView &&
this.$refs.scrollView.$refs &&
this.$refs.scrollView.$refs.content
? this.$refs.scrollView.$refs.content.scrollHeight
: 0;
this.scrollTop = height;
})
});
if (newdata == data) {
this.msgList[this.msgList.length - 1].options = answerOptions;
clearInterval(timer);
}
}, 50)
}, 50);
} else {
this.msgList = [...this.msgList, {
this.msgList = [
...this.msgList,
{
id,
answerId,
data,
}];
},
];
this.$nextTick(() => {
const height = this.$refs.scrollView && this.$refs.scrollView.$refs && this.$refs
.scrollView.$refs.content ? this.$refs.scrollView.$refs.content.scrollHeight : 0;
const height =
this.$refs.scrollView &&
this.$refs.scrollView.$refs &&
this.$refs.scrollView.$refs.content
? this.$refs.scrollView.$refs.content.scrollHeight
: 0;
this.scrollTop = height;
})
});
}
},
@ -404,8 +467,7 @@
},
//
handleBtn(text) {
this.handleSend(text)
this.handleSend(text);
},
clickContent() {
if (this.isExpanded) {
@ -414,36 +476,36 @@
},
goToKnowledge() {
uni.navigateTo({
url: '/pages/home/knowledge'
url: "/pages/home/knowledge",
// url: `/pages/home/knowledge?params=${encodeURIComponent(JSON.stringify(this.$route.query.params))}`
})
});
},
//
chooseImage() {
uni.chooseImage({
count: 6, //9
sizeType: ['original', 'compressed'], //
sourceType: ['album'], //
sizeType: ["original", "compressed"], //
sourceType: ["album"], //
success: (res) => {
if (res.tempFilePaths && res.tempFilePaths.length) {
let str = '';
let str = "";
for (let i = 0; i < res.tempFilePaths.length; i++) {
str += `![图${i + 1}](${res.tempFilePaths[i]})`;
}
if (this.id == 12121212) {
this.changeMsgList('0', str);
this.changeMsgList("0", str);
this.queryChat(res.tempFilePaths);
} else {
this.addQuestion(str, '0')
this.SSE(res.tempFilePaths, '0');
}
this.addQuestion(str, "0");
this.SSE(res.tempFilePaths, "0");
}
}
},
});
}
}
}
},
},
};
</script>
<style scoped lang="scss">
@ -461,7 +523,7 @@
.stepBox {
width: 100%;
// height: 150rpx;
padding-top: 110rpx ;
margin-top: 10rpx;
display: flex;
justify-content: center;
align-items: center;
@ -526,13 +588,12 @@
color: #bcc3cd;
}
}
}
.chatlist {
width: 96%;
margin: auto;
height: calc(100% - 340rpx);
// height: calc(100% - 340rpx);
background-color: #f0f2f7;
.bar {
@ -573,7 +634,7 @@
background-color: #ffffff;
._img {
max-width: 80%
max-width: 80%;
}
}
@ -584,7 +645,6 @@
background-color: #cce0ff;
}
}
}
}
@ -594,7 +654,7 @@
margin: 20rpx auto 0 auto;
height: 80rpx;
flex-direction: column;
background-color: #FFFFFF;
background-color: #ffffff;
box-sizing: border-box;
border-top: 1px solid #e2e4e9;
bottom: 1px solid #e2e4e9;
@ -618,20 +678,18 @@
justify-content: space-between;
.camera-icon {
margin-top: 5px
margin-top: 5px;
}
}
.video {
width: 60rpx;
height: 60rpx;
}
}
}
.input-wrapper-expanded {
height: 200rpx;
}
@ -681,7 +739,6 @@
}
@keyframes bounce {
0%,
80%,
100% {

@ -1,12 +1,16 @@
<template>
<view id="page">
<view style="
position: sticky;
top: 0;
z-index: 999;">
<view class="header Box">
<view class="title">道路交通安全隐患</view>
<view class="title">排查助手</view>
<view class="desc">洞察隐患 智能守护 科技之眼照亮安全之路</view>
<view class="total Flex Flex_C_S-B PositionR">
<view class="left Flex">
<view class="info" @click="jump">
<view class="info" @click="jump(1)">
<view class="name">待办</view>
<view class="number">{{ totalData.UnderInvestigation }}</view>
</view>
@ -29,7 +33,7 @@
<text class="name">本月上报</text>
<text class="number">{{ totalData.MonthReport }}</text>
</view>
<view class="finish Flex Flex_C_S-B blur">
<view class="finish Flex Flex_C_S-B blur" @click="jump(2)">
<image style="width: 80rpx" mode="widthFix" :src="$.imgSrc + '/finish.png'" class="video">
</image>
<text class="name">已完成</text>
@ -48,6 +52,7 @@
</view>
</view>
</view>
</view>
<view class="Width100 Box BorderBox">
<view class="list_title">待办任务</view>
<view class="Content MarginAuto BorderBox">
@ -107,7 +112,13 @@
},
//
onLoad(e) {
// this.getData()
// this.getList()
},
onShow(e) {
this.getData()
this.list = []
this.page = 1
this.getList()
},
//
@ -157,7 +168,7 @@
},
handleClick(row) {
console.log(row)
this.$.open('/pages/map/index?businessId=' + row.businessId)
this.$.open('/pages/map/index?businessId=' + row.businessId + '&sectionId='+row.sectionCode + '&deptId=' +row.deptId + '&taskName=' + row.name)
},
konw() {
this.$.open('/pages/knowledge/index')
@ -166,8 +177,14 @@
skipPage(even) {
// this.$.open(even)
},
jump() {
this.$.setData('pageStatus','1')
jump(v) {
if(v == 1) {
this.$.setData('pageStatus',1)
}
if(v == 2) {
this.$.setData('pageStatus',3)
}
this.$.openTab('/pages/investigation/index')
}
},
@ -206,7 +223,6 @@
height: 500rpx;
color: #FFFFFF;
padding: calc(var(--status-bar-height) + 40rpx) 20rpx 20rpx;
.title {
font-family: Tensentype MeiHeiJ, Tensentype MeiHeiJ;
font-weight: bold;
@ -346,10 +362,14 @@
.list_title {
font-size: 20px;
background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
border-radius: 24px 24px 0px 0px;
// background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
background: #f8fafb;
// border-radius: 24px 24px 0px 0px;
padding: 20rpx 30rpx 0;
font-family: Source Han Sans CN, Source Han Sans CN;
position: sticky;
top: 418px;
z-index: 99;
}
.Box {
@ -411,7 +431,7 @@
background-size: 100% 100%;
display: flex;
align-items: center;
background: #f8fafb;
.bg {
position: absolute;
top: 0;

@ -89,12 +89,18 @@
this.getList()
},
onShow: function() {
onShow() {
this.getData()
let pageStatus = this.$.getData('pageStatus')
console.log(pageStatus)
if(pageStatus == 1){
this.handleTabClick(1)
this.$.setData('pageStatus','0')
} else if(pageStatus == 3) {
this.handleTabClick(3)
this.$.setData('pageStatus','0')
} else {
this.handleTabClick(1)
}
},
//

@ -105,8 +105,8 @@ import zeroMarkdownView from '../../components/zeroMarkdownView/zeroMarkdownView
// params = JSON.parse(decodeURIComponent(this.$route.query.params))
// this.sessionId = params.sessionId
// this.id = '37020017407'
this.sessionId = '12121212'
this.id = '12121212'
this.sessionId = '37020000000'
this.id = '37020017407'
// console.log(params.roadName,"5555");
let str = '';
if (params.roadName) {
@ -129,7 +129,7 @@ import zeroMarkdownView from '../../components/zeroMarkdownView/zeroMarkdownView
this.loading = true;
const [err, res] = await uni.request({
// url: 'http://10.16.3.159:8777/api/local_doc_qa/local_doc_chat',
url: 'http://219.147.31.25:30001/hitap/chat',
url: this.$.chatUrl+'/chat',
dataType: 'json',
method: 'POST',
// responseType: 'arraybuffer',

@ -20,7 +20,12 @@
<view class="status" v-if="pageType1Result.deadlineType == 2">延期</view>
<!-- <view class="status" v-if="pageType1Result.deadlineType == 3">正常</view> -->
<view class="top">
<image src="/static/logo.png" mode="" style="width: 120px;height: 90px;" class="mimg"></image>
<image
src="/static/logo.png"
mode=""
style="width: 120px; height: 90px"
class="mimg"
></image>
<view class="font">
<view class="tit">{{ pageType1Result.name }}</view>
<view class="desc">
@ -137,19 +142,30 @@
/>
</view>
</view>
<view class="btn-box" :style="ftype == 1 ? 'margin-top: 18px' : 'margin-top: 80px'">
<view
class="btn-box"
:style="ftype == 1 ? 'margin-top: 18px' : 'margin-top: 80px'"
>
<view @click="onJump(3)" class="btn btn6"> 取消 </view>
<view @click="handleSubmit" class="btn btn7"> 确定 </view>
</view>
</view>
<u-modal :show="show" content="新增成功" confirm-text="人工排查" cancel-text="智能排查" :showConfirmButton='true'
:showCancelButton='true' @confirm="handleCheck(2)" @cancel="handleCheck(1)"
:closeOnClickOverlay="false"></u-modal>
<u-modal
:show="show"
content="新增成功"
confirm-text="人工排查"
cancel-text="智能排查"
:showConfirmButton="true"
:showCancelButton="true"
@confirm="handleCheck(2)"
@cancel="handleCheck(1)"
:closeOnClickOverlay="false"
></u-modal>
</view>
</template>
<script>
import TopTitle from "../../components/top-title.vue";
import {wgs84LL2gcjLL2} from './c.js';
import { wgs84LL2gcjLL2 } from "./c.js";
export default {
components: { TopTitle },
data() {
@ -166,11 +182,14 @@ export default {
max: 0,
polyline: [],
pageType: 1,
ftype: '1',
ftype: "1",
faddress: "",
fcoordinate: "",
businessId: "",
pageType1Result: null,
pageType1Result: {
deadlineType: 3,
},
pageType2Result: null,
rname: "",
search: "",
name1: "",
@ -321,6 +340,7 @@ export default {
console.log(res);
if (res.code === 200) {
this.data = res.result;
this.pageType2Result = this.data[0]
this.rname = this.data[0].name;
this.polyline = [
{
@ -352,13 +372,42 @@ export default {
// this.data = this.data.concat(data);
},
handleCheck(v) {
this.show = false
let url = v == 1 ? "/pages/index/detail" : "/pages/investigation/task";
this.$.open(url + "?id=" + this.businessId);
this.show = false;
if (v == 1) {
let json = this.pageType == 1 ? this.pageType1Result : this.pageType2Result;
// let json = {
// name: "023",
// operator: "admin1",
// deptId: "3702000000",
// sectionCode: "37020017609",
// businessId: "000001",
// pointType: '1'
// };
this.$.open(
"/pages/index/detail?taskId=" +
json.businessId +
"&id=" +
json.sectionCode +
"&sectionId=" +
json.sectionCode +
"&roadName=" +
json.name +
"&userId=" +
json.operator +
"&deptId=" +
json.deptId +
"&sectionType=" +
json.pointType
);
}
if (v == 2) {
this.$.open("/pages/investigation/task" + "?id=" + this.businessId);
}
// this.$.open(url + "?id=" + 'RX202310210236');
},
handleSubmit() {
let address = ''
let address = "";
if (this.ftype == 1) {
address = `${this.name1}${this.name2}-${this.name3}`;
} else {
@ -401,6 +450,7 @@ export default {
onList(e, i) {
this.pageType = 2;
this.idx = i;
this.pageType2Result = e
if (e && e.name && e.position) {
this.rname = e.name;
this.polyline = [
@ -432,13 +482,13 @@ export default {
},
//
getLocationInfo() {
console.log('getLocationInfo')
console.log("getLocationInfo");
uni.getLocation({
type: "wgs84",
success: (res) => {
console.log(res);
const coord = wgs84LL2gcjLL2(res.longitude, res.latitude)
console.log(coord)
const coord = wgs84LL2gcjLL2(res.longitude, res.latitude);
console.log(coord);
this.longitude = coord[0]; //118.787575;
this.latitude = coord[1]; //32.05024;
// this.longitude = 120.38771;

Loading…
Cancel
Save