zhangqun 11 months ago
commit 4c0cb1181a
  1. 135
      pages/investigation/components/investigation-item.vue
  2. 116
      pages/investigation/components/investigation-item2.vue
  3. 19
      pages/investigation/components/problem-tree-item.vue
  4. 74
      pages/investigation/task.vue
  5. 2
      pages/logIn/logIn.vue

@ -1,13 +1,10 @@
<template>
<view>
<view class="investigation-item"
:class="investigationSelect === index ? 'active' : ''"
v-for="(item, index) in investigationList"
:key="item.name"
@click="handleSelect(item, index)"
>
<view class="investigation-item" :class="investigationSelect === index ? 'active' : ''"
v-for="(item, index) in investigationList" :key="item.name" @click="handleSelect(item, index)">
<text>{{ item.name }}</text>
<uni-icons type="checkmarkempty" size="24" :style="{color: '#2663BF', visibility: investigationSelect === index ? 'visible' : 'hidden'}"/>
<uni-icons type="checkmarkempty" size="24"
:style="{color: '#2663BF', visibility: investigationSelect === index ? 'visible' : 'hidden'}" />
</view>
<u-popup :show="showInvestigationDetail" @close="showInvestigationDetail = false">
<view class="custom-pop-head">
@ -16,57 +13,35 @@
<view class="right" @click="investigationDetailHandle">确认</view>
</view>
<view class="box" style="max-height: 800rpx;overflow-y: auto">
<view class="investigation-item"
v-for="(item, index) in investigationDetailList"
:key="index"
style="width: 96%; padding: 0"
>
<view class="investigation-item" v-for="(item, index) in investigationDetailList" :key="index"
style="width: 96%; padding: 0">
<view class="detail-item" v-if="item.type === 'number' || item.type === '1'">
<uni-forms-item :label="item.name" label-width="300px" style="display: flex;align-items: center">
<u-input
placeholder="请输入"
border="none"
v-model="item.standar"
inputAlign="right"
type="number"
>
<u-text
:text="item.unit"
slot="suffix"
margin="0 3px 0 0"
type="tips"
></u-text>
<uni-forms-item :label="item.name" label-width="300px"
style="display: flex;align-items: center">
<u-input placeholder="请输入" border="none" v-model="item.standar" inputAlign="right"
type="number">
<u-text :text="item.unit" slot="suffix" margin="0 3px 0 0" type="tips"></u-text>
</u-input>
</uni-forms-item>
</view>
<view class="detail-item" v-else-if="item.type === 'text' || item.type === '2'">
<uni-forms-item :label="item.name" label-width="300px" style="display: flex;align-items: center">
<u-input
placeholder="请输入"
border="none"
v-model="item.standar"
inputAlign="right"
/>
<uni-forms-item :label="item.name" label-width="300px"
style="display: flex;align-items: center">
<u-input placeholder="请输入" border="none" v-model="item.standar" inputAlign="right" />
</uni-forms-item>
</view>
<view class="detail-item" v-else-if="item.type === 'check' || item.type === '3'">
<uni-forms-item :label="item.name" label-width="300px" style="display: flex;align-items: center">
<u-checkbox
v-model="item.standar"
:customStyle="{justifyContent: 'space-between'}"
:name="'sdfs'"
/>
<uni-forms-item :label="item.name" label-width="300px"
style="display: flex;align-items: center">
<u-checkbox v-model="item.standar" :customStyle="{justifyContent: 'space-between'}"
:name="'sdfs'" />
</uni-forms-item>
</view>
<view class="detail-item" v-else-if="item.type === 'upload' || item.type === '4'">
<uni-forms-item :label="item.name" label-position="top" label-width="300px" style="display: flex;align-items: center" />
<u-upload
:fileList="item.fileList"
@afterRead="(e) => afterRead(e, item)"
@delete="(e) => deletePic(e, item)"
name="1"
:maxCount="1"
></u-upload>
<uni-forms-item :label="item.name" label-position="top" label-width="300px"
style="display: flex;align-items: center" />
<u-upload :fileList="item.fileList" @afterRead="(e) => afterRead(e, item)"
@delete="(e) => deletePic(e, item)" name="1" :maxCount="1"></u-upload>
</view>
</view>
</view>
@ -76,7 +51,7 @@
</template>
<script>
export default {
export default {
//
components: {},
props: {
@ -101,14 +76,13 @@ export default {
console.log(12312312312)
// this.getData()
},
mounted(){
mounted() {
if (this.sid) {
this.getData()
}
},
//
onShow() {
},
onShow() {},
//
computed: {},
//
@ -131,6 +105,10 @@ export default {
async afterRead(event, item) {
// multiple true , file
const id = this.uuid()
if (!item.fileList) {
item.fileList = []
}
this.$forceUpdate()
item.fileList.push({
id,
...event.file,
@ -167,16 +145,18 @@ export default {
});
})
},
getData(){
getData() {
this.$request.globalRequest('/hiddenDanger/highDanger/getImportDangers', {}, 'GET').then(res => {
if(res.code == 200){
if (res.code == 200) {
this.investigationList = res.result
}
})
},
getData2(sid){
this.$request.globalRequest('/hiddenDanger/highDanger/getImportDangerInfo', {sid}, 'GET').then(res => {
if(res.code == 200){
getData2(sid) {
this.$request.globalRequest('/hiddenDanger/highDanger/getImportDangerInfo', {
sid
}, 'GET').then(res => {
if (res.code == 200) {
console.log(res.result)
this.investigationDetailList = res.result.map(item => {
switch (item.type) {
@ -199,23 +179,22 @@ export default {
})
},
//
skipPage(even){
skipPage(even) {
this.$.open(even)
},
handleSelect(item, index){
handleSelect(item, index) {
this.investigationSelect = index
this.investigationDetailTitle = item.name
this.showInvestigationDetail = true
this.getData2(item.nid)
// this.$emit('select', this.investigationSelect, this.investigationList[index])
},
investigationDetailHandle(){
investigationDetailHandle() {
this.showInvestigationDetail = false
this.$emit('select', this.investigationList[this.investigationSelect], this.investigationDetailList)
}
},
onReady() {
},
onReady() {},
//
onUnload() {
@ -228,19 +207,18 @@ export default {
}, 1500);
},
//
onReachBottom() {
},
}
onReachBottom() {},
}
</script>
<style>
page {
background:#FFFFFF;
}
page {
background: #FFFFFF;
}
</style>
<style lang="scss" scoped>
.investigation-item {
margin:0 auto 20rpx;
.investigation-item {
margin: 0 auto 20rpx;
width: 90%;
border-radius: 8rpx;
padding: 20rpx;
@ -249,29 +227,35 @@ page {
justify-content: space-between;
align-items: center;
overflow: hidden;
&.active {
background: #DFEBF8;
}
}
.detail-item {
}
.detail-item {
width: 100%;
background: #F0F3F7;
padding: 20rpx 30rpx;
border-radius: 8rpx;
box-sizing: border-box;
/deep/ .uni-forms-item__content {
justify-content: flex-end;
text-align: right;
display: flex;
}
/deep/ .uni-forms-item {
margin-bottom: 0;
}
/deep/ .uni-forms-item__label {
font-size: 16px;
}
}
.custom-pop-head {
}
.custom-pop-head {
width: 100%;
padding: 20rpx;
box-sizing: border-box;
@ -280,14 +264,17 @@ page {
justify-content: space-between;
border-bottom: 1px solid #E6E6E6;
margin-bottom: 20rpx;
.left {
color: #666666;
}
.title {
font-size: 16px;
}
.right {
color: #2663BF;
}
}
}
</style>

@ -7,65 +7,40 @@
<view class="right" @click="investigationDetailHandle">确认</view>
</view>
<view class="box" style="max-height: 800rpx;overflow-y: auto">
<view class="investigation-item"
v-for="(item, index) in investigationDetailList"
:key="index"
style="width: 96%; padding: 0"
>
<view class="investigation-item" v-for="(item, index) in investigationDetailList" :key="index"
style="width: 96%; padding: 0">
<view class="detail-item" v-if="item.type === 'number' || item.type === '1'">
<uni-forms-item :label="item.name" label-width="300px" style="display: flex;align-items: center">
<u-input
placeholder="请输入"
border="none"
v-model="item.standar"
inputAlign="right"
type="number"
>
<u-text
:text="item.unit"
slot="suffix"
margin="0 3px 0 0"
type="tips"
></u-text>
<uni-forms-item :label="item.name" label-width="500rpx" style="display: flex;align-items: center">
<u-input placeholder="请输入" border="none" v-model="item.standar" inputAlign="right"
type="number">
<u-text :text="item.unit" slot="suffix" margin="0 3px 0 0" type="tips"></u-text>
</u-input>
</uni-forms-item>
</view>
<view class="detail-item" v-else-if="item.type === 'text' || item.type === '2'">
<uni-forms-item :label="item.name" label-width="300px" style="display: flex;align-items: center">
<u-input
placeholder="请输入"
border="none"
v-model="item.standar"
inputAlign="right"
/>
<uni-forms-item :label="item.name" label-width="500rpx" style="display: flex;align-items: center">
<u-input placeholder="请输入" border="none" v-model="item.standar" inputAlign="right" />
</uni-forms-item>
</view>
<view class="detail-item" v-else-if="item.type === 'check' || item.type === '3'">
<uni-forms-item :label="item.name" label-width="300px" style="display: flex;align-items: center">
<u-checkbox
v-model="item.standar"
:customStyle="{justifyContent: 'space-between'}"
:name="'sdfs'"
/>
<uni-forms-item :label="item.name" label-width="500rpx" style="display: flex;align-items: center">
<u-checkbox v-model="item.standar" :customStyle="{justifyContent: 'space-between'}"
:name="'sdfs'" />
</uni-forms-item>
</view>
<view class="detail-item" v-else-if="item.type === 'upload' || item.type === '4'">
<uni-forms-item :label="item.name" label-position="top" label-width="300px" style="display: flex;align-items: center" />
<u-upload
:fileList="item.fileList"
@afterRead="(e) => afterRead(e, item)"
@delete="(e) => deletePic(e, item)"
name="1"
:maxCount="1"
></u-upload>
<uni-forms-item :label="item.name" label-position="top" label-width="300px"
style="display: flex;align-items: center" />
<u-upload :fileList="item.fileList" @afterRead="(e) => afterRead(e, item)"
@delete="(e) => deletePic(e, item)" name="1" :maxCount="1"></u-upload>
</view>
</view>
</view>
<view class="blank" />
</view>
</template>
</template>
<script>
<script>
export default {
//
components: {},
@ -94,9 +69,12 @@
onLoad(e) {
// this.getData()
},
mounted(){
mounted() {
if (this.json.name) {
this.investigationDetailList = this.json.extraConfigs.map(item => {
if (!item.fileList) {
item.fileList = []
}
switch (item.type) {
// case "1":
// item.standar = 0
@ -132,8 +110,7 @@
}
},
//
onShow() {
},
onShow() {},
//
computed: {},
//
@ -154,6 +131,7 @@
},
//
async afterRead(event, item) {
// multiple true , file
const id = this.uuid()
item.fileList.push({
@ -192,9 +170,11 @@
});
})
},
getData(){
this.$request.globalRequest('/hiddenDanger/highDanger/getImportDangerInfo', {sid: this.$props.sid}, 'GET').then(res => {
if(res.code == 200){
getData() {
this.$request.globalRequest('/hiddenDanger/highDanger/getImportDangerInfo', {
sid: this.$props.sid
}, 'GET').then(res => {
if (res.code == 200) {
this.investigationDetailList = res.result.map(item => {
switch (item.type) {
case "1":
@ -215,27 +195,26 @@
}
})
this.$request.globalRequest('/hiddenDanger/highDanger/getImportDangers', {}, 'GET').then(res => {
if(res.code == 200){
if (res.code == 200) {
this.investigationList = res.result
}
})
},
//
skipPage(even){
skipPage(even) {
this.$.open(even)
},
handleSelect(item, index){
handleSelect(item, index) {
this.investigationSelect = index
this.investigationDetailTitle = item.name
this.showInvestigationDetail = true
// this.$emit('select', this.investigationSelect, this.investigationList[index])
},
investigationDetailHandle(){
this.$emit('select',this.json)
investigationDetailHandle() {
this.$emit('select', this.json)
}
},
onReady() {
},
onReady() {},
//
onUnload() {
@ -248,19 +227,18 @@
}, 1500);
},
//
onReachBottom() {
},
onReachBottom() {},
}
</script>
</script>
<style>
<style>
page {
background:#FFFFFF;
background: #FFFFFF;
}
</style>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped>
.investigation-item {
margin:0 auto 20rpx;
margin: 0 auto 20rpx;
width: 90%;
border-radius: 8rpx;
padding: 20rpx;
@ -269,28 +247,34 @@
justify-content: space-between;
align-items: center;
overflow: hidden;
&.active {
background: #DFEBF8;
}
}
.detail-item {
width: 100%;
background: #F0F3F7;
padding: 20rpx 30rpx;
border-radius: 8rpx;
box-sizing: border-box;
/deep/ .uni-forms-item__content {
justify-content: flex-end;
text-align: right;
display: flex;
}
/deep/ .uni-forms-item {
margin-bottom: 0;
}
/deep/ .uni-forms-item__label {
font-size: 16px;
}
}
.custom-pop-head {
width: 100%;
padding: 20rpx;
@ -300,15 +284,17 @@
justify-content: space-between;
border-bottom: 1px solid #E6E6E6;
margin-bottom: 20rpx;
.left {
color: #666666;
}
.title {
font-size: 16px;
}
.right {
color: #2663BF;
}
}
</style>
</style>

@ -51,6 +51,7 @@ export default {
originList: [],
problemTreeSelect: null,
problemTreeSelectList: [],
problemTreeSelectAllList: [],
problemTreeSelectConfirmList: [],
};
},
@ -74,14 +75,15 @@ export default {
.globalRequest("/hiddenDanger/highDanger/getDangerItems", {}, "GET")
.then((res) => {
if (res.code == 200) {
this.originList = res.result;
this.problemTreeSelectList = res.result;
if(this.hiddenDangerList2.length>0) {
this.problemTreeSelectConfirmList = this.hiddenDangerList2
console.log(this.hiddenDangerList2)
this.problemTreeSelectList = this.hiddenDangerList2[1].children
this.problemTreeSelect = this.hiddenDangerList2[2].id
}
this.originList =JSON.parse(JSON.stringify( res.result));
this.problemTreeSelectList =JSON.parse(JSON.stringify( res.result));
this.problemTreeSelectAllList=JSON.parse(JSON.stringify( res.result))
// if(this.hiddenDangerList2.length>0) {
// // this.problemTreeSelectConfirmList = this.hiddenDangerList2
// console.log(this.hiddenDangerList2)
// this.problemTreeSelectList = this.hiddenDangerList2[1].children
// this.problemTreeSelect = this.hiddenDangerList2[2].id
// }
}
});
},
@ -90,6 +92,7 @@ export default {
this.$.open(even);
},
handleSelectProblem(item, index) {
console.log(11111)
this.problemTreeSelectConfirmList[Number(item.nlevel) - 1] = item;
if (item.children && item.children.length > 0) {
this.problemTreeSelectList = item.children;

@ -376,7 +376,7 @@
<view class="title">存在隐患</view>
<u-row :gutter="0" justify="flex-start" style="flex-wrap: wrap">
<view
v-for="item in hiddenDangerList"
v-for="(item,index) in hiddenDangerList"
:key="item"
style="width: 100%"
>
@ -386,7 +386,7 @@
{{ item.dangerProblem }}
</view>
<view>
<view class="check" @click="onHiddenDangerList(item)">
<view class="check" @click="onHiddenDangerList(item,index)">
<image
style="width: 10px; height: 16px"
src="../../static/scimg/right6.png"
@ -438,11 +438,10 @@
label-width="100px"
style="display: flex; align-items: center"
/>
<view v-if="this.hiddenDangerList2.length > 0"
>{{ this.hiddenDangerList2[0].itemname }}/{{
this.hiddenDangerList2[1].itemname
}}/{{ this.hiddenDangerList2[2].itemname }}</view
<view v-if="hiddenDangerList2.length > 0"
>{{ hiddenDangerList2[0].itemname }}/{{
hiddenDangerList2[1].itemname
}}/{{ hiddenDangerList2[2].itemname }}</view
>
<!-- <u-input
@ -451,8 +450,8 @@
type="textarea"
v-else
/> -->
<view v-else-if="this.dangerProblem">{{
this.dangerProblem
<view v-else-if="dangerProblem">{{
dangerProblem
}}</view>
<view v-else>请选择</view>
<!-- -->
@ -475,6 +474,7 @@
label-position="top"
label-width="200px"
/>
<u-upload
:fileList="fileList"
@afterRead="(e) => afterRead(e, 'fileList')"
@ -694,10 +694,16 @@ export default {
hiddenDangerList2: [],
hiddenDangerList3: [],
dangerProblem: "",
//
addInvestigationInfo:{
type:'',
index:0
}
};
},
methods: {
showInvestigationTag(v) {
console.log(v)
this.showInvestigation2 = true;
this.showInvestigation2Item = v;
},
@ -726,8 +732,11 @@ export default {
this.showInvestigation2Item = {};
this.showInvestigation2 = false;
},
onHiddenDangerList(v) {
console.log(this.problemTreeSelectConfirmList)
onHiddenDangerList(v,index) {
this.addInvestigationInfo={
type:'edit',
index:index
}
this.showProblem = true;
this.dangerProblem = v.dangerProblem;
this.describe = {
@ -738,10 +747,22 @@ export default {
hdPic: v.hdPic,
hdInfo: v.hdInfo,
};
// this.fileList = [v.hdPic];
console.log(v)
let newArr=[]
try{
newArr= v.dangerProblem.split('/')
}catch(e){
newArr=['','','']
}
this.hiddenDangerList2=[{id:v.bigCategory,itemname:newArr[0]},
{id:v.smallCategory,itemname:newArr[1]},
{id:v.hdTerm,itemname:newArr[2]}]
// console.log(this.hiddenDangerList2)
this.fileList = [{url:v.hdPic}];
},
add() {
// this.addInvestigationInfo.type='add'
this.$set(this.addInvestigationInfo,'type','add')
this.showProblem = true;
this.hiddenDangerList2 = [];
this.dangerProblem = '';
@ -868,6 +889,7 @@ export default {
JSON.stringify(this.hiddenDangerList3)
);
}
console.log(this.hiddenDangerList2)
},
select(v) {
@ -912,7 +934,8 @@ export default {
}
},
investigationHandle2() {
this.hiddenDangerList.push({
if(this.hiddenDangerList2.length>0){
let form={
bigCategory: this.hiddenDangerList2[0].id,
bigCategoryName: this.hiddenDangerList2[0].itemname,
smallCategory: this.hiddenDangerList2[1].id,
@ -920,9 +943,17 @@ export default {
hdTerm: this.hiddenDangerList2[2].id,
hdTermName: this.hiddenDangerList2[2].itemname,
hdDesc: this.describe.hdDesc,
hdPic: this.fileList.url,
hdPic: this.fileList.length>0?this.fileList[0].url:'',
hdInfo: this.describe.hdInfo,
});
dangerProblem:this.hiddenDangerList2[0].itemname+'/'+ this.hiddenDangerList2[1].itemname+'/'+ this.hiddenDangerList2[2].itemname
}
if(this.addInvestigationInfo.type=='add'){
this.hiddenDangerList.push(form);
}else{
this.$set(this.hiddenDangerList,this.addInvestigationInfo.index,form)
}
}
this.showProblem = false;
},
investigationDetailHandle() {
@ -1004,6 +1035,7 @@ export default {
url: resultInfo.result,
})
);
console.log(this[key])
} else {
this.$.toast("上传失败");
this[key].splice(
@ -1019,7 +1051,13 @@ export default {
submit(temporary) {
console.log(this.formData);
console.log(this.investigationSelectList);
console.log(this.hiddenDangerList);
console.log({
...this.formData,
businessId: this.businessId,
extraConfigs: extraConfigs,
describe: this.hiddenDangerList,
temporary,
});
let extraConfigs = [];
this.investigationSelectList.map((r) => {
r.extraConfigs.map((s) => {
@ -1310,6 +1348,8 @@ export default {
width: 100%;
padding: 20rpx;
box-sizing: border-box;
max-height: calc(100vh - 100px);
overflow: auto;
.detail-item {
margin-bottom: 20rpx;
}

@ -167,7 +167,7 @@ export default {
this.isDisabled = true
this.$request.globalRequest(url, datas, 'POST').then(res => {
if(res.code === 200){
this.$.toast('成功')
this.$.toast('登录成功')
this.$.setData('token',res.result)
this.$.setData('userInfo', { username: res.result })
setTimeout(() => {

Loading…
Cancel
Save