优化页面,修复bug

This commit is contained in:
weipengfei 2023-08-04 16:09:05 +08:00
parent 9c3df416c1
commit 6e7c536b55
15 changed files with 739 additions and 489 deletions

View File

@ -1,17 +1,8 @@
<template>
<view class="card">
<view class="title">养殖</view>
<view class="title">养殖信息</view>
<u--form labelPosition="left" :model="formData" :rules="rules" ref="breedingForm">
<u-form-item labelWidth="auto" label="耕地总面积" required prop="cultivated_area" borderBottom>
<u--input :readonly="readonly" v-model="formData.cultivated_area" placeholder="请输入耕地总面积"></u--input>
</u-form-item>
<picker :range="landPlanList" :disabled="readonly" mode="selector" @change="changeLanPlan">
<u-form-item labelWidth="auto" label="土地规划" required prop="planning" borderBottom>
<u--input :value="landPlanList[formData.planning]" placeholder="请选择规划" disabled disabledColor="#fff"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
</picker>
<u-form-item labelWidth="auto" label="有无种养殖培训" required prop="breeding_training" borderBottom>
<u-form-item labelWidth="auto" label="有无养殖培训" required prop="breeding_training" borderBottom>
<u-radio-group :disabled="readonly" v-model="formData.breeding_training" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'有'},{value:0,label:'无'}]" :key="index" :label="item.label"
@ -19,8 +10,8 @@
</u-radio>
</u-radio-group>
</u-form-item>
<u-form-item labelWidth="auto" label="有无注册成立种植公司" required prop="planting_company" borderBottom>
<u-radio-group :disabled="readonly" v-model="formData.planting_company" style="margin: 16rpx;">
<u-form-item labelWidth="auto" label="有无注册成立养殖公司" required prop="breeding_company" borderBottom>
<u-radio-group :disabled="readonly" v-model="formData.breeding_company" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'有'},{value:0,label:'无'}]" :key="index" :label="item.label"
:name="item.value">
@ -30,15 +21,12 @@
<u-form-item labelWidth="auto" labelPosition="top" label="备注" required prop="notes" borderBottom>
<u--textarea :disabled="readonly" v-model="formData.notes" autoHeight placeholder="请输入备注" border="surround" count></u--textarea>
</u-form-item>
<u-form-item labelWidth="auto" label="种养殖类型" required prop="breeding_type" borderBottom>
<u--input :readonly="readonly" v-model="formData.breeding_type" placeholder="请输入种养殖类型"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="面积" required prop="area" borderBottom>
<u--input :readonly="readonly" v-model="formData.area" placeholder="请输入面积"></u--input>
<u-form-item labelWidth="auto" label="养殖类型" required prop="breeding_type" borderBottom>
<u--input :readonly="readonly" v-model="formData.breeding_type" placeholder="请输入养殖类型"></u--input>
</u-form-item>
<picker mode="date" @change="changeDate" :disabled="readonly" :data-value="'breeding_time'">
<u-form-item labelWidth="auto" label="养殖开始时间" required prop="breeding_time" borderBottom>
<u--input :value="formData.breeding_time" placeholder="请选择养殖开始时间" disabled disabledColor="#fff"></u--input>
<u-form-item labelWidth="auto" label="养殖开始时间" required prop="breeding_time" borderBottom>
<u--input :value="formData.breeding_time" placeholder="请选择养殖开始时间" disabled disabledColor="#fff"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
</picker>
@ -58,7 +46,7 @@
<u--textarea :disabled="readonly" v-model="formData.farm_tools" autoHeight placeholder="请输入农资农具收益情况" border="surround"
count></u--textarea>
</u-form-item>
<u-form-item labelWidth="auto" label="是否生态养殖" required prop="ecological_farming" borderBottom>
<u-form-item labelWidth="auto" label="是否生态养殖" required prop="ecological_farming" borderBottom>
<u-radio-group :disabled="readonly" v-model="formData.ecological_farming" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
@ -112,10 +100,10 @@
</u-radio>
</u-radio-group>
</u-form-item>
<u-form-item labelWidth="auto" labelPosition="top" label="种养殖需求描述" required prop="demand" borderBottom>
<u--textarea :disabled="readonly" v-model="formData.demand" autoHeight placeholder="请输入种养殖需求描述" border="surround" count></u--textarea>
<u-form-item labelWidth="auto" labelPosition="top" label="需求描述" prop="demand" borderBottom>
<u--textarea :disabled="readonly" v-model="formData.demand" autoHeight placeholder="请输入需求描述" border="surround" count></u--textarea>
</u-form-item>
<u-form-item labelWidth="auto" labelPosition="top" label="政策补助" required prop="policy_subsidies" borderBottom>
<u-form-item labelWidth="auto" labelPosition="top" label="政策补助" prop="policy_subsidies" borderBottom>
<u--textarea :disabled="readonly" v-model="formData.policy_subsidies" autoHeight placeholder="请输入政策补助" border="surround"
count></u--textarea>
</u-form-item>
@ -138,21 +126,18 @@
},
data() {
return {
landPlanList: ['自己养', '出租', '代种养', '租更多地扩大种植'],
landPlanList: ['自己养', '出租', '代养', '租更多地扩大养殖'],
formData: {
// "cultivated_area": "20", //
// "planning": 1, //
// "breeding_training": 1, //
// "planting_company": 0, //
// "breeding_training": 1, //
// "breeding_company": 0, //
// "notes": "", //
// "breeding_type": 22, //
// "area": 20, //
// "breeding_time": "2022-07-22", //
// "breeding_type": 22, //
// "breeding_time": "2022-07-22", //
// "mature_time": "2022-07-22", //
// "yield": 600, //
// "estimated_income": 1500, //
// "farm_tools": ",", //使
// "ecological_farming": 1, //
// "ecological_farming": 1, //
// "modernization": 30, //
// "pre_price": "30.00", //
// "method_sales": 1, //
@ -160,21 +145,19 @@
// "promote": 0, //广
// "transportation": 0, //
// "expand_business_needs": 0, //
// "demand": "", //
// "demand": "", //
// "policy_subsidies": "" ,//
"cultivated_area": "", //
"planning": "", //
"breeding_training": "", //
"planting_company": "", //
"breeding_training": "", //
"breeding_company": "", //
"notes": "", //
"breeding_type": "", //
"breeding_type": "", //
"area": "", //
"breeding_time": "", //
"breeding_time": "", //
"mature_time": "", //
"yield": "", //
"estimated_income": "", //
"farm_tools": "", //使
"ecological_farming": "", //
"ecological_farming": "", //
"modernization": "", //
"pre_price": "", //
"method_sales": "", //
@ -182,7 +165,7 @@
"promote": "", //广
"transportation": "", //
"expand_business_needs": "", //
"demand": "", //
"demand": "", //
"policy_subsidies": "" //
},
rules: {
@ -215,6 +198,10 @@
//
initRules(){
let arr = Object.keys(this.formData);
let white = ['demand', 'policy_subsidies'];
arr = arr.filter(item=>{
return !white.includes(item);
})
arr.forEach(key=>{
this.rules[key] = {
validator: (rule, value, callback )=>{

View File

@ -23,7 +23,7 @@
<u-form-item labelWidth="auto" label="技能特长" required prop="family" borderBottom>
<u--input v-model="item.skills" :readonly="readonly" placeholder="请输入技能特长"></u--input>
</u-form-item>
<button v-if="residents.family.length>1&&!readonly" class="delete"
<button v-if="!readonly" class="delete"
@click="removeFamily(index)">删除以上信息</button>
</block>
<button v-if="!readonly" class="plus" @click="pushFamily">添加常住人口</button>
@ -98,12 +98,14 @@
situationList: [ "做工地的","厂里打工","公司职员","政府上班","种地","在家赋闲","其他"],
//
residents: {
family: [{
name: '',
birth_time: '',
situation: '', //
skills: '', //
}],
family: [
// {
// name: '',
// birth_time: '',
// situation: '', //
// skills: '', //
// }
],
child: '', //
child_arr: [ //
{

View File

@ -5,7 +5,7 @@ httpApi = 'https://worker-task.lihaink.cn' //生产
httpApiThree = 'https://worker-task.lihaink.cn' //生产
// httpApiThree = 'http://ceshi-oa.lihaink.cn' //生产
// #ifdef H5
httpApiThree = 'baseUrlTest' //生产
// httpApiThree = 'baseUrlTest' //生产
// #endif
// if (process.env.NODE_ENV === "development") {
@ -33,14 +33,11 @@ module.exports = {
// #ifdef H5
//H5接口是浏览器地址
HTTP_REQUEST_URL: httpApi || window.location.protocol + "//" + window.location.host,
HTTP_REQUEST_URL_THREE: httpApiThree || window.location.protocol + "//" + window.location.host,
// HTTP_REQUEST_URL: httpApi || window.location.protocol + "//" + window.location.host,
// HTTP_REQUEST_URL_THREE: httpApiThree || window.location.protocol + "//" + window.location.host,
// #endif
HEADER: {
'content-type': 'application/json',
//#ifdef H5
'Form-type': 'h5',
//#endif
//#ifdef MP
'Form-type': 'routine',
//#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -3,40 +3,33 @@
<view class="personnel_list">
<view class="item" v-for="(item, index) in list" :key="item.id">
<view class="top">
<!-- <image class="avatar" :src="item.avatar||'../../static/img/public/man.png'"></image> -->
<!-- <u--image class="u_avatar" :showLoading="true" :src="item.avatar||'../../static/img/public/man.png'"
width="112.28rpx" height="112.28rpx" shape="circle">
</u--image> -->
<view class="text">
<view class="name">{{item.name}}</view>
<view class="mobile">
<uni-icons type="phone" color="#999999FF"></uni-icons><text>{{item.phone}}</text>
</view>
<view class="mobile">
<uni-icons type="calendar" color="#999999FF"></uni-icons><text>{{item.create_time}}</text>
<image class="avatar" src="../../static/img/public/record.png"></image>
<view class="body">
<view class="t_top">
<view>姓名:<text class="name">{{item.name}}</text></view>
<view>电话:<text class="mobile">{{item.phone}}</text></view>
</view>
<view class="t_bottom">片区:<text class="address">{{item.address}}</text></view>
</view>
</view>
<u-line color="#cccccc"></u-line>
<view class="bottom">
<view>更新时间: {{item.create_time}}</view>
<view class="right" v-if="showView">
<view class="top" @click="navTo('/subpkg/archivesDetail/archivesDetail?id='+item.id)">
查看
</view>
<view class="bottom" @click="navTo('/subpkg/updateArchives/updateArchives?id='+item.id)">
<view class="update" @click="navTo('/subpkg/updateArchives/updateArchives?id='+item.id)">
更新
</view>
<view class="look" @click="navTo('/subpkg/archivesDetail/archivesDetail?id='+item.id)">
查看
</view>
</view>
</view>
<view class="bottom">
<view class="circle"></view>
<view class="green">所属片区</view>
<view class="tips">{{item.address}}</view>
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
<u-empty v-if="loadConfig.status=='nomore'&& list.length==0" icon="/static/img/empty/data.png"></u-empty>
<u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
<button class="new_btn" v-if="showView"
@click="navTo('/subpkg/newArchives/newArchives')">信息登记</button>
<!-- <button class="new_btn" @click="navTo('/subpkg/updateArchives/updateArchives')">信息更新(测试中)</button> -->
<mybtn text="信息登记" v-if="showView" @click="navTo('/subpkg/newArchives/newArchives')"></mybtn>
</view>
</template>
@ -59,8 +52,8 @@
}
},
onLoad(options) {
if(options.id)this.user_id = options.id;
else if(this.$store.state.app.userInfo.admin_id==0){ //,id
if (options.id) this.user_id = options.id;
else if (this.$store.state.app.userInfo.admin_id == 0) { //,id
this.user_id = this.$store.state.app.userInfo.id;
}
},
@ -71,7 +64,7 @@
computed: {
//
showView() {
return !this.$store.state.app.userInfo.admin_id&&this.$store.state.app.userInfo.is_captain;
return !this.$store.state.app.userInfo.admin_id && this.$store.state.app.userInfo.is_captain;
}
},
onReachBottom() {
@ -144,101 +137,67 @@
margin-bottom: 21rpx;
box-sizing: border-box;
padding: 28rpx;
font-size: 24.53rpx;
color: #999999FF;
.top {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
.avatar {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
width: 120rpx;
height: 120rpx;
margin-right: 18rpx;
}
.u_avatar {
margin-right: 18rpx;
}
.text {
display: flex;
justify-content: space-around;
flex-direction: column;
height: 100%;
.name {
font-size: 32rpx;
font-weight: 500;
color: #333333;
}
.mobile {
color: #999999;
font-size: 28rpx;
}
}
.right {
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
.top,
.bottom {
width: 158rpx;
height: 53rpx;
background: #FFFFFF;
border-radius: 26rpx 26rpx 26rpx 26rpx;
opacity: 1;
border: 2rpx solid #3274F9;
color: #3274F9;
.body{
flex: 1;
.t_top{
display: flex;
align-items: center;
justify-content: center;
justify-content: space-between;
margin-bottom: 18rpx;
.name{
font-size: 32rpx;
color: #333;
}
.mobile{
font-size: 28rpx;
color: #333;
}
}
.bottom {
border: 2rpx solid #F9AA32;
color: #F9AA32;
margin-top: 18rpx;
.t_bottom{
width: 500rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
.address{
font-size: 28rpx;
color: #333;
}
}
}
}
.bottom {
display: flex;
justify-content: left;
justify-content: space-between;
align-items: center;
margin-top: 20rpx;
font-size: 25rpx;
.circle {
width: 11rpx;
height: 11rpx;
opacity: 1;
border: 2rpx solid #34A853;
margin-right: 10rpx;
border-radius: 50%;
.right{
font-size: 28rpx;
display: flex;
.look{
color: $theme-oa-color;
}
.update{
color: #34A853;
margin-right: 38rpx;
}
}
.green {
font-weight: 400;
color: #34A853;
line-height: 0rpx;
margin-right: 18rpx;
-webkit-background-clip: text;
}
.tips{
width: 480rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}

View File

@ -1,248 +1,277 @@
<template>
<view class="">
<view class="top_box">
<view class="item" :class="current==0?'active':''" @click="current=0">基本信息</view>
<view class="item" :class="current==1?'active':''" @click="current=1">商机信息</view>
</view>
<view class="card" v-show="current==0">
<u--form labelPosition="left" :model="formData" ref="archives">
<view class="item">
<view class="title">基本信息</view>
<u-form-item labelWidth="auto" label="户主姓名" required prop="name" borderBottom>
<u--input v-model="formData.name" :readonly="readonly" placeholder="请输入姓名"></u--input>
</u-form-item>
<u-form-item label="性别" required prop="sex" borderBottom>
<u-radio-group v-model="formData.sex" :disabled="readonly" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'男'},{value:2,label:'女'}]" :key="index" :label="item.label"
:name="item.value">
</u-radio>
</u-radio-group>
</u-form-item>
<u-form-item label="年龄" required prop="age" borderBottom>
<u--input v-model="formData.age" :readonly="readonly" placeholder="请输入年龄"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="身份证号" required prop="id_card" borderBottom>
<u--input v-model="formData.id_card" :readonly="readonly" placeholder="请输入身份证号" type="idcard"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="联系方式" required prop="phone" borderBottom>
<u--input v-model="formData.phone" :readonly="readonly" placeholder="请输入手机号" type="number"></u--input>
</u-form-item>
</view>
<view class="item">
<districtSelector ref="districtSelectorRef" :datas="formData" :readonly="true"></districtSelector>
<u-form-item labelWidth="auto" label="详细地址" required prop="address" borderBottom>
<u--input v-model="formData.address" :readonly="readonly" placeholder="请输入详细地址"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="汽车是否能到家" required prop="highway" borderBottom>
<u-radio-group v-model="formData.highway" :disabled="readonly" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
:name="item.value">
</u-radio>
</u-radio-group>
</u-form-item>
<block value="智能手机">
<u-form-item labelWidth="auto" label="是否使用智能手机" required prop="smart_phone" borderBottom>
<u-radio-group v-model="formData.smart_phone" :disabled="readonly" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
:name="item.value">
</u-radio>
</u-radio-group>
</u-form-item>
<block v-if="formData.smart_phone>0">
<u-form-item labelWidth="auto" label="微信号" required borderBottom>
<u--input v-model="formData.wechat" :readonly="readonly" placeholder="请输入微信号"></u--input>
</u-form-item>
</block>
</block>
</view>
<residents ref="residentsRef" :readonly="true" :datas="formData"></residents>
<!-- <breeding ref="breedingRef"></breeding> -->
</u--form>
<!-- <button @click="addArchives" type="primary" class="btn">完成登记</button> -->
</view>
<view class="card" style="padding-top: 1rpx;" v-show="current==1">
<block v-for="(item, index) in formData.datas" :key="'demand'+index+item.id">
<block>
<breeding v-if="item.id==7" :datas="item.datas" :readonly="true" ref="demandRef7"></breeding>
<store v-if="item.id==8" :datas="item.datas" :readonly="true" ref="demandRef8"></store>
<deepProcessing v-if="item.id==9" :datas="item.datas" :readonly="true" ref="demandRef9"></deepProcessing>
<thickProcessing v-if="item.id==10" :datas="item.datas" :readonly="true" ref="demandRef10"></thickProcessing>
</block>
<block>
<houseRepair v-if="item.id==12" :datas="item.datas" :readonly="true" ref="demandRef12"></houseRepair>
<houseDecoration v-if="item.id==13" :datas="item.datas" :readonly="true" ref="demandRef13"></houseDecoration>
<houseRenovate v-if="item.id==14" :datas="item.datas" :readonly="true" ref="demandRef14"></houseRenovate>
<houseTransaction v-if="item.id==15" :datas="item.datas" :readonly="true" ref="demandRef15"></houseTransaction>
</block>
<block>
<banquetMarry v-if="item.id==17" :datas="item.datas" :readonly="true" ref="demandRef17"></banquetMarry>
<banquetBirthday v-if="item.id==18" :datas="item.datas" :readonly="true" ref="demandRef18"></banquetBirthday>
<banquetFullMoon v-if="item.id==19" :datas="item.datas" :readonly="true" ref="demandRef19"></banquetFullMoon>
<banquetOther v-if="item.id==20" :datas="item.datas" :readonly="true" ref="demandRef20"></banquetOther>
<banquetFuneral v-if="item.id==21" :datas="item.datas" :readonly="true" ref="demandRef21"></banquetFuneral>
</block>
</block>
</view>
</view>
</template>
<script>
import { Toast } from "../../libs/uniApi"
import { informationAdd, informationDetails } from "@/api/information.js"
import districtSelector from "@/components/districtSelector/districtSelector.vue" //
import residents from "@/components/newArchives/residents.vue" //
import breeding from "@/components/newArchives/breeding.vue" //
import store from "@/components/newArchives/store.vue" //
import deepProcessing from "@/components/newArchives/deepProcessing.vue" //
import thickProcessing from "@/components/newArchives/thickProcessing.vue" //
import houseRepair from "@/components/newArchives/houseRepair.vue" //
import houseDecoration from "@/components/newArchives/houseDecoration.vue" //
import houseRenovate from "@/components/newArchives/houseRenovate.vue" //
import houseTransaction from "@/components/newArchives/houseTransaction.vue" //
import banquetMarry from "@/components/newArchives/banquetMarry.vue" //
import banquetBirthday from "@/components/newArchives/banquetBirthday.vue" // 寿
import banquetFullMoon from "@/components/newArchives/banquetFullMoon.vue" //
import banquetOther from "@/components/newArchives/banquetOther.vue" //
import banquetFuneral from "@/components/newArchives/banquetFuneral.vue" //
export default {
components: { districtSelector, residents, breeding, store, deepProcessing, thickProcessing, houseRepair, houseDecoration, houseRenovate,houseTransaction, banquetMarry, banquetBirthday,banquetFullMoon, banquetOther, banquetFuneral },
data() {
return {
readonly: true,
current: 0,
showDemandList: [],
formData: {
id_card: '',
sex: '',
name: '',
phone: '', //
highway: '', //
smart_phone: '', //使
wechat: '', //
address: '', //
age: '', //
category_id: 1,
category_child: 1,
data_type: '1',
},
}
},
onLoad(options) {
this.initInformationDetails({id:options.id})
},
onShow() {},
methods: {
async initInformationDetails(id){
let res = await informationDetails(id);
this.formData = res.data;
},
toastShow(){
Toast('不可修改')
},
},
onPullDownRefresh() {
uni.stopPullDownRefresh()
}
}
</script>
<style lang="scss">
.top_box{
background-color: #fff;
display: flex;
.item{
width: 175rpx;
height: 53rpx;
background: #F5F5F5FF;
color: #999999FF;
border-radius: 35rpx 35rpx 35rpx 35rpx;
opacity: 1;
display: flex;
justify-content: center;
align-items: center;
margin: 28rpx;
}
.active{
background: $theme-oa-color;
color: #fff;
}
}
.card {
background-color: #fff;
margin: 28rpx;
padding: 28rpx;
border-radius: 14rpx;
.item {
margin-top: 30rpx;
&:nth-child(1) {
margin-top: 0;
}
.title {
font-weight: 500;
font-size: 34rpx;
&::before {
width: 8rpx;
height: 26rpx;
border-radius: 4rpx;
background-color: #3175f9;
content: "";
display: inline-block;
margin-right: 8rpx;
}
}
}
.btn {
margin-top: 32rpx;
// margin-bottom: 40rpx;
width: 100%;
height: 84rpx;
background: $theme-oa-color;
border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
}
.delete {
margin: 22rpx 0;
// margin-bottom: 40rpx;
width: 100%;
height: 64rpx;
line-height: 64rpx;
background: #f56c6c;
border-radius: 14rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
}
.plus {
margin: 22rpx 0;
// margin-bottom: 40rpx;
width: 100%;
height: 64rpx;
line-height: 64rpx;
background: $theme-oa-color;
border-radius: 14rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
}
.demand {
margin-top: 40rpx;
margin-bottom: 50rpx;
}
<template>
<view class="">
<!-- <view class="top_box">
<view class="item" :class="current==0?'active':''" @click="current=0">基本信息</view>
<view class="item" :class="current==1?'active':''" @click="current=1">商机信息</view>
</view> -->
<u-sticky bgColor="#fff">
<u-tabs :list="tabLists" @click="changeCurrent" lineColor='#3274F9' :scrollable="false" lineWidth='40'
inactiveStyle='color:#666' activeStyle="color:#3274F9"></u-tabs>
</u-sticky>
<u--form v-show="current==0" labelPosition="left" :model="formData" ref="archives">
<view class="card">
<view class="item">
<view class="title">基本信息</view>
<u-form-item labelWidth="auto" label="户主姓名" required prop="name" borderBottom>
<u--input v-model="formData.name" :readonly="readonly" placeholder="请输入姓名"></u--input>
</u-form-item>
<u-form-item label="性别" required prop="sex" borderBottom>
<u-radio-group v-model="formData.sex" :disabled="readonly" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'男'},{value:2,label:'女'}]" :key="index" :label="item.label"
:name="item.value">
</u-radio>
</u-radio-group>
</u-form-item>
<u-form-item label="年龄" required prop="age" borderBottom>
<u--input v-model="formData.age" :readonly="readonly" placeholder="请输入年龄"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="身份证号" required prop="id_card" borderBottom>
<u--input v-model="formData.id_card" :readonly="readonly" placeholder="请输入身份证号" type="idcard"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="联系方式" required prop="phone" borderBottom>
<u--input v-model="formData.phone" :readonly="readonly" placeholder="请输入手机号" type="number"></u--input>
</u-form-item>
</view>
</view>
<view class="card">
<view class="item">
<districtSelector ref="districtSelectorRef" :datas="formData" :readonly="true"></districtSelector>
<u-form-item labelWidth="auto" label="详细地址" required prop="address" borderBottom>
<u--input v-model="formData.address" :readonly="readonly" placeholder="请输入详细地址"></u--input>
</u-form-item>
<u-form-item labelWidth="auto" label="汽车是否能到家" required prop="highway" borderBottom>
<u-radio-group v-model="formData.highway" :disabled="readonly" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
:name="item.value">
</u-radio>
</u-radio-group>
</u-form-item>
<block value="智能手机">
<u-form-item labelWidth="auto" label="是否使用智能手机" required prop="smart_phone" borderBottom>
<u-radio-group v-model="formData.smart_phone" :disabled="readonly" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
:name="item.value">
</u-radio>
</u-radio-group>
</u-form-item>
<block v-if="formData.smart_phone>0">
<u-form-item labelWidth="auto" label="微信号" required borderBottom>
<u--input v-model="formData.wechat" :readonly="readonly" placeholder="请输入微信号"></u--input>
</u-form-item>
</block>
</block>
</view>
</view>
</u--form>
<residents ref="residentsRef" :readonly="true" :datas="formData"></residents>
<view v-show="current==1">
<block v-for="(item, index) in formData.datas" :key="'demand'+index+item.id">
<block>
<breeding v-if="item.id==32" :datas="item.datas" :readonly="true" ref="demandRef32"></breeding>
<plant v-if="item.id==7" :datas="item.datas" :readonly="true" ref="demandRef7"></plant>
<store v-if="item.id==8" :datas="item.datas" :readonly="true" ref="demandRef8"></store>
<deepProcessing v-if="item.id==9" :datas="item.datas" :readonly="true" ref="demandRef9"></deepProcessing>
<thickProcessing v-if="item.id==10" :datas="item.datas" :readonly="true" ref="demandRef10"></thickProcessing>
</block>
<block>
<houseRepair v-if="item.id==12" :datas="item.datas" :readonly="true" ref="demandRef12"></houseRepair>
<houseDecoration v-if="item.id==13" :datas="item.datas" :readonly="true" ref="demandRef13"></houseDecoration>
<houseRenovate v-if="item.id==14" :datas="item.datas" :readonly="true" ref="demandRef14"></houseRenovate>
<houseTransaction v-if="item.id==15" :datas="item.datas" :readonly="true" ref="demandRef15">
</houseTransaction>
</block>
<block>
<banquetMarry v-if="item.id==17" :datas="item.datas" :readonly="true" ref="demandRef17"></banquetMarry>
<banquetBirthday v-if="item.id==18" :datas="item.datas" :readonly="true" ref="demandRef18"></banquetBirthday>
<banquetFullMoon v-if="item.id==19" :datas="item.datas" :readonly="true" ref="demandRef19"></banquetFullMoon>
<banquetOther v-if="item.id==20" :datas="item.datas" :readonly="true" ref="demandRef20"></banquetOther>
<banquetFuneral v-if="item.id==21" :datas="item.datas" :readonly="true" ref="demandRef21"></banquetFuneral>
</block>
</block>
</view>
</view>
</template>
<script>
import { Toast } from "../../libs/uniApi"
import { informationAdd, informationDetails } from "@/api/information.js"
import districtSelector from "@/components/districtSelector/districtSelector.vue" //
import residents from "@/components/newArchives/residents.vue" //
import breeding from "@/components/newArchives/breeding.vue" //
import plant from "@/components/newArchives/plant.vue" //
import store from "@/components/newArchives/store.vue" //
import deepProcessing from "@/components/newArchives/deepProcessing.vue" //
import thickProcessing from "@/components/newArchives/thickProcessing.vue" //
import houseRepair from "@/components/newArchives/houseRepair.vue" //
import houseDecoration from "@/components/newArchives/houseDecoration.vue" //
import houseRenovate from "@/components/newArchives/houseRenovate.vue" //
import houseTransaction from "@/components/newArchives/houseTransaction.vue" //
import banquetMarry from "@/components/newArchives/banquetMarry.vue" //
import banquetBirthday from "@/components/newArchives/banquetBirthday.vue" // 寿
import banquetFullMoon from "@/components/newArchives/banquetFullMoon.vue" //
import banquetOther from "@/components/newArchives/banquetOther.vue" //
import banquetFuneral from "@/components/newArchives/banquetFuneral.vue" //
export default {
components: { districtSelector, residents, breeding, plant, store, deepProcessing, thickProcessing, houseRepair,
houseDecoration, houseRenovate, houseTransaction, banquetMarry, banquetBirthday, banquetFullMoon, banquetOther,
banquetFuneral },
data() {
return {
tabLists: [{
name: '商机信息',
}, {
name: '基本信息'
}],
readonly: true,
current: 0,
showDemandList: [],
formData: {
id_card: '',
sex: '',
name: '',
phone: '', //
highway: '', //
smart_phone: '', //使
wechat: '', //
address: '', //
age: '', //
category_id: 1,
category_child: 1,
data_type: '1',
},
}
},
onLoad(options) {
this.initInformationDetails({ id: options.id })
},
onShow() {},
methods: {
async initInformationDetails(id) {
let res = await informationDetails(id);
this.formData = res.data;
},
toastShow() {
Toast('不可修改')
},
changeCurrent(e){
this.current = e.index;
}
},
onPullDownRefresh() {
uni.stopPullDownRefresh()
}
}
</script>
<style lang="scss">
.top_box {
background-color: #fff;
display: flex;
.item {
width: 175rpx;
height: 53rpx;
background: #F5F5F5FF;
color: #999999FF;
border-radius: 35rpx 35rpx 35rpx 35rpx;
opacity: 1;
display: flex;
justify-content: center;
align-items: center;
margin: 28rpx;
}
.active {
background: $theme-oa-color;
color: #fff;
}
}
.card {
background-color: #fff;
margin: 28rpx;
padding: 28rpx;
border-radius: 14rpx;
.item {
margin-top: 30rpx;
&:nth-child(1) {
margin-top: 0;
}
.title {
font-weight: 500;
font-size: 34rpx;
&::before {
width: 8rpx;
height: 26rpx;
border-radius: 4rpx;
background-color: #3175f9;
content: "";
display: inline-block;
margin-right: 8rpx;
}
}
}
.btn {
margin-top: 32rpx;
// margin-bottom: 40rpx;
width: 100%;
height: 84rpx;
background: $theme-oa-color;
border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
}
.delete {
margin: 22rpx 0;
// margin-bottom: 40rpx;
width: 100%;
height: 64rpx;
line-height: 64rpx;
background: #f56c6c;
border-radius: 14rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
}
.plus {
margin: 22rpx 0;
// margin-bottom: 40rpx;
width: 100%;
height: 64rpx;
line-height: 64rpx;
background: $theme-oa-color;
border-radius: 14rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
}
.demand {
margin-top: 40rpx;
margin-bottom: 50rpx;
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<view class="page">
<view class="card" v-for="item in list" :key="item.id" @click="navTo('/subpkg/archives/archives?id='+item.id)">
<!-- <view class="card" v-for="item in list" :key="item.id" @click="navTo('/subpkg/archives/archives?id='+item.id)">
<view class="top">
<u--image class="u_avatar" :showLoading="true" :src="item.avatar||'../../static/img/public/man.png'"
width="112.28rpx" height="112.28rpx" shape="circle">
@ -22,7 +22,52 @@
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" /> -->
<view class="personnel_list">
<block v-for="(item, index) in list" :key="item.id">
<view class="personnel_item" @click="navTo('/subpkg/archives/archives?id='+item.id)">
<view class="type" :class="item.is_contract?'type_blue':''">
<image v-if="item.is_contract" src="../../static/icons/ok_w.png"></image>
<image v-else src="../../static/icons/err_w.png"></image>
</view>
<view class="top" style="margin-bottom: 28rpx;">
<view class="left">
<u--image class="u_avatar" :showLoading="true" :src="item.avatar||'../../static/img/public/man.png'"
width="112.28rpx" height="112.28rpx" shape="circle"></u--image>
</view>
<view class="right">
<view class="info_top">
<view class="info_name">{{item.nickname}}</view>
<text class="phone">电话:</text>
<text class="tel">{{item.phone||item.account}}</text>
</view>
<view class="info_bottom">
<text class="item phone">
分管片区:
</text>
<view class="item">
<view class="location">{{ item.city_name+item.area_name+item.street_name }}</view>
</view>
</view>
<view class="company">
<text>
所属公司:
</text>
<view class="itm" v-if="item.company">{{item.company.company_name}}</view>
</view>
</view>
</view>
<u-line color="#999999FF"></u-line>
<view class="bottom" style="margin-top: 28rpx;float: right;">
<view class="look">{{'管理户数: '+item.informationg_count+" 户"}}</view>
</view>
</view>
</block>
<u-empty v-if="loadConfig.status=='nomore'&& list.length==0" icon="/static/img/empty/data.png"></u-empty>
<u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
</view>
</template>
@ -164,7 +209,8 @@
margin-right: 18rpx;
-webkit-background-clip: text;
}
.b_l_text{
.b_l_text {
width: 360rpx;
overflow: hidden;
text-overflow: ellipsis;
@ -178,4 +224,197 @@
}
}
}
.personnel_list {
display: flex;
flex-direction: column;
align-items: center;
padding-bottom: 130rpx;
.personnel_item {
width: 694rpx;
// height: 407rpx;
background: #FFFFFF;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-bottom: 32rpx;
overflow: hidden;
position: relative;
padding: 28rpx;
.type {
width: 50rpx;
height: 50rpx;
background-color: #F02828;
border-radius: 50%;
font-size: 25rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 35rpx;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: 28rpx;
right: 28rpx;
image {
width: 18rpx;
height: 18rpx;
margin-right: 1rpx;
}
}
.type_blue {
background-color: #34A853;
}
.top {
// background-color: #3274F9;
display: flex;
.right {
display: flex;
flex-direction: column;
justify-content: space-around;
margin-left: 28rpx;
font-size: 25rpx;
font-weight: 400;
overflow: hidden;
color: #999999;
.info_top {
display: flex;
align-items: flex-end;
font-size: 25rpx;
font-weight: 400;
color: $theme-oa-color;
margin-bottom: 10rpx;
.info_name {
font-size: 32rpx;
font-weight: 400;
color: #333333;
margin-right: 18rpx;
}
.phone {
margin-left: 30rpx;
color: #999999;
}
.tel {
color: #000;
}
}
.info_bottom {
display: flex;
margin-bottom: 8rpx;
.item {
display: flex;
align-items: center;
}
.phone {
margin-right: 28rpx;
}
.location {
width: 320rpx;
white-space: nowrap;
/* 不换行 */
overflow: hidden;
/* 将超出文本隐藏 */
text-overflow: ellipsis;
/* 使用省略号表示被隐藏的文本 */
color: #000;
}
}
.company {
display: flex;
text {
margin-right: 30rpx;
}
.itm {
width: 320rpx;
white-space: nowrap;
/* 不换行 */
overflow: hidden;
/* 将超出文本隐藏 */
text-overflow: ellipsis;
/* 使用省略号表示被隐藏的文本 */
color: #000;
}
}
}
}
.center {
padding: 28rpx 0;
.top {
font-size: 28rpx;
font-weight: 400;
color: #666666FF;
margin-bottom: 20rpx;
.green {
color: #34A853FF;
}
.yellow {
color: #F9AA32FF;
}
}
.bottom {
display: flex;
justify-content: space-around;
font-size: 25rpx;
font-weight: 400;
color: #999999;
image {
width: 18rpx;
height: 18rpx;
margin-right: 9rpx;
}
}
}
.bottom {
display: flex;
justify-content: center;
.look {
height: 43rpx;
background: #FFFFFF;
border-radius: 26rpx 26rpx 26rpx 26rpx;
opacity: 1;
// border: 2rpx solid $theme-oa-color;
font-size: 28rpx;
font-weight: 400;
margin-left: 28rpx;
color: $theme-oa-color;
display: flex;
justify-content: center;
align-items: center;
}
.sign {
color: #34A853;
// border: 2rpx solid #34A853;
}
.red {
color: #F02828;
// border: 2rpx solid #F02828;
}
}
}
}
</style>

View File

@ -4,20 +4,6 @@
<u-tabs :list="tabLists" @click="changeCurrent" lineColor='#3274F9' :scrollable="false" lineWidth='40'
inactiveStyle='color:#666' activeStyle="color:#3274F9"></u-tabs>
</u-sticky>
<!-- <view class="fixed_box">
<scroll-view :scroll-x="true" style="background-color: #fff;">
<view class="top_box">
<view class="item" :class="current==0?'active':''" @click="current=0">我的公司</view>
<view class="item" :class="current==1?'active':''" @click="current=1">签约公司</view>
<view class="item" :class="current==2?'active':''" @click="current=2">公司财务</view>
<view class="item" :class="current==3?'active':''" @click="current=3">任务情况</view>
</view>
</scroll-view>
<view class="top_box top_box2" v-if="current==1">
<view class="item" :class="currentChild==0?'active':''" @click="currentChild=0;initLoad()">已签约</view>
<view class="item" :class="currentChild==1?'active':''" @click="currentChild=1;initLoad()">未签约</view>
</view>
</view> -->
<view>
<view class="company_info" v-show="current==0">
<company></company>

View File

@ -118,7 +118,6 @@
});
Toast('合同已生成');
this.initCompany();
this.naviTo('/subpkg/submit/submit');
if (this.userInfo.contract.check_status == 3) {
this.timerCount = 60;
this.timer = setInterval(() => {
@ -129,6 +128,7 @@
}
}, 1000);
}
this.naviTo('/subpkg/submit/submit');
},
//
async getPostsms() {

View File

@ -36,7 +36,8 @@
</view>
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText" :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
<u-empty v-if="loadConfig.status=='nomore'&& list.length==0" icon="/static/img/empty/data.png"></u-empty>
<u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText" :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
</template>

View File

@ -26,7 +26,8 @@
</u-form-item>
</view>
<view class="item">
<districtSelector ref="districtSelectorRef"></districtSelector>
<view class="title">地区信息</view>
<!-- <districtSelector ref="districtSelectorRef"></districtSelector> -->
<u-form-item labelWidth="auto" label="详细地址" required prop="address" borderBottom>
<u--input v-model="formData.address" placeholder="请输入详细地址"></u--input>
</u-form-item>
@ -56,11 +57,13 @@
</view>
<residents ref="residentsRef"></residents>
<breeding ref="breedingRef"></breeding>
<plant ref="plantRef"></plant>
<!-- 更多内容 -->
<!-- <block v-for="(item, index) in showDemandList" :key="'demand'+index">
<block>
<breeding v-if="item.id==7" ref="demandRef7"></breeding>
<breeding v-if="item.id==32" ref="demandRef32"></breeding>
<plant v-if="item.id==7" ref="demandRef7"></plant>
<store v-if="item.id==8" ref="demandRef8"></store>
<deepProcessing v-if="item.id==9" ref="demandRef9"></deepProcessing>
<thickProcessing v-if="item.id==10" ref="demandRef10"></thickProcessing>
@ -97,7 +100,8 @@
import { categoryBusinessList } from "@/api/oaPbulic.js"
import districtSelector from "@/components/districtSelector/districtSelector.vue" //
import residents from "@/components/newArchives/residents.vue" //
import breeding from "@/components/newArchives/breeding.vue" //
import breeding from "@/components/newArchives/breeding.vue" //
import plant from "@/components/newArchives/plant.vue" //
import store from "@/components/newArchives/store.vue" //
import deepProcessing from "@/components/newArchives/deepProcessing.vue" //
import thickProcessing from "@/components/newArchives/thickProcessing.vue" //
@ -111,9 +115,24 @@
import banquetOther from "@/components/newArchives/banquetOther.vue" //
import banquetFuneral from "@/components/newArchives/banquetFuneral.vue" //
export default {
components: { districtSelector, residents, breeding, store, deepProcessing, thickProcessing, houseRepair,
houseDecoration, houseRenovate, houseTransaction, banquetMarry, banquetBirthday, banquetFullMoon, banquetOther,
banquetFuneral },
components: {
districtSelector,
residents,
breeding,
plant,
store,
deepProcessing,
thickProcessing,
houseRepair,
houseDecoration,
houseRenovate,
houseTransaction,
banquetMarry,
banquetBirthday,
banquetFullMoon,
banquetOther,
banquetFuneral
},
data() {
return {
demandShow: false,
@ -206,46 +225,57 @@
methods: {
//
async addArchives() {
// Toast('')
let refsDatas = this.loadRefsDatas();
let flag1 = await this.$refs.districtSelectorRef.validate();
let flag2 = await this.$refs.residentsRef.validate();
let flag3 = await this.$refs.breedingRef.validate();
// return console.log(flag1);
this.$refs.archives.validate().then(async (e) => {
if (e==true && flag1==true && flag2==true && flag3==true) {
uni.showLoading()
let districtForm = {
area_id: this.$refs.districtSelectorRef.formData.area,
street_id: this.$refs.districtSelectorRef.formData.street,
village_id: this.$refs.districtSelectorRef.formData.village,
brigade_id: this.$refs.districtSelectorRef.formData.brigade,
try{
// Toast('')
let refsDatas = this.loadRefsDatas();
// let flag1 = await this.$refs.districtSelectorRef.validate();
let flag2 = await this.$refs.residentsRef.validate();
let flag3 = await this.$refs.breedingRef.validate();
let flag4 = await this.$refs.plantRef.validate();
// return console.log(flag1);
this.$refs.archives.validate().then(async (e) => {
if (e == true && flag4 == true && flag2 == true && flag3 == true) {
uni.showLoading()
// let districtForm = {
// area_id: this.$refs.districtSelectorRef.formData.area,
// street_id: this.$refs.districtSelectorRef.formData.street,
// village_id: this.$refs.districtSelectorRef.formData.village,
// brigade_id: this.$refs.districtSelectorRef.formData.brigade,
// }
let res = await informationAdd({
...this.formData,
// ...districtForm,
...this.$refs.residentsRef.residents,
datas: [{
card_id: 32,
datas: {
...this.$refs.breedingRef.formData
}
},
{
card_id: 7,
datas: {
...this.$refs.plantRef.formData
}
},
...refsDatas
]
});
uni.hideLoading()
uni.showToast({
icon: "none",
title: "添加成功",
success: () => {
setTimeout(() => {
uni.navigateBack()
}, 1000)
}
})
}
let res = await informationAdd({
...this.formData,
...districtForm,
...this.$refs.residentsRef.residents,
datas: [{
card_id: 7,
datas: {
...this.$refs.breedingRef.formData
}
},
...refsDatas
]
});
uni.hideLoading()
uni.showToast({
icon: "none",
title: "添加成功",
success: () => {
setTimeout(() => {
uni.navigateBack()
}, 1000)
}
})
}
})
})
}catch(e){
Toast('请填写完整信息')
}
},
//
@ -263,22 +293,22 @@
return datas;
},
//
async initCategoryBusinessList(){
async initCategoryBusinessList() {
let res = await categoryBusinessList();
this.demandList = res.data;
},
//
changeHandler(e) {
if (e.columnIndex == 0) { //,
this.demandListChild = this.demandList[e.indexs[0]].children||[];
this.demandListChild = this.demandList[e.indexs[0]].children || [];
}
},
//
changeDemand: throttle(function(e) {
this.demandShow = false;
if(e.value[1]){
if (e.value[1]) {
this.showDemandList.push(e.value[1]);
}else {
} else {
this.showDemandList.push(e.value[0]);
}
}, 3000),

View File

@ -48,10 +48,12 @@
</view>
</view>
</block>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
<u-empty v-if="loadConfig.status=='nomore'&& userList.length==0" icon="/static/img/empty/data.png"></u-empty>
<u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
<button class="new_btn" @click.stop="navTo('/subpkg/newPersonnel/newPersonnel')">创建账号</button>
<!-- <button class="new_btn" @click.stop="navTo('/subpkg/newPersonnel/newPersonnel')">创建账号</button> -->
<mybtn text="创建账号" @click="navTo('/subpkg/newPersonnel/newPersonnel')"></mybtn>
</view>
</template>
@ -156,8 +158,8 @@
justify-content: center;
align-items: center;
position: absolute;
top: 10rpx;
right: 10rpx;
top: 28rpx;
right: 28rpx;
image {
width: 18rpx;
@ -190,6 +192,7 @@
font-size: 25rpx;
font-weight: 400;
color: $theme-oa-color;
margin-bottom: 10rpx;
.info_name {
font-size: 32rpx;
@ -210,6 +213,7 @@
.info_bottom {
display: flex;
margin-bottom: 8rpx;
.item {
display: flex;
@ -221,7 +225,7 @@
}
.location {
width: 250rpx;
width: 350rpx;
white-space: nowrap;
/* 不换行 */
overflow: hidden;
@ -240,6 +244,13 @@
}
.itm {
width: 350rpx;
white-space: nowrap;
/* 不换行 */
overflow: hidden;
/* 将超出文本隐藏 */
text-overflow: ellipsis;
/* 使用省略号表示被隐藏的文本 */
color: #000;
}
}

View File

@ -277,6 +277,7 @@
}
}, 1000);
}
this.naviTo('/subpkg/submit/submit');
},
//
async getPostsms(){
@ -293,6 +294,7 @@
id: this.userInfo.id
})
Toast('短信已发送');
this.naviTo('/subpkg/submit/submit');
}
},
loadUserDetail() {

View File

@ -2,7 +2,7 @@
<view class="">
<view class="card">
<u--form labelPosition="left" :model="formData" ref="archives">
<view class="item">
<!-- <view class="item" style="margin-top: 30rpx;">
<view class="title">基本信息</view>
<u-form-item labelWidth="auto" label="户主姓名" required prop="name" borderBottom>
<u--input readonly v-model="formData.name" placeholder="请输入姓名"></u--input>
@ -24,11 +24,13 @@
<u-form-item labelWidth="auto" label="联系方式" required prop="phone" borderBottom>
<u--input readonly v-model="formData.phone" placeholder="请输入手机号" type="number"></u--input>
</u-form-item>
</view>
</view> -->
<u-empty v-if="showDemandList.length==0" text="暂无数据,点击下方按钮添加" icon="/static/img/empty/data.png"></u-empty>
<block v-for="(item, index) in showDemandList" :key="'demand'+index">
<block>
<breeding v-if="item.id==7" ref="demandRef7"></breeding>
<breeding v-if="item.id==32" ref="demandRef32"></breeding>
<plant v-if="item.id==7" ref="demandRef7"></plant>
<store v-if="item.id==8" ref="demandRef8"></store>
<deepProcessing v-if="item.id==9" ref="demandRef9"></deepProcessing>
<thickProcessing v-if="item.id==10" ref="demandRef10"></thickProcessing>
@ -48,11 +50,12 @@
</block>
<button class="delete" @click="removeShowDemand(index)">删除以上信息</button>
</block>
<button class="plus demand" @click="demandShow=true">点击添加更多需求</button>
<button class="plus demand" style="margin-bottom: 150rpx;" @click="demandShow=true">点击添加更多需求</button>
<u-picker :show="demandShow" ref="demandRef" :loading="demandLoading" :columns="[demandList, demandListChild]"
keyName="name" @change="changeHandler" @cancel="demandShow = false" @confirm="changeDemand"></u-picker>
</u--form>
<button @click="addArchives" class="btn">完成更新</button>
<!-- <button @click="addArchives" class="btn">完成更新</button> -->
<mybtn text="完成更新" @click="addArchives"></mybtn>
</view>
</view>
</template>
@ -65,6 +68,7 @@
import districtSelector from "@/components/districtSelector/districtSelector.vue" //
import residents from "@/components/newArchives/residents.vue" //
import breeding from "@/components/newArchives/breeding.vue" //
import plant from "@/components/newArchives/plant.vue" //
import store from "@/components/newArchives/store.vue" //
import deepProcessing from "@/components/newArchives/deepProcessing.vue" //
import thickProcessing from "@/components/newArchives/thickProcessing.vue" //
@ -82,6 +86,7 @@
districtSelector,
residents,
breeding,
plant,
store,
deepProcessing,
thickProcessing,
@ -131,6 +136,7 @@
},
//
addArchives: throttle(async function() {
if(this.showDemandList.length==0)return Toast('请先选择需求!');
let refsDatas = await this.loadRefsDatas();
if (!this.updateFlag) return;
uni.showLoading({
@ -145,9 +151,9 @@
icon: 'none',
title: '更新成功',
success() {
setTimeout(()=>{
setTimeout(() => {
uni.navigateBack()
},1000)
}, 1000)
}
})
}, 1000),
@ -157,7 +163,7 @@
let datas = [];
let map = new Map(); // 使mapref
for (let demand of this.showDemandList) {
if(map.get(demand.id)>=0) map.set(demand.id, map.get(demand.id)+1);
if (map.get(demand.id) >= 0) map.set(demand.id, map.get(demand.id) + 1);
else map.set(demand.id, 0);
let now = map.get(demand.id);
try {
@ -169,6 +175,7 @@
} catch (e) {
console.log('err', e);
this.updateFlag = false;
Toast('请完整填写以上数据!')
}
}
return datas;
@ -177,8 +184,9 @@
async initCategoryBusinessList() {
let res = await categoryBusinessList();
// this.demandList = res.data;
this.demandList = res.data.filter(item=>item.id==6);
this.demandList[0].children = this.demandList[0].children.filter(item=>item.id==7||item.id==8);
this.demandList = res.data.filter(item => item.id == 6);
this.demandList[0].children = this.demandList[0].children.filter(item => item.id == 7 || item.id == 8 || item
.id == 32);
this.demandListChild = this.demandList[0].children;
// console.log(this.demandList);
},
@ -215,7 +223,7 @@
<style lang="scss">
.card {
padding-top: 30rpx;
// padding-top: 30rpx;
.item {
background-color: #fff;

View File

@ -8,9 +8,8 @@ import { Toast } from '../libs/uniApi';
import store from '../store';
function toLogin() {
store.commit("LOGOUT");
uni.showToast({
title: '请登录',
title: '请登录',
icon: 'none',
duration: 1000
});
@ -21,7 +20,7 @@ function baseRequestTwo(url, method, data, {
noVerify = false
}) {
let Url = HTTP_REQUEST_URL_THREE,
header = HEADER;
header = HEADER;
if (!noAuth) {
//登录过期自动登录