123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <template>
- <view>
- <view>
- <uni-search-bar :radius="100" @confirm="search" @input="input" @cancel="cancel"></uni-search-bar>
- </view>
- <uni-forms ref="form" @submit="submitForm">
- <uni-list v-if="items.length>0">
- <checkbox-group @change="checkboxChange" >
- <uni-list-item v-for="(item,index) in items" :key="index">
- <!-- 自定义 header -->
- <view slot="header" style="width: 10%;">
- <checkbox :value="item.diCode" />
- </view>
- <!-- 自定义 body -->
- <view slot="body" style="width: 25%;">
- {{item.dnCode=='10034'?'质量检查':item.dnCode=='10035'?'安全检查':'材料检查'}}
- </view>
- <view slot="footer" style="width: 65%;">
- {{item.diName}}
- </view>
- </uni-list-item>
- </checkbox-group>
- </uni-list>
- <uni-list v-else>
- <checkbox-group @change="checkboxChange" >
- <uni-list-item >
- <!-- 自定义 body -->
- <view slot="body" class="slot-box">
-
- </view>
-
- </uni-list-item>
- </checkbox-group>
- </uni-list>
- <view class="uni-btn-v uni-column">
- <button type="primary" form-type="submit" style="border-radius: 15px;">选择成功,确认</button>
- </view>
- </uni-forms>
- </view>
- </template>
- <script>
- import {GetQualityAndSafeItems} from '@/common/api/SafeQualityCheckApi.js';
-
- export default {
- data() {
- return {
- items: [],
- checkboxValues: [],
- searchVal: ''
- }
- },
- onLoad: function() {
- this.$util.persistLogin(this);
- },
- created: function() {
- this.getItems();
- },
- methods: {
- getItems: function() {
- var that = this;
- let type=-1;
- let searchVal=that.searchVal;
- if(that.$util.getQuery("type")!=undefined&&that.$util.getQuery("type")!=""){
- type=that.$util.getQuery("type");
- }
- uni.showLoading({
- title: "页面努力加载中,请稍候...",
- mask: true
- });
- console.info('getitems type:',type);
- console.info('getitems searchVal:',searchVal);
- GetQualityAndSafeItems(type,searchVal).then((res) => {
- uni.hideLoading();
- console.info('GetQualityAndSafeItems',res);
- //console.info(projectCode);
- that.items=[];
- //return;
- res.forEach(function(item, index, array) {
- that.$set(that.items, index, item);
- });
-
- });
- },
- checkboxChange: function(e) {
- var items = this.items,
- values = e.detail.value;
- this.checkboxValues = values.join(',');
- console.info("values",values);
- console.info(this.checkboxValues);
- for (var i = 0, lenI = items.length; i < lenI; ++i) {
- const item = items[i]
- if (values.includes(item.value)) {
- this.$set(item, 'checked', true)
- } else {
- this.$set(item, 'checked', false)
- }
- }
- },
- submitForm(e) {
- console.info('submitForm',this.checkboxValues);
- if(this.checkboxValues.length<=0){
- uni.showToast({
- title:'请选择检查项目',
- icon:'none',
- duration:3000
- });
- return;
- }
- //先记录值,下面this指向会不一样
- let relationContractCodes = this.checkboxValues;
- let arr=relationContractCodes.split(',');
- //console.info('relationContractCodes',relationContractCodes);
- //console.info('this.items',this.items);
- //return;
- let selectChecked=[];
- this.items.forEach(function(item,index,array){
- arr.forEach(function(item1,index1,array1){
- if(item.diCode==item1){
-
- selectChecked.push(item);
-
- }
- });
- });
- console.info('submitForm selectChecked',selectChecked);
- //将数据发射到父级监听事件中
- uni.$emit('items', selectChecked);
- //关闭当前窗口
- uni.navigateBack({});
- },
- search(res) { //回车搜索
- this.searchvalue = res.value; //赋值
- this.getItems(); //调用搜索方法
- },
- input(res) {
- this.searchVal = res.value
- },
- cancel(res) {
- console.info('点击取消,输入值为:' + res.value);
-
- }
- }
- }
- </script>
- <style scoped>
- .slot-box {
- margin: 5px 5px;
- }
- .uni-btn-v {
- position: fixed;
- bottom: 0;
- width: 100%;
- }
- uni-view{
- font-size:15px;
- }
- </style>
|