Browse Source

企业长图改

master
luyisha 2 years ago
parent
commit
556d4c9e8f
  1. 42
      components/jin-edit/jin-edit.vue
  2. 19
      components/template/diypages.vue
  3. 33
      components/template/formItem.vue
  4. 2
      components/template/workList.vue
  5. 12
      pages.json
  6. 127
      pages/mainPages/Settled/Settled.vue
  7. 28
      pages/mainPages/headline/headlineDetail.vue
  8. 1065
      pages/mainPages/index/index.vue
  9. 2
      pages/mainPages/userset/userset.vue
  10. 136
      pages/subPages/goods/index.vue
  11. 2
      pages/subPages/mineCollection/mineCollection.vue
  12. 47
      pages/subPages2/hirePlatform/companiesList/companiesList.vue
  13. 6
      pages/subPages2/hirePlatform/companyDetails/companyDetails.vue
  14. 4
      pages/subPages2/hirePlatform/recruitmentDetails/recruitmentDetails.vue
  15. 119
      pagesA/ActivityForm/ActivityForm.vue
  16. 114
      pagesA/campusActivities/activitiesExtend.vue
  17. 96
      pagesA/campusActivities/campusActivities.vue
  18. 5
      pagesA/lifeServices/lifeServices.vue

42
components/jin-edit/jin-edit.vue

@ -14,6 +14,8 @@
@focus="editFocus"
@blur="editBlur"
ref="editot"
style="background-color: #fafafa;"
@input="editInput"
></editor>
<!-- 操作工具 -->
<view class="tool-view" >
@ -23,7 +25,7 @@
<jinIcon class="single" type="&#xe6eb;" font-size="44rpx" title="分割线" @click="insertDivider"></jinIcon>
<jinIcon class="single" type="&#xe6e8;" font-size="44rpx" title="撤销" @click="undo"></jinIcon>
<jinIcon class="single" type="&#xe705;" font-size="44rpx" title="重做" @click="redo"></jinIcon>
<jinIcon class="single" type="&#xeb8a;" font-size="44rpx" title="设置" @click="release(true)" :color="set_color"></jinIcon>
<jinIcon v-if="neddSet" class="single" type="&#xeb8a;" font-size="44rpx" title="设置" @click="release(true)" :color="set_color"></jinIcon>
</view>
<!-- 文字相关操作 -->
<view class="font-more" :style="{ height: showMoreTool ? '100rpx' : 0 }">
@ -94,6 +96,10 @@ export default {
// html
html: {
type: String
},
neddSet: {
type: Boolean,
default: false
}
},
computed:{
@ -110,7 +116,8 @@ export default {
showRight: false,
showSettingLayer: false,
activeColor: '#F56C6C',
set_color: '#509DFD',
// set_color: '#509DFD',
set_color: '#666',
};
},
components: {
@ -309,11 +316,20 @@ export default {
this.showSettingLayer = !this.showSettingLayer;
},
async editFocus() {
this.set_color = "#509DFD";
this.$emit('editFocus', this.set_color);
},
editBlur() {
},
editBlur(e) {
// console.log(e.detail.html);
// var text2=this.getText(e.detail.html);
// if(this.isNull(text2) && e.detail.html.indexOf('<img ')==-1 || e.detail.html.replace(/(^\s*)|(\s*$)/g, "")==""){
// return ;
// }else{
// this.set_color = "#509DFD";
// this.$emit('editFocus', this.set_color);
// }
},
editInput(){
return !this.neddSet?this.release(true):undefined;
},
release(isPublic) {
this.set_color = "#666666";
@ -327,6 +343,9 @@ export default {
}
})
},
//
getText(str){return str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, "");},
isNull(str){if ( str == "" ) return true;var regu = "^[ ]+$";var re = new RegExp(regu);return re.test(str);}
}
};
</script>
@ -341,14 +360,17 @@ export default {
.ql-container {
line-height: 160%;
font-size: 34rpx;
width: calc(100% - 60rpx);
/* width: calc(100% - 60rpx); */
width: 100%;
height: auto;
margin: 0 auto;
padding: 10px;
}
.tool-view{
width: 80vw;
position: fixed;
bottom: 0;
width: 100%;
/* position: fixed; */
position: absolute;
/* bottom: 0; */
left: 0;
}

19
components/template/diypages.vue

@ -144,9 +144,24 @@
<!-- pictures 图片展播 -->
<!-- pictures 图片展播 -->
<view class="pictures" :style="'background-color: '+item.style.background" v-if="item.id == 'pictures'">
<scroll-view scroll-x class="pictures-scroll" :style="'height: ((((100vw - '+((item.style.paddingleft * 4) + (item.style.paddingleft * 4))+'rpx) / '+item.params.rownum+') * '+item.data.length+') * ('+item.max_height+' / '+item.max_width+') + '+(item.style.paddingleft * 2)+');'"
<view class="pictures" :style="{'background-color ':item.style.background, 'padding': '0px 30rpx', 'box-sizing': 'border-box'}" v-if="item.id == 'pictures'">
<scroll-view :scroll-x="true" class="pictures-scroll" :style="'height: 365rpx;'+'white-space: nowrap;'"
v-if="item.params.showtype == '1'">
<view class="pictures-d" v-for="(item2, key2) in item.data" :key="key2" :style="'display: inline-block;'+'padding: '+(item.style.paddingtop * 2)+'rpx '+(item.style.paddingleft * 2)+'rpx;'">
<view :class="'a pictures-i row-'+item.params.rownum" @click="navigateTo(item2.linkurl)" :style="{'height':'300rpx','width':'200rpx', 'margin-right': '20rpx'}"
>
<view class="image">
<image class="image" :src="item2.imgurl"  mode="aspectFill" @load="ImgLoad" :style="{'height':'300rpx','width':'200rpx','background-size':'100% '+ ' 100%', 'border-radius': '20rpx'}"></image>
<view class="title" :style="'color: '+item.style.titlecolor+'; text-align: '+item.style.titlealign+';bottom:' + imgHeights[key2] + ';'"
v-if="item2.title !== '' && item2.title !== null">{{ item2.title }}</view>
</view>
<view class="text" :style="'color: '+item.style.textcolor+'; text-align: '+item.style.titlealign+';bottom:' + '0px' + ';'"
v-if="item2.text !== '' && item2.text !== null">{{ item2.text }}</view>
</view>
</view>
</scroll-view>
<scroll-view scroll-x class="pictures-scroll" :style="'height: ((((100vw - '+((item.style.paddingleft * 4) + (item.style.paddingleft * 4))+'rpx) / '+item.params.rownum+') * '+item.data.length+') * ('+item.max_height+' / '+item.max_width+') + '+(item.style.paddingleft * 2)+');'"
v-else-if="0">
<view class="pictures-d" :class="{picturesd: item.params.showtype == '0'}" :style="'width: calc(((100vw - '+((item.style.paddingleft * 4) + (item.style.paddingleft * 4))+'rpx) / '+item.params.rownum+') * '+item.data.length+'); padding: '+(item.style.paddingtop * 2)+'rpx '+(item.style.paddingleft * 2)+'rpx;'">
<view :class="'a pictures-i row-'+item.params.rownum" @click="navigateTo(item2.linkurl)" :style="'width: calc((100vw - '+((item.style.paddingleft * 4) + (item.style.paddingleft * 4))+'rpx) / '+item.params.rownum+'); padding: '+(item.style.paddingtop * 2)+'rpx '+(item.style.paddingleft * 2)+'rpx;'"
v-for="(item2, key2) in item.data" :key="key2">

33
components/template/formItem.vue

@ -23,15 +23,17 @@
:adjust-position="false"
style="position: relative;height: 100upx;line-height: 100upx;margin-left: 0;"
class="flex-box"
@input="inputValue($event, key)"
/>
<!-- createOrderInfo[key].data 是后来生成的不是初始数据v-model无法监听 -->
<!-- 文本域 -->
<textarea
:placeholder="`${item.data.placeholder}`"
:maxlength="item.data.length != '' ? Number(item.data.length) : 9999"
class="f-26 flex-box"
v-model="createOrderInfo[key].data"
placeholder-style="font-size: 26upx"
:style="{ height: item.data.height + 'rpx',marginTop:'32rpx'}"
placeholder-style="font-size: 26upx;line-height: 40rpx;"
:style="{ height: item.data.height + 'rpx',marginTop:'32rpx',lineHeight: '40rpx'}"
v-if="item.id == 'textarea'"
:adjust-position="false"
/>
@ -300,7 +302,8 @@
data: [],
count: count,
key:key,
title:_this.orderSubmitInfo.diyform.list[key].data.title
title:_this.orderSubmitInfo.diyform.list[key].data.title,
is_required: _this.orderSubmitInfo.diyform.list[key].data.is_required
};
if(_this.createOrderInfo['img' + key]){
@ -318,7 +321,8 @@
data: [],
count: count,
key:key,
title:_this.orderSubmitInfo.diyform.list[key].data.title
title:_this.orderSubmitInfo.diyform.list[key].data.title,
is_required: _this.orderSubmitInfo.diyform.list[key].data.is_required
};
_this.createOrderInfo[key + 'multiple'] = [];
@ -358,7 +362,8 @@
data: _this.addtime(_this.orderSubmitInfo.diyform.list[key].data.time_stamp),
count: count,
key:key,
title:_this.orderSubmitInfo.diyform.list[key].data.title
title:_this.orderSubmitInfo.diyform.list[key].data.title,
is_required: _this.orderSubmitInfo.diyform.list[key].data.is_required
};
_this.orderSubmitInfo.diyform.list[key].data.datetime_local= _this.orderSubmitInfo.diyform.list[key].data.datetime_local.replace(/T/g," ");
console.log(_this.createOrderInfo[key].data,_this.orderSubmitInfo.diyform.list[key].data.datetime_local);
@ -381,7 +386,8 @@
data: '',
count: count,
key:key,
title:_this.orderSubmitInfo.diyform.list[key].data.title
title:_this.orderSubmitInfo.diyform.list[key].data.title,
is_required: _this.orderSubmitInfo.diyform.list[key].data.is_required
};
if(_this.orderSubmitInfo.diyform.list[key].id == 'img'){
if(_this.orderSubmitInfo.diyform.list[key].data.value){
@ -413,7 +419,8 @@
data: [],
count: count,
key:key,
title:_this.orderSubmitInfo.diyform.list[key].data.title
title:_this.orderSubmitInfo.diyform.list[key].data.title,
is_required: _this.orderSubmitInfo.diyform.list[key].data.is_required
};
_this.createOrderInfo[key].data[0] = _this.addtime(_this.orderSubmitInfo.diyform.list[key].data.start_time_stamp);
@ -432,7 +439,8 @@
data: [],
count: count,
key:key,
title:_this.orderSubmitInfo.diyform.list[key].data.title
title:_this.orderSubmitInfo.diyform.list[key].data.title,
is_required: _this.orderSubmitInfo.diyform.list[key].data.is_required
};
_this.createOrderInfo['show' + key] = false;
let str = '';
@ -547,10 +555,15 @@
//
}
console.log(_this.createOrderInfo);
_this.formData = _this.orderSubmitInfo.diyform.list;
console.log(_this.createOrderInfo, '--createOrderInfo');
if(_this.orderSubmitInfo.diyform){
//
_this.formData = _this.orderSubmitInfo.diyform.list;
}
console.log(_this.formData, '--formdata');
},
inputValue(e,key){
// console.log(e.detail.value, key);
// this.$set(this.createOrderInfo, key, e.detail.value);
// console.log(this.createOrderInfo)
this.createOrderInfo[key].data = e.detail.value;

2
components/template/workList.vue

@ -43,7 +43,7 @@
<!-- <view class="company-tag" v-else>
个人招聘
</view> -->
<view class="company-tag">
<view class="company-tag" v-if="0">
企业亮点<text style="color: #2196f3;">{{item.recruit_brighten}}</text>
</view>
</view>

12
pages.json

@ -118,6 +118,7 @@
}
}
],
"subPackages": [
{
@ -649,6 +650,17 @@
}
]
},
{
"root": "pagesA/ActivityForm",
"name": "ActivityForm",
"pages": [{
"path": "ActivityForm",
"style": {
"navigationBarTitleText": "活动表单"
}
}
]
},
{
"root": "pages/subPages/bargin",
"name": "bargin",

127
pages/mainPages/Settled/Settled.vue

@ -265,6 +265,18 @@
<span>{{languageStatus!=1?'企业亮点':''}}</span>
<input :placeholder="languageStatus!=1?'请输入企业亮点':''" v-model="userInfo.recruit_brighten" />
</view>
<view class="userInfoInputMain" v-if="switchIndex == 1">
<span style="color:red;width:10rpx;">*</span>
<span>企业类型</span>
<view class="timePickerView" style="width: 336rpx;">
<picker @change="newTypeChange" class="dataPicker" :value="newTypeIndex" range-key="name" :range="newTypeList">
<view class="uni-input">{{newTypeList[newTypeIndex].name}}
</view>
</picker>
<span></span>
</view>
<image :src="imgfixUrls + 'merchant/right.svg'" />
</view>
<view class="twiceTitle" v-if="switchIndex == 1 && 0">
<span>企业幻灯片(750X560)</span>
<view>
@ -279,9 +291,12 @@
</view>
</view>
</view>
<view class="twiceTitle" v-if="switchIndex == 1">
<view class="twiceTitle" v-if="switchIndex == 1" style="display: flex;
align-items: center;
justify-content: space-between;">
<span>企业长图</span>
<view>
<button style="display: inline-block;margin:0px;font-size: 14px;color: #ff4444;background-color: transparent;" open-type="contact" hover-class="none" @click="asfd">个性定制</button>
<view v-if="0">
<!-- 图片预览循环模板 -->
<view class="imgPreview" v-for="(item,index) in userInfo.recruit_long_img" :key="index">
<image :src="item" />
@ -294,6 +309,24 @@
</view>
</view>
</view>
<view class="twiceTitle" style="position: relative;">
<span style="color:red;width:10rpx;">*</span>
<span>企业简介</span>
<jinEdit placeholder="请输入内容" @editOk="editOk1" uploadFileUrl="/#" :html="userInfo.introduction" @editFocus="editFocus1"></jinEdit>
<!-- <view style="margin-top: 10px;font-size: 11px;color: #999;padding-bottom: 10px;">
<text style="color: #f00;margin: 5px;">*</text>
请点击完成编辑
</view> -->
</view>
<view class="twiceTitle" style="position: relative;">
<span style="color:red;width:10rpx;">*</span>
<span>经营业务</span>
<jinEdit placeholder="请输入内容" @editOk="editOk2" uploadFileUrl="/#" :html="userInfo.business" @editFocus="editFocus2"></jinEdit>
</view>
<view class="twiceTitle" style="position: relative;">
<span>企业优势</span>
<jinEdit placeholder="请输入内容" @editOk="editOk3" uploadFileUrl="/#" :html="userInfo.advantage" @editFocus="editFocus3"></jinEdit>
</view>
</view>
</view>
@ -589,6 +622,7 @@
import wPickerb from '@/components/w-picker/w-picker.vue'
import PhoneMask from '@/components/template/PhoneMask';
import getvxphone from '@/components/template/getVXphone.vue'
import jinEdit from '@/components/jin-edit/jin-edit.vue';
// #ifdef H5
import wxApi from '@/common/js/wxApi.js';
// #endif
@ -602,7 +636,8 @@
Loadlogo,
PhoneMask,
wPickerb,
getvxphone
getvxphone,
jinEdit
},
data() {
return {
@ -674,6 +709,9 @@
recruit_brighten: '',//
recruit_adv: [],//
recruit_long_img: [],
introduction: '',//
business: '',//
advantage: '',//
},
phoneHeight: null,
isOpenLaction: false,
@ -715,7 +753,13 @@
startTime:'00:00'
}],
btnOff:false,
addressDisabled:true
addressDisabled:true,
newTypeList: [],//
newTypeIndex: '',
setcolor1: '',
setcolor2: '',
setcolor3: '#666',
};
},
computed: {
@ -763,6 +807,7 @@
_this.provinceidName = _this.languageStatus != 1?'请选择省市区':'성/시/구 선택 입력하세요'
// _this.getloctions();
// _this.init();
this.getNewType();//
},
onHide() {},
watch: {
@ -1523,6 +1568,25 @@
});
return;
}
var text1=this.getText(this.userInfo.introduction);
if(this.isNull(text1) && this.userInfo.introduction.indexOf('<img ')==-1 || this.userInfo.introduction.replace(/(^\s*)|(\s*$)/g, "")==""){
uni.showToast({
icon:'none',
title: '企业简介不能为空',
duration: 2000
});
return ;
}
var text2=this.getText(this.userInfo.business);
if(this.isNull(text2) && this.userInfo.business.indexOf('<img ')==-1 || this.userInfo.business.replace(/(^\s*)|(\s*$)/g, "")==""){
uni.showToast({
icon:'none',
title: '经营业务不能为空',
duration: 2000
});
return ;
}
if (!_this.storeChecked) {
uni.showToast({
@ -1549,6 +1613,7 @@
data.storehours = base64.encode(storehours);
// data.store_housekeep_cate = base64.encode(housekeep_cate);
this.userInfo.sale_id = this.e.sale_id;
data.cc_id = this.newTypeList[this.newTypeIndex].id;
App._post_form('&p=store&do=createStore', data, res => {
uni.setStorageSync('userId', res.data);
_this.userInfo.storeid = res.data.storeid;
@ -1957,6 +2022,60 @@
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
return `${year}-${month}-${day}`;
},
// -
getNewType(){
App._post_form('&p=cultivateClass&do=getCultivateClassChildList', {
cc_id: 8
}, res => {
this.newTypeList = res.data.map(item=>{
return {
...item,
value: item.name
}
});
this.newTypeIndex = 0;
});
},
newTypeChange(e){
this.newTypeIndex = e.detail.value;
},
//
editFocus1(){
this.setcolor1 = "#509DFD";
},
editFocus2(){
this.setcolor2 = "#509DFD";
},
editFocus3(){
this.setcolor3 = "#509DFD";
},
editOk1(res) {
this.userInfo.introduction = res.html;
},
editOk2(res) {
this.userInfo.business = res.html;
},
editOk3(res) {
this.userInfo.advantage = res.html;
},
//
getText(str){return str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, "");},
isNull(str){if ( str == "" ) return true;var regu = "^[ ]+$";var re = new RegExp(regu);return re.test(str);},
//
asfd(){
//#ifdef MP-WEIXIN
this.CustomerService = uni.getStorageSync('CustomerService');
wx.openCustomerServiceChat({
extInfo: {url: this.CustomerService.customerurl||''},
corpId: this.CustomerService.enterpriseid,
success(res) {
}
})
//#endif
}
}
};

28
pages/mainPages/headline/headlineDetail.vue

@ -130,6 +130,9 @@
<view class="hdetail-b-t5">
<view class="hdetail-b-t5-t">
<view class="span">精选留言</view>
<!-- 报名按钮 -->
<view class="join-btn" v-if="datas.basic.diyformid!=0 && !datas.basic.is_enroll" @click="join">立即报名</view>
<view class="join-btn" v-else-if="datas.basic.diyformid!=0 && datas.basic.is_enroll" @click="cancelJoin">取消报名</view>
<view @click="leaveSkip()">写留言<text class="i icon iconfont icon-write"></text></view>
</view>
<view class="hdetail-b-t5-c">
@ -229,6 +232,7 @@
this.getheadlinedl(headline_id);
},
onShow() {
this.getheadlinedl(this.headline_id);
if(this.pagenum == 1){
this.pagenum++;
return
@ -413,6 +417,24 @@
navType: 'rediRect'
})
}
},
//
join(){
uni.navigateTo({
url: '/pagesA/ActivityForm/ActivityForm?template_type=3&activities_id='+this.datas.basic.id+'&diyformid='+this.datas.basic.diyformid
})
},
cancelJoin(){
let _this = this,
data = {
enroll_id: this.datas.basic.is_enroll
}
App._post_form('&p=enroll&do=cancelEnroll', data, res => {
uni.showToast({
title: res.message
})
_this.datas.basic.is_enroll = 0;
})
}
}
}
@ -1390,4 +1412,10 @@
.hd-goods {
border: 1px solid #F6F6F6;
}
.join-btn{
flex: 1;
padding-left: 24rpx;
font-size: 14px;
color: #82d0f7;
}
</style>

1065
pages/mainPages/index/index.vue

File diff suppressed because it is too large

2
pages/mainPages/userset/userset.vue

@ -37,7 +37,7 @@
<view class="content-box b-f padding-box-all bor-radius-10upx f-28 t-c" @click="clearToken">{{languageStatus!=1?'退出登录':'로그아웃'}}</view>
</view>
<view style="color: gray;width: 300rpx;text-align: center;position: fixed;
bottom: 30rpx;left: 50%;margin-left: -150rpx;font-size: 23rpx;">当前版本号:1.0.23</view>
bottom: 30rpx;left: 50%;margin-left: -150rpx;font-size: 23rpx;">当前版本号:1.0.26</view>
<!-- <bindPhone :phoneShow="phoneShow" @clickmask="closePop" @mobileBulr="mobileBulr"></bindPhone> -->
<PhoneMask :show1="show1" @clickmask1="closePop1"></PhoneMask>
<PopManager :show="show2" @clickmask="closeshow">

136
pages/subPages/goods/index.vue

@ -543,6 +543,17 @@
</view>
</view>
</block>
<!-- 位置 -->
<view class="orientation">
<view class="f-32 f-w t-l">所在地址</view>
<view class="dis-flex p-top-bom-30">
<view class="orientation-loc">{{ locateDetails.address }}</view>
<view class="locBnt t-c" @click="openNavigation">
<text class="iconfont icon-daohang1"></text>
<text style="padding-left: 10upx;">导航</text>
</view>
</view>
</view>
<!-- 使用须知 -->
<view class="b-f padding-box-all m-btm20">
<!-- 配置标题 -->
@ -720,10 +731,15 @@
<image :src="imgfixUrls + 'goods/flow.png'"></image>
<view class="goods-footer-item-text">订单</view>
</view> -->
<view class="goods-footer-item dis-flex flex-dir-column flex-x-center" @click="footerNav('user')">
<button class="btn-normal report-btn" form-type="submit"></button>
<view class="goods-footer-item dis-flex flex-dir-column flex-x-center" @click="footerNav('kefu')">
<!-- <button class="btn-normal report-btn" form-type="submit"></button> -->
<button class="btn-normal report-btn" open-type="contact" hover-class="none"
:send-message-title="dataInfo['goods_name']"
:send-message-path="currentPageLink"
:show-message-card="true"
@contact="getDetailContactInfo()"></button>
<image :src="imgfixUrls + 'goods/my.png'"></image>
<view class="goods-footer-item-text">我的</view>
<view class="goods-footer-item-text">客服</view>
</view>
<view class="advfei" v-if="dataInfo.dis_assistant.tipflag == 1 && tipflag == true && TextSubstitution.fxstext">
@ -752,7 +768,17 @@
</view>
<block v-if="goodsType === '1' || goodsType === '2'">
<view class="go-buy dis-flex flex-dir-column flex-y-center flex-x-center p-r flex-box" :class="
<!-- 报名按钮 -->
<view class="go-buy dis-flex flex-dir-column flex-y-center flex-x-center p-r flex-box star-go-buy'"
v-if="dataInfo.diyformid_enroll!=0 && !dataInfo.is_enroll" @click.stop="join">
<text class="f-28 col-f">立即报名</text>
</view>
<view class="go-buy dis-flex flex-dir-column flex-y-center flex-x-center p-r flex-box star-go-buy'"
v-else-if="dataInfo.diyformid_enroll!=0 && dataInfo.is_enroll" @click.stop="cancelJoin">
<text class="f-28 col-f">取消报名</text>
</view>
<view v-else class="go-buy dis-flex flex-dir-column flex-y-center flex-x-center p-r flex-box" :class="
dataInfo['sales_status'] !== 2?
goodsType === '1' && dataInfo.status === '1'?
dataInfo.is_follow === 0
@ -1247,7 +1273,17 @@
td: 'border-right:1px solid gray;border-bottom:1px solid gray;background-color: #f8f8f8;font-size: 10px;'
},
onTogglenum:1,
ifimg:true
ifimg:true,
locateDetails: {
address: '地址信息',
location: {
lat: '',
lng: '',
},
storename: '公司名称'
},
CustomerService:{},
currentPageLink: `/pages/subPages/goods/index?i=1&aid=0&type=1&id=121`
}
},
onLoad(e) {
@ -1308,6 +1344,9 @@
},
onShow() {
this.getGoodsDetail(this.goods_id, this.goodsType);
let pages = getCurrentPages();
this.currentPageLink = pages[pages.length-1].$page.fullPath;
// console.log(pages, this.currentPageLink, '');
},
methods: {
getText(){
@ -1478,6 +1517,15 @@
App._post_form('&p=goods&do=getGoodsDetail', requestData, (result) => {
_this.optionstatus = result.data.optionstatus;
//
_this.locateDetails = {
address: result.data.address,
storename: result.data.storename,
location: {
lat: result.data.lat,
lng: result.data.lng
}
};
if(!!result.data.info_set){
_this.$set(_this.strings,'strings',result.data.info_set.use_info);
}
@ -1580,6 +1628,7 @@
_this.ifimg = false;
}
// return
// console.log(_this.dataInfo.is_enroll, 'is_enroll', _this.dataInfo.diyformid_enroll, 'id');
}, false, () => {
_this.loadlogo = false;
_this.freeofcharge = true;
@ -1918,8 +1967,22 @@
navType: 'reLaunch'
});
return;
} else if (type === "kefu"){
//#ifdef MP-WEIXIN
this.CustomerService = uni.getStorageSync('CustomerService');
wx.openCustomerServiceChat({
extInfo: {url: this.CustomerService.customerurl||''},
corpId: this.CustomerService.enterpriseid,
success(res) {
}
})
//#endif
}
},
getDetailContactInfo(result){
console.log(result, '客服窗口返回信息');
},
/**
* 跳转会员卡
*/
@ -2394,6 +2457,38 @@
changeIfimg(boolean){
if(this.ifimg == boolean) return;
this.ifimg = boolean;
},
//
openNavigation() {
let detailsData = this.locateDetails;
console.log(detailsData, '--detailsData-----');
// #ifdef H5
wxApi.WxopenLocation(detailsData['lat'], detailsData['lng'], detailsData['storename'], detailsData['address']);
// #endif
// #ifdef MP-WEIXIN
App.openLocation(detailsData);
// #endif
//#ifdef APP-PLUS
Map.openMap(Number(detailsData['lat']),Number(detailsData['lng']),detailsData['storename'],'gcj02')
//#endif
},
//
join(){
uni.navigateTo({
url: '/pagesA/ActivityForm/ActivityForm?template_type=2&activities_id='+this.dataInfo.id+'&diyformid='+this.dataInfo.diyformid_enroll
})
},
cancelJoin(){
let _this = this,
data = {
enroll_id: this.dataInfo.is_enroll
}
App._post_form('&p=enroll&do=cancelEnroll', data, res => {
uni.showToast({
title: res.message
})
_this.dataInfo.is_enroll = 0;
})
}
},
onHide() {
@ -2490,4 +2585,35 @@
top: 0px;
z-index: 99;
}
/* 位置 */
.orientation {
border-bottom: 20upx solid #f8f8f8;
padding: 30upx;
background-color: #fff;
}
.orientation .orientation-loc {
flex: 0.8;
font-size: 26upx;
color: #666666;
padding-top: 10upx;
line-height: 28px;
}
.orientation .locBnt {
flex: 0.2;
font-size: 28upx;
color: #3388ff;
border-radius: 60upx;
border: 1upx solid #3388ff;
padding: 10upx 20upx;
align-self: center;
line-height: 20px;
}
.join-btn{
padding: 24rpx;
font-size: 14px;
color: #82d0f7;
border-bottom: 20rpx solid #f8f8f8;
background-color: #fff;
}
</style>

2
pages/subPages/mineCollection/mineCollection.vue

@ -89,7 +89,7 @@
<!-- 列表区域 -->
<postManage :postList="postList" :scollHeight="scollHeight" @loadTips="loadTips" :postLoadText="postLoadText" :source="source" v-if="type == 2"></postManage>
<none-mores v-if="postList.length==0" style="line-height: 80upx;"></none-mores>
<none-mores v-if="type == 2 && postList.length==0" style="line-height: 80upx;"></none-mores>
<!-- <load-more :isMore="postList.length==0" style="line-height: 80upx;"></load-more> -->
<!-- 列表区域 -->

47
pages/subPages2/hirePlatform/companiesList/companiesList.vue

@ -3,7 +3,7 @@
<loadlogo v-if="!loadlogo" />
<far-bottom></far-bottom>
<view v-if="loadlogo">
<view class="dis-flex companiesList" v-if="0">
<view class="dis-flex companiesList" v-if="num===0">
<view style="flex: 0.8;">
<filtertab :pageName="'企业'" :requestType="'8'" :isPageScroll="'1'" @selectAreaid="selectAreaid"
@selectClassid="selectClassid" @getmore="getmore" @getResumeList="getResumeList"
@ -15,7 +15,10 @@
<text class="iconfont icon-unfold" style="padding-left: 10upx;vertical-align: top;"></text>
</view>
</view>
<view class="dis-flex companiesList">
<view style="padding: 0px 30upx;">
<tabs-c :cc_id="cc_id" pageType="" @changeChildType="changeChildType" @search="search" :searchNeed="true"></tabs-c>
</view>
<view class="dis-flex companiesList" v-if="0">
<view class="search-box">
<input class="search-inp" type="text" v-model="keyword">
<button class="search-btn" @click="search">搜索</button>
@ -63,6 +66,7 @@ import filtertab from '@/components/template/filtertab.vue';
import screening from '@/components/template/screening.vue';
import TabBars from '@/components/template/tabBar.vue';
import nonemores from '@/components/template/nonemores.vue'
import tabsC from '@/components/template/tabs/tabs-copy.vue';
export default {
data() {
return {
@ -87,6 +91,8 @@ export default {
AreaidAt:'',
keyword:'',
detailBack: false,//
cc_id: '8',//
cc_cc_id: '1',
};
},
components: {
@ -96,7 +102,8 @@ export default {
filtertab,
screening,
TabBars,
nonemores
nonemores,
tabsC
},
onLoad(e) {
this.locationArray = uni.getStorageSync('agencyData');
@ -107,8 +114,7 @@ export default {
if(this.num != 0){
// debugger
this.confirm();
// this.confirm();
}
},
onShow() {
@ -120,6 +126,10 @@ export default {
}
}
// this.page = 1;
if(this.cc_cc_id){
this.confirm();
}
},
onReachBottom() {
if(this.total < this.page) return
@ -177,6 +187,11 @@ export default {
page_index:this.page_index,
sort: 5
}
if(this.cc_cc_id==63){//63
indata.recommend = 1;
}else{
indata.cc_id = this.cc_cc_id;
}
let data = Object.assign(indata ,this.datas);
App._post_form(
`&p=recruit&do=enterpriseList`,
@ -292,9 +307,27 @@ export default {
selectClassTwoid(data){
console.log(data)
},
search(){
search(e){
this.keyword = e;
this.confirm({title: this.keyword})
}
},
changeChildType(e){
// console.log(e);
this.page = 1;
this.cc_cc_id = e;
this.keyword = '';
this.confirm();
//
// if(this.lng){
// this.getList();
// }else{
// setTimeout(()=>{
// this.changeChildType(e)
// },200)
// }
},
}
};
</script>

6
pages/subPages2/hirePlatform/companyDetails/companyDetails.vue

@ -56,7 +56,7 @@
show-with-animation use-anchor :html="detailsData.introduction"></jyf-parser>
<!-- {{detailsData.introduction || '暂无简介'}} -->
</view>
<view class="lookadd b-f" v-if="detailsData.introduction" @click="islook = !islook">
<view class="lookadd b-f" v-if="detailsData.introduction" @click="changeIslook">
{{islook?'收起':'查看更多'}}
</view>
<view class="content-navigation">
@ -231,6 +231,10 @@
);
},
changeIslook(){
this.islook = !this.islook;
// ,
},
operationShow(e) {
let _this = this;
_this.indexShow = e;

4
pages/subPages2/hirePlatform/recruitmentDetails/recruitmentDetails.vue

@ -247,7 +247,8 @@ export default {
this.detail_page = page;
},
openNavigation() {
let detailsData = this.recruitmentDetails;
let detailsData = this.recruitmentDetails;
console.log(detailsData, '--detailsData-----');
detailsData.location = {
lat: detailsData.work_lat,
lng: detailsData.work_lng
@ -261,6 +262,7 @@ export default {
wxApi.WxopenLocation(detailsData['lat'], detailsData['lng'], detailsData['storename'], detailsData['address']);
// #endif
// #ifdef MP-WEIXIN
detailsData.storename = detailsData.release.name;
App.openLocation(detailsData);
// #endif
//#ifdef APP-PLUS

119
pagesA/ActivityForm/ActivityForm.vue

@ -0,0 +1,119 @@
<template>
<view>
<view class="">
<form @submit="formSubmit">
<form-item ref="formItem" :gopay="gopay" :gopaytwo="gopaytwo" :orderSubmitInfo="orderSubmitInfoData"></form-item>
<view class="uni-btn-v">
<button form-type="submit" class="btn">提交</button>
</view>
</form>
</view>
</view>
</template>
<script>
import App from '@/common/js/app.js';
import formItem from '@/components/template/formItem.vue';
export default {
data() {
return {
diyformid: '',
formInfo: {},
template_type: '',
activities_id: '',
gopay:true,//
orderSubmitInfoData:{},
gopaytwo:true,
}
},
components: {
formItem
},
onLoad(e) {
this.template_type = e.template_type;
this.activities_id = e.activities_id;
this.diyformid = e.diyformid;
this.gopaytwo = false;
this.getJoin();
},
methods: {
formSubmit: function(e) {
this.gopay = false;
this.submitJoin();
},
//
getJoin(){
let _this = this,
data = {
diyformid: this.diyformid
}
App._post_form('&p=enroll&do=getDiyForm', data, res => {
this.orderSubmitInfoData = res.data;
this.formInfo = res.data.diyform;
this.gopaytwo = true;
})
},
//
submitJoin(){
let _this = this,
data = {
diyformid: this.diyformid,
// form_data: JSON.stringify(this.formInfo),
template_type: this.template_type,
activities_id: this.activities_id
}
console.log(this.$refs.formItem);
setTimeout(()=>{
let datas;
if(_this.$refs.formItem && _this.orderSubmitInfoData.diyform){
if( _this.$refs.formItem.ifrequired == false){
uni.showToast({
icon: 'none',
title: '请完善必填信息'
});
return
}
datas = _this.$refs.formItem.formList;
// console.log(JSON.stringify(datas), 'JSON.stringify(datas)--------')
data.form_data = JSON.stringify(datas);
}
uni.showModal({
title: '温馨提示',
content: '请确认是否报名',
success(res) {
if(res.confirm){
App._post_form('&p=enroll&do=saveDiyForm', data, res => {
uni.showToast({
title: res.message
})
this.gopay = true;
setTimeout(()=>{
uni.navigateBack({
delta: 1
})
}, 1000)
})
}
}
})
})
},
}
}
</script>
<style scoped>
.uni-form-item .title {
padding: 20rpx 0;
}
.btn{
color: #fff;
background-color: #82d0f7;
border-radius: 100px;
margin: 10px 24rpx;
}
</style>

114
pagesA/campusActivities/activitiesExtend.vue

@ -15,6 +15,10 @@
</picker>
</view>
<view class="content">
<view class="label">正文必填项</view>
<textarea v-model="activityInfo.describe" maxlength="-1" name="" id="" cols="30" rows="10" placeholder="请输入内容"></textarea>
</view>
<view class="content" v-if="3==='勿删'">
<view class="label">活动内容必填项</view>
<jinEdit placeholder="请输入内容" @editOk="editOk" uploadFileUrl="/#" :html="activityInfo.describe" @editFocus="editFocus"></jinEdit>
<view style="margin-top: 10px;font-size: 11px;color: #999;padding-bottom: 10px;">
@ -23,12 +27,14 @@
</view>
</view>
<view class="promotional">
<view class="label">活动宣传图必填项</view>
<view class="" v-if="activityInfo.promotional_img" style="position: relative;">
<image :src="activityInfo.promotional_img" mode="widthFix" style="width: 100%;height: auto;"></image>
<image :src="imgfixUrls + 'merchant/close.png'" class="close" @click.stop="closePreview()" />
<view class="label">图集必填项</view>
<!-- -->
<view v-for="(item, index) in activityInfo.promotional_img" class="pic_box">
<image :src="imageRootNew2+ item" mode="aspectFill" class="pic_item"></image>
<image :src="imgfixUrls + 'merchant/close.png'" class="close" @click.stop="closePreview(index)" />
</view>
<image v-else :src="imageRootNew+'mb-plus.png'" @click="uploadFiles()" class="plus"></image>
<image :src="imageRootNew+'mb-plus.png'" @click="uploadFiles()" class="plus"></image>
<!-- -->
</view>
<view class="">
<view class="release-btn" @click="saveActivit">确认发布</view>
@ -49,7 +55,7 @@
activityInfo: {
title: '',
describe: '',
promotional_img: '',
promotional_img: [],
cc_id: '',
},
category_list: [],
@ -106,6 +112,8 @@
})
},
saveActivit(){
let _this = this;
console.log(this.activityInfo, 'activityInfo----');
if(this.activityInfo.title.replace(/(^\s*)|(\s*$)/g, "")==""){
uni.showToast({
icon:'none',
@ -122,38 +130,43 @@
});
return ;
}
if(this.setcolor=='#509DFD'){
uni.showToast({
icon:'none',
title: '未保存内容',
duration: 2000
});
return ;
}
function getText(str){return str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, "");}
function isNull(str){if ( str == "" ) return true;var regu = "^[ ]+$";var re = new RegExp(regu);return re.test(str);}
var text=getText(this.activityInfo.describe);
console.log(this.activityInfo.describe, 'this.activityInfo.describe');
console.log(isNull(text),'isNull(text)');
console.log(this.activityInfo.describe.indexOf('<img '),'indexOf');
console.log(this.activityInfo.describe.replace(/(^\s*)|(\s*$)/g, "")=="", 111);
if(isNull(text) && this.activityInfo.describe.indexOf('<img ')==-1 || this.activityInfo.describe.replace(/(^\s*)|(\s*$)/g, "")==""){
uni.showToast({
icon:'none',
title: '内容不能为空',
duration: 2000
});
return ;
}
if(this.activityInfo.promotional_img==""){
// if(this.setcolor=='#509DFD'){
// uni.showToast({
// icon:'none',
// title: '',
// duration: 2000
// });
// return ;
// }
// function getText(str){return str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, "");}
// function isNull(str){if ( str == "" ) return true;var regu = "^[ ]+$";var re = new RegExp(regu);return re.test(str);}
// var text=getText(this.activityInfo.describe);
// console.log(this.activityInfo.describe, 'this.activityInfo.describe');
// console.log(isNull(text),'isNull(text)');
// console.log(this.activityInfo.describe.indexOf('<img '),'indexOf');
// console.log(this.activityInfo.describe.replace(/(^\s*)|(\s*$)/g, "")=="", 111);
// if(isNull(text) && this.activityInfo.describe.indexOf('<img ')==-1 || this.activityInfo.describe.replace(/(^\s*)|(\s*$)/g, "")==""){
// uni.showToast({
// icon:'none',
// title: '',
// duration: 2000
// });
// return ;
// }
if(this.activityInfo.promotional_img.length==0){
uni.showToast({
icon:'none',
title: '宣传图不能为空',
title: '图不能为空',
duration: 2000
});
return ;
}
App._post_form('&p=student&do=publishCampusActivities', this.activityInfo, res => {
let promotional_img = this.activityInfo.promotional_img.join('||');
console.log(promotional_img);
App._post_form('&p=student&do=publishCampusActivities', {
..._this.activityInfo,
promotional_img: promotional_img,
}, res => {
uni.showToast({
title: res.message
})
@ -169,14 +182,15 @@
let _this = this;
// #ifndef H5
wx.chooseImage({
count: 1,
// count: 9 - _this.activityInfo.promotional_img.length,
count: 9,
sourceType: ['album', 'camera'],
success: async function(res) {
for (let i = 0; i < res.tempFilePaths.length; i++) {
let result = await App._MYupLoad(res.tempFilePaths[i]);
console.log(result.data.img, result);
_this.activityInfo.promotional_img = result.data.img;
_this.activityInfo.promotional_img.push(result.data.image);
uni.showToast({
title: result.message
@ -186,8 +200,8 @@
});
// #endif
},
closePreview(){
this.activityInfo.promotional_img = '';
closePreview(i){
this.activityInfo.promotional_img.splice(i, 1);
},
}
}
@ -235,12 +249,34 @@
line-height: 30px;
margin: 20upx 0px;
}
textarea{
font-size: 14px;
border: 1px solid #e6e6e6;
padding: 10px;
height: 160px;
border-radius: 6px;
line-height: 24px;
margin: 20upx 0px;
}
.promotional{
padding-bottom: 10px;
}
.pic_box{
position: relative;display: inline-block;
width: 80px;height: 80px;
margin: 10px 10px 0px 0px;
}
.pic_item{
width: 80px;height: 80px;padding: 0;
border: 1px solid #e6e6e6;
border-radius: 4px;
}
.close{
position: absolute;
width: 20px;
height: 20px;
right: 10px;
top: 10px;
right: 5px;
top: 5px;
}
.plus{
width: 50px;
@ -248,7 +284,7 @@
border: 1px solid #e6e6e6;
border-radius: 4px;
padding: 15px;
margin: 20upx 0px;
margin: 10px 10px 0px 0px;
background-color: #f8f8f8;
}
.release-btn{

96
pagesA/campusActivities/campusActivities.vue

@ -1,6 +1,16 @@
<template>
<view style="padding: 0px 0px 65px;">
<image :src="activitiesInfo.promotional_img" mode="widthFix" style="width: 100vw;height: auto;"></image>
<view class="media_wrapper" v-if="activitiesInfo.promotional_img && activitiesInfo.promotional_img.length>0">
<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"
indicator-active-color="#ffffff">
<swiper-item v-for="(item, index) in activitiesInfo.promotional_img" :key="index">
<view class="swiper-item">
<image :src="item" mode="aspectFill"></image>
</view>
</swiper-item>
</swiper>
</view>
<!-- <image :src="activitiesInfo.promotional_img" mode="widthFix" style="width: 100vw;height: auto;"></image> -->
<view class="content_wrapper">
<view class="title">
{{activitiesInfo.title}}
@ -13,6 +23,8 @@
</view>
<view class="text">发布于{{activitiesInfo.publish_time}}</view>
</view>
<view class="join-btn" v-if="activitiesInfo.diyformid!=0 && !activitiesInfo.is_enroll" @click="join">立即报名</view>
<view class="join-btn" v-if="activitiesInfo.diyformid!=0 && activitiesInfo.is_enroll" @click="cancelJoin">取消报名</view>
<view class="comment-wrapper">
<view class="comment-title">
<view style="flex: 1;">评论<text v-if="0">{{evaluation_list.length}}</text></view>
@ -79,8 +91,6 @@
<image :src="imageRootNew+'leave-g@2x.png'" mode=""></image>
<text>{{evaluation_list.length}}</text>
</view>
<!-- <view class="join-btn" v-if="!activitiesInfo.is_enroll" @click="join">立即报名</view> -->
<!-- <view class="join-btn" v-if="activitiesInfo.is_enroll" @click="cancelJoin">取消报名</view> -->
</view>
<!-- 留言弹窗 -->
<view style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;
@ -98,9 +108,7 @@
data() {
return {
mid: null,
id: null,
cc_cc_id: null,
ccccidList: [],
id: null,//id
label: '',
activitiesInfo: {},
evaluation_list:[],
@ -117,14 +125,10 @@
onLoad(e) {
let _this = this;
this.id = e.id;
if(e.cc_cc_id){
this.cc_cc_id = e.cc_cc_id;
this.getTabData();
}else if(e.name){
if(e.name){
this.label = e.name;
}
this.getDetail();
this.getEvaluationList();
let user_info = uni.getStorageSync('userInfo');
if(!user_info){
@ -136,26 +140,10 @@
_this.mid = user_info.mid;
}
},
onShow() {
this.getDetail();
},
methods: {
getTabData(){
App._post_form(
`&p=cultivateClass&do=getCultivateClassChildList`,
{cc_id: 6},
res => {
if(res.data.length>0){
this.ccccidList = res.data;
this.ccccidList.map(item=>{
if(item.id==this.cc_cc_id){
this.label = item.name;
}
})
}
},
false,
() => {
}
);
},
getDetail(){
let _this = this;
App._post_form('&p=student&do=campusActivitiesFind', {id:_this.id}, res => {
@ -271,38 +259,23 @@
}
})
},
//
//
join(){
let _this = this,
data = {
caid: this.id
}
uni.showModal({
title: '温馨提示',
content: '请确认是否报名',
success(res) {
if(res.confirm){
App._post_form('&p=student&do=immediatelyEnrollActivities', data, res => {
uni.showToast({
title: res.message
})
_this.activitiesInfo.is_enroll = true;
})
}
}
uni.navigateTo({
url: '/pagesA/ActivityForm/ActivityForm?template_type=1&activities_id='+this.id+'&diyformid='+this.activitiesInfo.diyformid
})
},
//
// cancel
cancelJoin(){
let _this = this,
data = {
caid: this.id
enroll_id: this.activitiesInfo.is_enroll
}
App._post_form('&p=student&do=cancelEnrollActivities', data, res => {
App._post_form('&p=enroll&do=cancelEnroll', data, res => {
uni.showToast({
title: res.message
})
_this.activitiesInfo.is_enroll = false;
_this.activitiesInfo.is_enroll = 0;
})
},
favorite(){
@ -363,6 +336,20 @@
display: flex;
align-items: center;
}
.media_wrapper{
width: 100vw;
height: 422rpx;
position: relative;
display: flex;
justify-content: center;
align-items: center;
background-color: #00000d;
swiper, image{
width: 100vw;
height: 422rpx;
}
}
.content_wrapper{
padding: 40upx 24upx;
.title{
@ -394,6 +381,11 @@
}
}
.join-btn{
padding: 24rpx;
font-size: 14px;
color: #82d0f7;
}
.comment-wrapper{
padding: 0px 24upx;

5
pagesA/lifeServices/lifeServices.vue

@ -75,7 +75,10 @@
},
onShow() {
this.page = 1;
this.getList();
if(this.cc_cc_id){
this.getList();
}
},
methods: {
getList(type){

Loading…
Cancel
Save