1.查看安全环保检查视频
							parent
							
								
									04fdcb9a96
								
							
						
					
					
						commit
						beeb53f40e
					
				| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
import {post, upload, uploads} from "../utils/request";
 | 
					import {post, upload, uploads,videoApiGet} from "../utils/request";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const submitLogin = (params) => post("/admin/check", params) // 登录
 | 
					export const submitLogin = (params) => post("/admin/check", params) // 登录
 | 
				
			||||||
export const getHotWorkListByState = (params) => post("/app/hotworkapplication/list", params)//获取动火列表
 | 
					export const getHotWorkListByState = (params) => post("/app/hotworkapplication/list", params)//获取动火列表
 | 
				
			||||||
| 
						 | 
					@ -143,4 +143,8 @@ export const getEvaluationList = (params) => post("/app/hidden/evaluation/evalua
 | 
				
			||||||
export const goEvaluationEdit = (params) => post("/app/hidden/evaluation/goEvaluationEdit", params); // 分公司隐患考评编辑
 | 
					export const goEvaluationEdit = (params) => post("/app/hidden/evaluation/goEvaluationEdit", params); // 分公司隐患考评编辑
 | 
				
			||||||
export const evaluationAddRecord = (params) => post("/app/hidden/evaluation/evaluationAddRecord", params); // 分公司隐患考评编辑
 | 
					export const evaluationAddRecord = (params) => post("/app/hidden/evaluation/evaluationAddRecord", params); // 分公司隐患考评编辑
 | 
				
			||||||
export const findHiddenDetailMessage = (params) => post("/app/hidden/evaluation/findHiddenDetailMessage", params); // 此处使用修改隐患接口来查询隐患的详细信息
 | 
					export const findHiddenDetailMessage = (params) => post("/app/hidden/evaluation/findHiddenDetailMessage", params); // 此处使用修改隐患接口来查询隐患的详细信息
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const getKeyProjectsVideoList = (params) => post("/app/keyProjects/videomanagerList", params); // 获取重点工程的视频列表
 | 
				
			||||||
 | 
					export const loginVideoPlat = (params) => videoApiGet("/api/v1/login", params); // 登录视频监控平台
 | 
				
			||||||
 | 
					export const getPlatVideoPlay = (params) => videoApiGet("/api/v1/stream/start", params); // 获取视频监控平台播放地址
 | 
				
			||||||
// 结束
 | 
					// 结束
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										24
									
								
								pages.json
								
								
								
								
							
							
						
						
									
										24
									
								
								pages.json
								
								
								
								
							| 
						 | 
					@ -482,6 +482,30 @@
 | 
				
			||||||
	    "navigationBarTitleText": "安全环保检查发起"
 | 
						    "navigationBarTitleText": "安全环保检查发起"
 | 
				
			||||||
	  }
 | 
						  }
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "path": "pages/key-project-management/positioning_management/index",
 | 
				
			||||||
 | 
					      "style": {
 | 
				
			||||||
 | 
					        "navigationBarTitleText": "重点工程管理"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "path": "pages/key-project-management/positioning_management/keyProjectApply",
 | 
				
			||||||
 | 
					      "style": {
 | 
				
			||||||
 | 
					        "navigationBarTitleText": "重点工程信息"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "path": "pages/key-project-management/positioning_management/list",
 | 
				
			||||||
 | 
					      "style": {
 | 
				
			||||||
 | 
					        "navigationBarTitleText": "视频列表"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "path": "pages/key-project-management/positioning_management/videoView",
 | 
				
			||||||
 | 
					      "style": {
 | 
				
			||||||
 | 
					        "navigationBarTitleText": "播放视频"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
	  "path": "pages/key-project-management/hidden-management/list",
 | 
						  "path": "pages/key-project-management/hidden-management/list",
 | 
				
			||||||
	  "style": {
 | 
						  "style": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,11 @@
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		onShow(event) {
 | 
							onShow(event) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			this.baseList = [{
 | 
								this.baseList = [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: '重点工程管理',
 | 
				
			||||||
 | 
					          url: '/pages/key-project-management/positioning_management/index'+ '?CORPINFO_ID='+this.CORPINFO_ID,
 | 
				
			||||||
 | 
					        },{
 | 
				
			||||||
					title: '安全环保检查管理',
 | 
										title: '安全环保检查管理',
 | 
				
			||||||
					url: '/pages/key-project-management/safety-environmental-inspection/list'+ '?CORPINFO_ID='+this.CORPINFO_ID,
 | 
										url: '/pages/key-project-management/safety-environmental-inspection/list'+ '?CORPINFO_ID='+this.CORPINFO_ID,
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
| 
						 | 
					@ -59,7 +63,7 @@
 | 
				
			||||||
				uni.$u.route({
 | 
									uni.$u.route({
 | 
				
			||||||
					CORPINFO_ID:this.CORPINFO_ID,
 | 
										CORPINFO_ID:this.CORPINFO_ID,
 | 
				
			||||||
					url: this.baseList[e].url+'?CORPINFO_ID'+this.CORPINFO_ID
 | 
										url: this.baseList[e].url+'?CORPINFO_ID'+this.CORPINFO_ID
 | 
				
			||||||
					
 | 
					
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			async getData() {
 | 
								async getData() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,132 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <view class="content">
 | 
				
			||||||
 | 
					    <u-search placeholder="请输入搜索关键词" v-model="KEYWORDS" @custom="fnSearchList" @clear="fnSearchList" @search="fnSearchList"></u-search>
 | 
				
			||||||
 | 
					    <u-list @scrolltolower="scrolltolower" v-if="list.length > 0">
 | 
				
			||||||
 | 
					      <u-list-item v-for="(item, index) in list" :key="index">
 | 
				
			||||||
 | 
					        <view class="flex-between main-title" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
					          <text>{{ item.OUTSOURCED_NAME }}</text>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
								<view v-show="item.IS_CORP_TYPE== '1'" class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
								  <text>
 | 
				
			||||||
 | 
									主管部门:{{ item.Q_COMPETENT_DEPT_NAME }}
 | 
				
			||||||
 | 
								  </text>
 | 
				
			||||||
 | 
								</view>
 | 
				
			||||||
 | 
					            <view v-show="item.IS_CORP_TYPE== '1'" class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
					              <text>
 | 
				
			||||||
 | 
					                监督部门:{{ item.DEPARTMENT_NAME }}
 | 
				
			||||||
 | 
					              </text>
 | 
				
			||||||
 | 
					            </view>
 | 
				
			||||||
 | 
								<view v-show="item.IS_CORP_TYPE== '0'" class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
								  <text>
 | 
				
			||||||
 | 
									主管部门:{{ item.MANAGER_DEPARTMENT_NAME }}
 | 
				
			||||||
 | 
								  </text>
 | 
				
			||||||
 | 
								</view>
 | 
				
			||||||
 | 
								<view v-show="item.IS_CORP_TYPE== '0'" class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
								  <text>
 | 
				
			||||||
 | 
								    监管部门:{{ item.DEPARTMENT_NAME }}
 | 
				
			||||||
 | 
								  </text>
 | 
				
			||||||
 | 
								</view>
 | 
				
			||||||
 | 
					        <view class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
					          <text>相关方单位负责人:{{ item.UNITS_PIC_NAME }}</text>
 | 
				
			||||||
 | 
					          <text>电话:{{ item.UNITS_PHONE }}</text>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
					        <view class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
					          <text>定位坐标:{{ item.WORK_LONGITUDE?item.WORK_LONGITUDE+'*'+item.WORK_LATITUDE: ''}}</text>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
							<view class="flex-between mt-10 subtitle" @click="fnKeyProjectApply(item.OUTSOURCED_ID)">
 | 
				
			||||||
 | 
							  <text>状态:{{ item.STATE == '-1'?'开工申请中':item.STATE == '-2'?'结束申请中': item.STATE == '0'?'未开工': item.STATE == '1'?'进行中': '已结束'}}</text>
 | 
				
			||||||
 | 
							</view>
 | 
				
			||||||
 | 
							<view class="flex-end">
 | 
				
			||||||
 | 
								<view class="flex-between">
 | 
				
			||||||
 | 
											  <u-button
 | 
				
			||||||
 | 
											      size="mini"
 | 
				
			||||||
 | 
											      round
 | 
				
			||||||
 | 
											      type="primary"
 | 
				
			||||||
 | 
											      class="bth-mini"
 | 
				
			||||||
 | 
											      text="查看"
 | 
				
			||||||
 | 
											      @click="fnKeyProjectApply(item.OUTSOURCED_ID)"
 | 
				
			||||||
 | 
											  />
 | 
				
			||||||
 | 
											  <u-button style="margin-left: 20upx;"
 | 
				
			||||||
 | 
											      size="mini"
 | 
				
			||||||
 | 
											      round
 | 
				
			||||||
 | 
											      type="primary"
 | 
				
			||||||
 | 
											      class="bth-mini"
 | 
				
			||||||
 | 
											      text="播放"
 | 
				
			||||||
 | 
											      @click="fnView(item.OUTSOURCED_ID)"
 | 
				
			||||||
 | 
											  />
 | 
				
			||||||
 | 
								</view>
 | 
				
			||||||
 | 
							</view>
 | 
				
			||||||
 | 
					      </u-list-item>
 | 
				
			||||||
 | 
					    </u-list>
 | 
				
			||||||
 | 
					    <empty v-else></empty>
 | 
				
			||||||
 | 
					  </view>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import {getKeyProjectsListOutsourced} from "@/api";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      KEYWORDS: '',
 | 
				
			||||||
 | 
					      list: [],
 | 
				
			||||||
 | 
					      pageSize: 10,
 | 
				
			||||||
 | 
					      currentPage: 1,
 | 
				
			||||||
 | 
					      totalPage: 0,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onLoad(e) {
 | 
				
			||||||
 | 
					  	this.CORPINFO_ID = e.CORPINFO_ID
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onShow() {
 | 
				
			||||||
 | 
					    this.fnSearchList()
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  computed: {
 | 
				
			||||||
 | 
					    userInfo() {
 | 
				
			||||||
 | 
					      return this.$store.getters.getUserInfo
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    async fnGetData() {
 | 
				
			||||||
 | 
					      const resData = await getKeyProjectsListOutsourced({
 | 
				
			||||||
 | 
					       KEYWORDS: this.KEYWORDS,
 | 
				
			||||||
 | 
					       showCount: this.pageSize,
 | 
				
			||||||
 | 
					       currentPage: this.currentPage,
 | 
				
			||||||
 | 
					       CORPINFO_ID: this.CORPINFO_ID,
 | 
				
			||||||
 | 
					       UserId: this.userInfo.USER_ID,
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      this.list = [...this.list, ...resData.varList];
 | 
				
			||||||
 | 
					      this.totalPage = resData.page.totalPage;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    scrolltolower() {
 | 
				
			||||||
 | 
					      this.currentPage++;
 | 
				
			||||||
 | 
					      if(this.totalPage >= this.currentPage) this.fnGetData();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    fnSearchList(){
 | 
				
			||||||
 | 
					      this.pageSize = 10;
 | 
				
			||||||
 | 
					      this.currentPage = 1;
 | 
				
			||||||
 | 
					      this.list = [];
 | 
				
			||||||
 | 
					      this.fnGetData();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    fnView(OUTSOURCED_ID){
 | 
				
			||||||
 | 
					      uni.$u.route({
 | 
				
			||||||
 | 
					        url: '/pages/key-project-management/positioning_management/list',
 | 
				
			||||||
 | 
					        params:{
 | 
				
			||||||
 | 
					          OUTSOURCED_ID
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
						fnKeyProjectApply(OUTSOURCED_ID){
 | 
				
			||||||
 | 
						  uni.$u.route({
 | 
				
			||||||
 | 
						    url: '/pages/key-project-management/positioning_management/keyProjectApply',
 | 
				
			||||||
 | 
						    params:{
 | 
				
			||||||
 | 
						      OUTSOURCED_ID
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
						  })
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,145 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <view class="content">
 | 
				
			||||||
 | 
					    <u-cell-group>
 | 
				
			||||||
 | 
					      <u-cell title="重点工程名称" :value="info.OUTSOURCED_NAME"/>
 | 
				
			||||||
 | 
					      <u-cell title="计划工期" :value="info.STARTTIME+ '至'+ info.ENDTIME"/>
 | 
				
			||||||
 | 
					      <u-cell title="合同号" :value="info.CONTRACT_NUM"/>
 | 
				
			||||||
 | 
					      <u-cell title="施工相关方" :value="info.UNITS_NAME"/>
 | 
				
			||||||
 | 
					      <u-cell title="相关方单位工程负责人" :value="info.UNITS_PIC_NAME"/>
 | 
				
			||||||
 | 
					      <u-cell title="相关方单位负责人手机" :value="info.UNITS_PHONE"/>
 | 
				
			||||||
 | 
						 <u-cell title="经度" v-show="WORK_LONGITUDE" :value="WORK_LONGITUDE"/>
 | 
				
			||||||
 | 
						 <u-cell title="纬度" v-show="WORK_LATITUDE" :value="WORK_LATITUDE"/>
 | 
				
			||||||
 | 
					    </u-cell-group>
 | 
				
			||||||
 | 
						<view class="button">
 | 
				
			||||||
 | 
						  <u-button
 | 
				
			||||||
 | 
						      v-if="info.STATE==='-1'&& anniuShow"
 | 
				
			||||||
 | 
						      type="success"
 | 
				
			||||||
 | 
						      @click="fnUpdateStateKeyProject('1')"
 | 
				
			||||||
 | 
						      size="small"
 | 
				
			||||||
 | 
						      text="工程开始"
 | 
				
			||||||
 | 
						  />
 | 
				
			||||||
 | 
						  <u-button
 | 
				
			||||||
 | 
							  v-if="info.STATE==='-2'&& anniuShow"
 | 
				
			||||||
 | 
						      type="error"
 | 
				
			||||||
 | 
						      @click="fnUpdateStateKeyProject('2')"
 | 
				
			||||||
 | 
						      size="small"
 | 
				
			||||||
 | 
						      text="工程结束"
 | 
				
			||||||
 | 
						  />
 | 
				
			||||||
 | 
						  <u-button
 | 
				
			||||||
 | 
						      @click="fnBack"
 | 
				
			||||||
 | 
						      size="small"
 | 
				
			||||||
 | 
						      text="返回"
 | 
				
			||||||
 | 
						  />
 | 
				
			||||||
 | 
						</view>
 | 
				
			||||||
 | 
					  </view>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import {getKeyProjectsView,setKeyProjectsState} from "@/api"
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      OUTSOURCED_ID: '',
 | 
				
			||||||
 | 
					      KEYPROJECTCHECK_ID: '',
 | 
				
			||||||
 | 
					      type: '',
 | 
				
			||||||
 | 
					      info: {},
 | 
				
			||||||
 | 
						  WORK_LONGITUDE: '', //经度
 | 
				
			||||||
 | 
						  WORK_LATITUDE: '', //纬度
 | 
				
			||||||
 | 
					      hiddenData: {},
 | 
				
			||||||
 | 
					      popupShow: false,
 | 
				
			||||||
 | 
					      videoShow: false,
 | 
				
			||||||
 | 
					      videoSrc: '',
 | 
				
			||||||
 | 
						  anniuShow: false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  computed: {
 | 
				
			||||||
 | 
					    userInfo() {
 | 
				
			||||||
 | 
					      return this.$store.getters.getUserInfo
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onLoad(options) {
 | 
				
			||||||
 | 
					    this.OUTSOURCED_ID = options.OUTSOURCED_ID
 | 
				
			||||||
 | 
					    this.fnGetData()
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    async fnGetData() {
 | 
				
			||||||
 | 
							//获取重点工程详细信息
 | 
				
			||||||
 | 
					      const resData = await getKeyProjectsView({
 | 
				
			||||||
 | 
					        OUTSOURCED_ID: this.OUTSOURCED_ID,
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      this.info = resData.pd;
 | 
				
			||||||
 | 
						  this.WORK_LONGITUDE = this.info.WORK_LONGITUDE; //经度
 | 
				
			||||||
 | 
						  this.WORK_LATITUDE = this.info.WORK_LATITUDE; //纬度
 | 
				
			||||||
 | 
						  if(this.userInfo.USER_ID == this.info.CREATOR){
 | 
				
			||||||
 | 
							  this.anniuShow = true;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
						//返回方法
 | 
				
			||||||
 | 
						fnBack() {
 | 
				
			||||||
 | 
						  uni.$u.route({
 | 
				
			||||||
 | 
						    type: 'navigateBack'
 | 
				
			||||||
 | 
						  })
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						//工程开始
 | 
				
			||||||
 | 
						async fnUpdateStateKeyProject(state){
 | 
				
			||||||
 | 
							console.log(state)
 | 
				
			||||||
 | 
							var content = '';
 | 
				
			||||||
 | 
							if(state === '1'){
 | 
				
			||||||
 | 
								content = '确定同意开工吗?'
 | 
				
			||||||
 | 
							}else if(state === '2'){
 | 
				
			||||||
 | 
								content = '确定同意结束吗?'
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							uni.showModal({
 | 
				
			||||||
 | 
							  title: '提示',
 | 
				
			||||||
 | 
							  cancelText: '确认',
 | 
				
			||||||
 | 
							  confirmText: '取消',
 | 
				
			||||||
 | 
							  content: content,
 | 
				
			||||||
 | 
							  success: (res) => {
 | 
				
			||||||
 | 
								  console.log(res)
 | 
				
			||||||
 | 
							    if (res.cancel) {
 | 
				
			||||||
 | 
							      setKeyProjectsState({
 | 
				
			||||||
 | 
							      		OUTSOURCED_ID: this.OUTSOURCED_ID,
 | 
				
			||||||
 | 
							      		OPERATOR: this.userInfo.USER_ID, //修改人
 | 
				
			||||||
 | 
							      		STATE:state
 | 
				
			||||||
 | 
							      });
 | 
				
			||||||
 | 
							      uni.$u.toast('提交成功')
 | 
				
			||||||
 | 
							      setTimeout(() => {
 | 
				
			||||||
 | 
							        this.fnBack()
 | 
				
			||||||
 | 
							      }, 1000)
 | 
				
			||||||
 | 
							    }
 | 
				
			||||||
 | 
							  }
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						endUpdate(state){
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
 | 
					.content {
 | 
				
			||||||
 | 
					  padding: 0 20upx;
 | 
				
			||||||
 | 
					  background-color: #fff;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.button {
 | 
				
			||||||
 | 
					  text-align: center;
 | 
				
			||||||
 | 
					  margin-top: 40upx;
 | 
				
			||||||
 | 
					  margin-bottom: 40upx;
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  justify-content: space-between;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  button {
 | 
				
			||||||
 | 
					    width: 45%;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ml-10:first-child {
 | 
				
			||||||
 | 
					  margin-left: 0 !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,122 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <view class="content">
 | 
				
			||||||
 | 
					    <u-search placeholder="请输入搜索关键词" v-model="KEYWORDS" @custom="fnSearchList" @clear="fnSearchList"
 | 
				
			||||||
 | 
					              @search="fnSearchList"></u-search>
 | 
				
			||||||
 | 
					    <u-list @scrolltolower="scrolltolower" v-if="list.length > 0">
 | 
				
			||||||
 | 
					      <u-list-item v-for="(item, index) in list" :key="index">
 | 
				
			||||||
 | 
					        <view class="flex-between main-title">
 | 
				
			||||||
 | 
					          <text>{{ item.VIDEONAME }}</text>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
					        <view class="flex-between mt-10 subtitle">
 | 
				
			||||||
 | 
					          <text>
 | 
				
			||||||
 | 
					            播放地址:{{ item.VIDEOURL }}
 | 
				
			||||||
 | 
					          </text>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
							<view class="flex-between mt-10 subtitle" v-show="item.LATITUDE&&item.LONGITUDE">
 | 
				
			||||||
 | 
							 <text>
 | 
				
			||||||
 | 
							 坐标:{{ item.LATITUDE }}*{{item.LONGITUDE}}
 | 
				
			||||||
 | 
							 </text>
 | 
				
			||||||
 | 
							</view>
 | 
				
			||||||
 | 
					        <view class="flex-between mt-10 subtitle">
 | 
				
			||||||
 | 
							  <text>
 | 
				
			||||||
 | 
							    状态:{{ item.LATITUDE&&item.LONGITUDE? "已定位":"未定位" }}
 | 
				
			||||||
 | 
							  </text>
 | 
				
			||||||
 | 
							  <view class="flex-between">
 | 
				
			||||||
 | 
								  <u-button style="margin-left: 20upx;"
 | 
				
			||||||
 | 
								      size="mini"
 | 
				
			||||||
 | 
								      round
 | 
				
			||||||
 | 
								      type="primary"
 | 
				
			||||||
 | 
								      class="bth-mini"
 | 
				
			||||||
 | 
								      text="播放"
 | 
				
			||||||
 | 
								      @click="fnVideo(item)"
 | 
				
			||||||
 | 
								  />
 | 
				
			||||||
 | 
							  </view>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
					      </u-list-item>
 | 
				
			||||||
 | 
					    </u-list>
 | 
				
			||||||
 | 
					    <empty v-else></empty>
 | 
				
			||||||
 | 
					  </view>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import {getKeyProjectsVideoList} from "@/api";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      state: {
 | 
				
			||||||
 | 
					        "-1": "检查人驳回",
 | 
				
			||||||
 | 
					        0: "待被检查人确认",
 | 
				
			||||||
 | 
					        1: "被检查人已确认",
 | 
				
			||||||
 | 
					        2: "已归档",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      OUTSOURCED_ID: '',
 | 
				
			||||||
 | 
					      KEYWORDS: '',
 | 
				
			||||||
 | 
					      list: [],
 | 
				
			||||||
 | 
					      pageSize: 10,
 | 
				
			||||||
 | 
					      currentPage: 1,
 | 
				
			||||||
 | 
					      totalPage: 0,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onLoad(options) {
 | 
				
			||||||
 | 
					    this.OUTSOURCED_ID = options.OUTSOURCED_ID
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onShow() {
 | 
				
			||||||
 | 
					    this.fnSearchList()
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  computed: {
 | 
				
			||||||
 | 
					    userInfo() {
 | 
				
			||||||
 | 
					      return this.$store.getters.getUserInfo
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    async fnGetData() {
 | 
				
			||||||
 | 
					      const resData = await getKeyProjectsVideoList({
 | 
				
			||||||
 | 
					        OUTSOURCED_ID: this.OUTSOURCED_ID,
 | 
				
			||||||
 | 
					        KEYWORDS: this.KEYWORDS,
 | 
				
			||||||
 | 
					        showCount: this.pageSize,
 | 
				
			||||||
 | 
					        currentPage: this.currentPage
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      this.list = [...this.list, ...resData.varList];
 | 
				
			||||||
 | 
						  //换行
 | 
				
			||||||
 | 
						  for(var i =0;i<this.list.length;i++){
 | 
				
			||||||
 | 
							  var videourl = '';
 | 
				
			||||||
 | 
							  var old = this.list[i].VIDEOURL;
 | 
				
			||||||
 | 
							  var k = 1;
 | 
				
			||||||
 | 
							  if(this.list[i].VIDEOURL){
 | 
				
			||||||
 | 
								  for(var j =0;j<this.list[i].VIDEOURL.length;j++){
 | 
				
			||||||
 | 
									  if(j/2==22*k){
 | 
				
			||||||
 | 
										  videourl+='\n';
 | 
				
			||||||
 | 
										  k++;
 | 
				
			||||||
 | 
									  }
 | 
				
			||||||
 | 
									videourl+=this.list[i].VIDEOURL[j];
 | 
				
			||||||
 | 
								  }
 | 
				
			||||||
 | 
							  }
 | 
				
			||||||
 | 
							  console.log(videourl)
 | 
				
			||||||
 | 
							  this.list[i].VIDEOURL = videourl
 | 
				
			||||||
 | 
							  this.list[i].old = old
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					      this.totalPage = resData.page.totalPage;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    scrolltolower() {
 | 
				
			||||||
 | 
					      this.currentPage++;
 | 
				
			||||||
 | 
					      if (this.totalPage >= this.currentPage) this.fnGetData();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    fnSearchList() {
 | 
				
			||||||
 | 
					      this.pageSize = 10;
 | 
				
			||||||
 | 
					      this.currentPage = 1;
 | 
				
			||||||
 | 
					      this.list = [];
 | 
				
			||||||
 | 
					      this.fnGetData();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
						fnVideo(video) {
 | 
				
			||||||
 | 
						  uni.$u.route({
 | 
				
			||||||
 | 
						    url: '/pages/key-project-management/positioning_management/videoView',
 | 
				
			||||||
 | 
						    params: video
 | 
				
			||||||
 | 
						  })
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <view class="content">
 | 
				
			||||||
 | 
					      <video id="coursewareVideo" src="https://arqsp.qhdsafety.com:10010/api/v1/stream/start?serial=34020000001110001307&code=34020000001320000004&channel=1&token=&_=1733366514489"
 | 
				
			||||||
 | 
					             controls autoplay="autoplay" style="width: 100%;"></video>
 | 
				
			||||||
 | 
					  </view>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import {getPlatVideoPlay, loginVideoPlat} from "@/api";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      info: {}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onLoad(options) {
 | 
				
			||||||
 | 
					    this.info = options
 | 
				
			||||||
 | 
					    this.fnInit()
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    fnInit(){
 | 
				
			||||||
 | 
					      this.fnInitVideoPlat()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    async fnInitVideoPlat(){
 | 
				
			||||||
 | 
					    //   this.src = 'https://arqsp.qhdsafety.com:10010/api/v1/stream/start?serial=34020000001110001307&code=34020000001320000004&channel=1&token=&_=1733366514489'
 | 
				
			||||||
 | 
						  // console.log(src)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    fnBack() {
 | 
				
			||||||
 | 
					      uni.$u.route({
 | 
				
			||||||
 | 
					        type: 'navigateBack'
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getUrlParams(url) {
 | 
				
			||||||
 | 
					      const params = {};
 | 
				
			||||||
 | 
					      const paramStr = url.split('?')[1]; // 获取问号后面的参数部分
 | 
				
			||||||
 | 
					      if (paramStr) {
 | 
				
			||||||
 | 
					        const paramArr = paramStr.split('&'); // 将参数字符串分割成键值对数组
 | 
				
			||||||
 | 
					        paramArr.forEach((param) => {
 | 
				
			||||||
 | 
					          const [key, value] = param.split('='); // 将键值对字符串分割成键和值
 | 
				
			||||||
 | 
					          params[key] = value; // 将键值对添加到params对象中
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return params;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
 | 
					.content {
 | 
				
			||||||
 | 
					  background-color: #fff;
 | 
				
			||||||
 | 
					  padding: 0 20upx;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.button {
 | 
				
			||||||
 | 
					  text-align: center;
 | 
				
			||||||
 | 
					  margin-top: 40upx;
 | 
				
			||||||
 | 
					  margin-bottom: 40upx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  button {
 | 
				
			||||||
 | 
					    width: 70%;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
// let requestPath = 'http://192.168.0.45:8092/';
 | 
					
 | 
				
			||||||
// let requestPath = 'http://192.168.0.31:8992/qa-regulatory-gwj/'; //  后台请求地址https://skqhdg.porthebei.com:9004/qa-prevention-gwj/
 | 
					// export var requestPath = 'https://skqhdg.porthebei.com:9005/qa-regulatory-gwj/'; // 后台请求地址
 | 
				
			||||||
export var requestPath = 'https://qggf.qhdsafety.com/jgApi/'; // 后台请求地址
 | 
					export var requestPath = 'http://192.168.0.100:8092/';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					let videoApiPath = 'https://arqsp.qhdsafety.com:10010'; // 视频平台后台请求地址
 | 
				
			||||||
import store from '../store/index'
 | 
					import store from '../store/index'
 | 
				
			||||||
function post(url, data) {
 | 
					function post(url, data) {
 | 
				
			||||||
    return new Promise((resolve, reject) => {
 | 
					    return new Promise((resolve, reject) => {
 | 
				
			||||||
| 
						 | 
					@ -137,4 +139,40 @@ function uploads(url, data) {
 | 
				
			||||||
function setBasePath(url, data) {
 | 
					function setBasePath(url, data) {
 | 
				
			||||||
    requestPath = url
 | 
					    requestPath = url
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
export {post, upload, uploads,setBasePath}
 | 
					
 | 
				
			||||||
 | 
					function videoApiGet(url, data) {
 | 
				
			||||||
 | 
					    return new Promise((resolve, reject) => {
 | 
				
			||||||
 | 
					        if (data && data.loading !== false) {
 | 
				
			||||||
 | 
					            uni.showLoading({
 | 
				
			||||||
 | 
					                title: '加载中'
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        uni.request({
 | 
				
			||||||
 | 
					            url: videoApiPath + url + (data.token?`?token=${data.token}`:''),
 | 
				
			||||||
 | 
					            data: {
 | 
				
			||||||
 | 
					                ...data
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            method: 'GET',
 | 
				
			||||||
 | 
					            header: {
 | 
				
			||||||
 | 
					                'Content-type': 'application/json'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            success: (res) => {
 | 
				
			||||||
 | 
					                uni.hideLoading();
 | 
				
			||||||
 | 
					                resolve(res.data)
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            fail: (err) => {
 | 
				
			||||||
 | 
					                if (data && data.loading !== false) {
 | 
				
			||||||
 | 
					                    uni.hideLoading();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                uni.showToast({
 | 
				
			||||||
 | 
					                    title: '网络错误请重试',
 | 
				
			||||||
 | 
					                    icon: 'none',
 | 
				
			||||||
 | 
					                    duration: 2000
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                reject(err)
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export {post, upload, uploads,setBasePath,videoApiGet}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue