263 lines
6.2 KiB
Vue
263 lines
6.2 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="container">
|
|||
|
|
<view class="titleWrap">后勤保障服务清单与能力需求</view>
|
|||
|
|
|
|||
|
|
<view class="main">
|
|||
|
|
<view v-for="(item,index) in kinds">
|
|||
|
|
<view class="moduleTitle">{{getChinese(index+1)}}、{{item.name}}</view>
|
|||
|
|
<view v-for="(subItem,subIndex) in item.subSelectorList">
|
|||
|
|
<view class="levelWrap" v-if="choosedLevelIdList[index][subIndex].id == levelIndex" v-for="(levelItem,levelIndex) in subItem.levelList">
|
|||
|
|
<view class="prodctionTitle">{{subIndex+1}}. {{subItem.name}}-{{levelItem.name}}</view>
|
|||
|
|
<view class="uni-list prodsList" v-if="levelItem.name != '跳过'">
|
|||
|
|
<checkbox-group style="word-break: keep-all;">
|
|||
|
|
<label class="produnctionWrap" v-for="(prodItem,prodIndex) in levelItem.prods" :key="item.value">
|
|||
|
|
<checkbox disabled="true" class="productionCheckbox" :value="prodItem.value" :checked="prodItem.isChecked==1?true:false" />{{prodItem.name}}
|
|||
|
|
</label>
|
|||
|
|
</checkbox-group>
|
|||
|
|
</view>
|
|||
|
|
<view class="uni-list skipWrap" v-if="levelItem.name == '跳过'">
|
|||
|
|
暂未选择产品
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<view>
|
|||
|
|
<view class="mid_view">
|
|||
|
|
<view class="tab_left">
|
|||
|
|
姓 名:<!-- <text style="color: red;position: absolute;">*</text> -->
|
|||
|
|
</view>
|
|||
|
|
<view class="tab_rig">
|
|||
|
|
<input class="tab_text" v-model="userName" placeholder="请填写姓名" maxlength="10" />
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="mid_view">
|
|||
|
|
<view class="tab_left">
|
|||
|
|
手机号:<!-- <text style="color: red;position: absolute;">*</text> -->
|
|||
|
|
</view>
|
|||
|
|
<view class="tab_rig">
|
|||
|
|
<input class="tab_text" v-model="userPhone" type="number" placeholder="请填写手机号码" maxlength="11"/>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<view class="footer-box left" @click="goBack()">
|
|||
|
|
<text>上一步</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="footer-box right" @click="submit()">
|
|||
|
|
<text>确认</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import { getAllProdunctions,getCatagoryList,getProductionList,saveMyProductionApply } from '@/common/api.js';
|
|||
|
|
import { callbackRequest, alertTip, sureAlterTip, getStorage ,setStorage,transformNum2Chinese} from '@/common/util.js';
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
kinds:[],
|
|||
|
|
choosedLevelIdList:[],
|
|||
|
|
choosedLevelIds:[],
|
|||
|
|
userId:'',
|
|||
|
|
userName:'',
|
|||
|
|
userPhone:'',
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onLoad:function (option) { //option为object类型,会序列化上个页面传递的参数
|
|||
|
|
let self = this;
|
|||
|
|
self.kinds = getStorage('kinds');
|
|||
|
|
self.choosedLevelIdList = getStorage('choosedLevelIdList');
|
|||
|
|
self.getChoosedLevelIdList();
|
|||
|
|
|
|||
|
|
let userInfo = getStorage('userInfo');
|
|||
|
|
if(userInfo&&userInfo.id){
|
|||
|
|
this.userId=userInfo.userId;
|
|||
|
|
this.userName=userInfo.userName;
|
|||
|
|
this.userPhone=userInfo.telnumber;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
methods: {
|
|||
|
|
getChoosedLevelIdList(){
|
|||
|
|
let self = this;
|
|||
|
|
// console.log(self.kinds);
|
|||
|
|
// console.log(self.choosedLevelIdList);
|
|||
|
|
self.choosedLevelIds = [];
|
|||
|
|
for(var i=0;i<self.kinds.length;i++){
|
|||
|
|
// console.log(self.kinds[i].subSelectorList);
|
|||
|
|
for(var j=0; j<self.kinds[i].subSelectorList.length;j++){
|
|||
|
|
// console.log(self.kinds[i].name+self.kinds[i].subSelectorList[j].name)
|
|||
|
|
// console.log(self.kinds[i].subSelectorList[j].levelList[self.choosedLevelIdList[i][j].id])
|
|||
|
|
console.log(self.kinds[i].subSelectorList[j].levelList[self.choosedLevelIdList[i][j].id])
|
|||
|
|
self.choosedLevelIds.push((self.kinds[i].subSelectorList[j].levelList[self.choosedLevelIdList[i][j].id]).id);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
console.log(self.choosedLevelIds)
|
|||
|
|
},
|
|||
|
|
submit(){
|
|||
|
|
let self = this;
|
|||
|
|
if(!self.userName){
|
|||
|
|
alertTip('请输入姓名!');
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if(!self.userPhone){
|
|||
|
|
alertTip('请输入手机号!');
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if(self.userPhone.toString().length < 11){
|
|||
|
|
alertTip('请输入正确的手机号!');
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let userInfo = getStorage('userInfo');
|
|||
|
|
let data = {
|
|||
|
|
method: saveMyProductionApply,
|
|||
|
|
data:
|
|||
|
|
{
|
|||
|
|
userId: self.userId,
|
|||
|
|
userName:self.userName,
|
|||
|
|
userPhone:self.userPhone,
|
|||
|
|
choosedLevelIds:this.choosedLevelIds
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
callbackRequest(data).then(res => {
|
|||
|
|
if (res.data.returnCode == 1) {
|
|||
|
|
let result = res.data.returnData;
|
|||
|
|
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url: './production_apply_result?applyId='+result.applyId
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
goBack(){
|
|||
|
|
uni.navigateBack({
|
|||
|
|
delta: 1
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
getChinese(value){
|
|||
|
|
return transformNum2Chinese(value);
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss">
|
|||
|
|
|
|||
|
|
uni-checkbox-group uni-label{
|
|||
|
|
width: 33% !important;
|
|||
|
|
display: inline-flex;
|
|||
|
|
padding:20upx 0;
|
|||
|
|
text-align: left;
|
|||
|
|
line-height: 46upx;
|
|||
|
|
display:inline-block;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.container {
|
|||
|
|
min-height: 100vh;
|
|||
|
|
overflow: hidden;
|
|||
|
|
background: #f8f8f8;
|
|||
|
|
|
|||
|
|
.produnctionWrap{
|
|||
|
|
font-size: 24upx;
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
.productionCheckbox{
|
|||
|
|
transform:scale(0.7);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.titleWrap{
|
|||
|
|
text-align: center;
|
|||
|
|
font-weight: 600;
|
|||
|
|
font-size: 36upx;
|
|||
|
|
padding:20upx 0upx;
|
|||
|
|
border-bottom: solid #CFCFCF 1px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.main {
|
|||
|
|
position: absolute;
|
|||
|
|
// margin: 42upx 40upx 0;
|
|||
|
|
width: 100%;
|
|||
|
|
height:100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.moduleTitle{
|
|||
|
|
text-align: center;
|
|||
|
|
margin: 24upx 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.prodctionTitle{
|
|||
|
|
text-align: left;
|
|||
|
|
margin-left: 30upx;
|
|||
|
|
font-size: 30upx;
|
|||
|
|
margin-top: 20upx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.levelWrap{
|
|||
|
|
border-bottom:1px solid #eee;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.skipWrap{
|
|||
|
|
text-align: center;
|
|||
|
|
font-size: 30upx;
|
|||
|
|
margin:20upx 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.right{
|
|||
|
|
right:20upx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.left{
|
|||
|
|
left:20upx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.footer-box {
|
|||
|
|
position: fixed;
|
|||
|
|
bottom: 5upx;
|
|||
|
|
border-radius: 10upx;
|
|||
|
|
width: 45%;
|
|||
|
|
height: 80upx;
|
|||
|
|
background: #348ff1;
|
|||
|
|
text-align: center;
|
|||
|
|
line-height: 80upx;
|
|||
|
|
|
|||
|
|
text {
|
|||
|
|
font-size: 30upx;
|
|||
|
|
color: #fff;
|
|||
|
|
vertical-align: middle;
|
|||
|
|
padding-left: 10upx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.mid_view {
|
|||
|
|
padding: 3vw 0;
|
|||
|
|
display: flex;
|
|||
|
|
border-bottom: 1px solid #eee;
|
|||
|
|
font-size: 26upx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_left {
|
|||
|
|
width: 25vw;
|
|||
|
|
text-align: right;
|
|||
|
|
margin-right: 3vw;
|
|||
|
|
line-height:50rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_rig {
|
|||
|
|
width: 55vw;
|
|||
|
|
line-height:50rpx;
|
|||
|
|
input{
|
|||
|
|
height: 50rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_text{
|
|||
|
|
font-size:26upx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|