<template>
|
<view class="uni-page-selprj">
|
<view style="height:90%;">
|
<input type="text" class="txt_search" v-model="searchVal" @keyup="onkeyup"
|
:placeholder="translate('input_project_name_query')">
|
<!-- <div class="dv_query_body" >
|
<div class="psn">
|
<checkbox-group class="ischeck" @change="onchange" data-ischeck="false" data-index="0" >
|
<label>
|
<checkbox balue="1" :checked="ischecked" />
|
<div class="dv_title">test-测试-(江涛)test-测试-(江涛)</div>
|
</label>
|
</checkbox-group>
|
</div>
|
</div> -->
|
|
<div class="dv_query_body">
|
<div class="psn" v-for="(prj,index) in data">
|
<checkbox-group class="ischeck" @change="onchange" :data-ischeck="prj.ischeck" :data-index="index">
|
<label>
|
<checkbox :checked="prj.ischeck" />
|
<div class="dv_title">{{prj.PrjCode}}-{{prj.Name}}-({{prj.PMName}})</div>
|
</label>
|
</checkbox-group>
|
</div>
|
</div>
|
|
<button type="default" @tap="sava" class="btn_sava">{{translateSys("ok")}}</button>
|
</view>
|
|
</view>
|
</template>
|
|
<script>
|
import {
|
projectGetAnalysisList
|
} from "@/api/index.js"
|
export default {
|
data() {
|
return {
|
title: this.translate('select_project'),
|
relation: '-1',
|
param: {},
|
searchVal: '',
|
ischecked: false,
|
data: []
|
}
|
},
|
onLoad(options) {
|
// console.log(options);
|
var param = JSON.parse(options.param);
|
this.$data.param = param;
|
this.$data.relation = options.relation;
|
// console.log(this.$data.param);
|
|
|
var datainfo = {
|
relation: this.$data.relation,
|
tag: '',
|
type: '',
|
kw: '',
|
pindex: 1,
|
psize: 999999999,
|
state: '',
|
order: 'CN_T_CREATE DESC',
|
kwpmname: '',
|
kwcode: '',
|
sessionid: ''
|
};
|
|
// console.log(datainfo);
|
projectGetAnalysisList(datainfo).then(res => {
|
console.log(res);
|
const list = res?.Body || []
|
for (var i in list) {
|
list[i].ischeck = false;
|
}
|
this.$data.data = list;
|
}).catch(ex => {
|
// console.log(ex);
|
uni.showModal({
|
title: this.translateSys("error") + "1.1",
|
content: ex.errMsg,
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
});
|
},
|
methods: {
|
setData(obj) {
|
let that = this;
|
let keys = [];
|
let val, data;
|
|
Object.keys(obj).forEach(function(key) {
|
keys = key.split(".");
|
val = obj[key];
|
data = that.$data;
|
keys.forEach(function(key2, index) {
|
if (index + 1 == keys.length) {
|
that.$set(data, key2, val);
|
} else {
|
if (!data[key2]) {
|
that.$set(data, key2, {});
|
}
|
}
|
data = data[key2];
|
});
|
});
|
},
|
|
onkeyup(e) {
|
// console.log(e.target);
|
// console.log(this.$data.searchVal);
|
var datainfo = {
|
relation: this.$data.priRel,
|
tag: '',
|
type: '',
|
kw: this.$data.searchVal,
|
pindex: 1,
|
psize: 999999999,
|
state: '',
|
order: 'CN_T_CREATE DESC',
|
kwpmname: '',
|
kwcode: '',
|
sessionid: ''
|
};
|
projectGetAnalysisList(datainfo).then(res => {
|
console.log(res);
|
const list = res?.Body || []
|
for (var i in list) {
|
list[i].ischeck = false;
|
}
|
this.$data.data = list;
|
|
|
}).catch(ex => {
|
// console.log(ex);
|
uni.showModal({
|
title: this.translateSys("error") + "2.1",
|
content: ex.errMsg,
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
});
|
|
},
|
onchange(e) {
|
// console.log(e.target);
|
var data = this.$data.data;
|
this.$data.data = [];
|
for (var i in data) {
|
data[i].ischeck = false;
|
}
|
|
data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true
|
this.$data.data = data;
|
},
|
sava() { //点击功能点跳转页面
|
// console.log(this.$data.data);
|
var data = [];
|
for (var i in this.$data.data) {
|
if (this.$data.data[i].ischeck == true) {
|
data.push(this.$data.data[i]);
|
}
|
}
|
if (data.length == 0) {
|
uni.showModal({
|
title: this.translateSys("tip"),
|
content: this.translate('tip_no_select_project'),
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
return;
|
}
|
const eventChannel = this.$scope.eventChannel;
|
// const eventChannel = this.getOpenerEventChannel();
|
eventChannel.emit('AddPer', data, this.$data.param);
|
|
uni.navigateBack()
|
},
|
translate(t) {
|
if (typeof this.$t == "function") return this.$t(`page.${t}`)
|
else return t;
|
},
|
translateSys(t) {
|
if (typeof this.$t == "function") return this.$t(`sys.${t}`)
|
else return t;
|
},
|
}
|
}
|
</script>
|
<style lang="scss">
|
.uni-page-uni-page-selprj {
|
width: 100vw;
|
height: 93vh;
|
background: #EAEAEA;
|
padding: 14rpx 0rpx 0rpx 0rpx;
|
|
input {
|
border: 1px solid #d5d5d5;
|
width: 77%;
|
height: 80rpx;
|
border-radius: 60rpx !important;
|
padding: 0 60rpx 0 66rpx;
|
margin: 0rpx 20rpx 10rpx 20rpx;
|
background: #FFF;
|
}
|
|
.dv_query_body {
|
height: 91%;
|
background-color: #fff;
|
border: 2rpx solid #d5d5d5;
|
padding: 14rpx;
|
overflow-y: auto;
|
}
|
|
.psn {
|
width: 93%;
|
margin: 0 12rpx 12rpx 0;
|
padding: 8rpx 20rpx 10rpx;
|
background-color: #55a1dd;
|
font-size: 30rpx;
|
color: #fff;
|
border-radius: 20rpx;
|
display: inline-block;
|
cursor: pointer;
|
}
|
|
.dv_title {
|
display: inline-block;
|
width: 90%;
|
vertical-align: middle;
|
}
|
|
button.btn_sava {
|
margin-top: 60rpx;
|
padding: 20rpx;
|
line-height: 1.2;
|
background: #27A6E1;
|
border: none;
|
color: #fff;
|
}
|
}
|
</style>
|