updataServeTypes.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. <template>
  2. <view style="padding-bottom:150upx ;">
  3. <view class="text-white padding bg margin" style="border-radius: 24upx;">
  4. <view class="flex align-center margin-bottom-sm justify-between padding-bottom"
  5. @click="cityShow =true">
  6. <view class=" text-bold">项目位置</view>
  7. <view class="text-right flex align-center ">
  8. <view>{{form.address?form.address:'请选择省市区'}}</view>
  9. <view class="margin-left-sm">
  10. <image src="../../static/images/my/right_icon.png" style="width: 12upx;height: 21upx;"></image>
  11. </view>
  12. </view>
  13. </view>
  14. <view class="padding-bottom text-right" style="border-bottom: 1rpx solid #F2F2F2;color: red;font-size: 24rpx;">
  15. * 如需选择其他省请联系客服
  16. </view>
  17. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  18. <view class=" text-bold">详细地址</view>
  19. <view class="text-right flex align-center margin-tb-xs">
  20. <u-input v-model="form.details" placeholder="请输入详细地址" placeholder-style="color:#999999;"
  21. :clearable="false" />
  22. </view>
  23. </view>
  24. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  25. <view class=" text-bold">甲方性质</view>
  26. <view class="text-right flex align-center margin-tb-xs">
  27. <u-input v-model="form.projectName" :disabled="true" @click="getShuXingList()" placeholder="请选择甲方性质" placeholder-style="color:#999999;"
  28. :clearable="false" />
  29. </view>
  30. </view>
  31. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  32. <view class=" text-bold">项目类型</view>
  33. <view class="text-right flex align-center margin-tb-xs">
  34. <u-input v-model="form.projectType" :disabled="true" @click="openType(1)" placeholder="请选择项目类型"
  35. placeholder-style="color:#999999;" :clearable="false" />
  36. </view>
  37. </view>
  38. <view class="flex align-center margin-bottom-sm justify-between"
  39. style="border-bottom: 1rpx solid #F2F2F2;">
  40. <view class=" text-bold">项目工期(月)</view>
  41. <view class="text-right flex align-center margin-bottom-sm">
  42. <u-input v-model="form.projectDayNum" type="number" placeholder="请填写项目工期(月)"
  43. placeholder-style="color:#999999;" :clearable="false" />
  44. </view>
  45. </view>
  46. <view class=" margin-bottom-sm justify-between"
  47. style="border-bottom: 1rpx solid #F2F2F2;">
  48. <view class=" text-bold">施工阶段</view>
  49. <view class="text-right margin-bottom-sm" style="width: 100%;margin-top: 10rpx;">
  50. <textarea v-model="form.construction" placeholder="请填写施工阶段" style="border-radius: 10rpx;background-color: #F2F2F2;text-align: left;width: 100%;height: 200rpx;padding:20rpx;"></textarea>
  51. </view>
  52. </view>
  53. <view class=" margin-bottom-sm justify-between"
  54. style="border-bottom: 1rpx solid #F2F2F2;">
  55. <view class=" text-bold">岗位描述</view>
  56. <view class="text-right margin-bottom-sm" style="width: 100%;margin-top: 10rpx;">
  57. <textarea v-model="form.manning" placeholder="请填写岗位描述" style="border-radius: 10rpx;background-color: #F2F2F2;text-align: left;width: 100%;height: 200rpx;padding: 20rpx"></textarea>
  58. </view>
  59. </view>
  60. <view class="flex align-center justify-between">
  61. <view class=" text-bold">电子邮箱</view>
  62. <view class="text-right margin-bottom-sm">
  63. <u-input v-model="form.email" placeholder="请输入电子邮箱" placeholder-style="color:#999999;"
  64. :clearable="false" />
  65. </view>
  66. </view>
  67. <view class="flex align-center margin-bottom-sm justify-between">
  68. <view class=" text-bold">进场时间</view>
  69. <view class="text-right flex align-center margin-bottom-sm">
  70. <u-input v-model="form.approachTime" :disabled="true" @click="timeShow = true" type="number" placeholder="请选择进场时间"
  71. placeholder-style="color:#999999;" :clearable="false" />
  72. </view>
  73. </view>
  74. </view>
  75. <view class="padding margin bg" style="border-radius: 24upx;">
  76. <view class="padding-bottom-sm margin-top-sm" style="border-bottom: 1rpx solid #F2F2F2;">
  77. <view class="flex align-center justify-between">
  78. <view class=" text-bold">项目福利</view>
  79. <view @click="getFlList()">
  80. <image src="../static/add.png" style="width: 52upx;height: 52upx;"></image>
  81. </view>
  82. </view>
  83. <view class="margin-top-sm text-sm" style="color: #999999;" v-if="projectAward.length==0">添加项目福利</view>
  84. <view class="flex flex-wrap" v-else>
  85. <view v-for="(item,index) in projectAward" :key="index" class="label margin-right-sm" style="margin-bottom: 10rpx;position: relative;">
  86. {{item}}
  87. <u-icon name="close-circle-fill" @click="removeLable(projectAward,index)" color="red" size="28" style="position: absolute;top: -5rpx;right: -5rpx;"></u-icon>
  88. </view>
  89. </view>
  90. </view>
  91. <!-- postDetailsList -->
  92. <view class="padding-bottom-sm margin-top-sm" style="border-bottom: 1rpx solid #F2F2F2;">
  93. <view class="flex align-center justify-between">
  94. <view class=" text-bold">岗位添加</view>
  95. <view @click="addGw">
  96. <image src="../static/add.png" style="width: 52upx;height: 52upx;"></image>
  97. </view>
  98. </view>
  99. <view class="margin-top-sm text-sm" style="color: #999999;">添加岗位会根据你的岗位需求为你推荐</view>
  100. </view>
  101. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  102. <view class=" text-bold">联系人</view>
  103. <view class="text-right flex align-center margin-tb-xs">
  104. <u-input v-model="form.projectPrincipalName" placeholder="请输入联系人"
  105. placeholder-style="color:#999999;" :clearable="false" />
  106. </view>
  107. </view>
  108. <view class="flex align-center justify-between" >
  109. <view class=" text-bold">电话</view>
  110. <view class="text-right flex align-center margin-tb-xs">
  111. <u-input v-model="form.projectPrincipalPhone" type="number" maxlength="11" placeholder="请输入电话"
  112. placeholder-style="color:#999999;" :clearable="false" />
  113. </view>
  114. </view>
  115. </view>
  116. <view class="text-white padding bg margin" style="border-radius: 24upx;" v-if="form.postDetailsList"
  117. v-for="(item,index) in form.postDetailsList" :key="index">
  118. <view class="flex align-center justify-between">
  119. <view class=" text-bold">{{item.postName}}-{{item.rulePostName}}</view>
  120. <view class="flex align-center">
  121. <view @click="bianjiList(item,index)">
  122. <image src="../static/bianji.png" style="width: 35upx;height: 34upx;"></image>
  123. </view>
  124. <view class="margin-left" @click="deteList(index)">
  125. <image src="../static/dete.png" style="width: 38upx;height: 38upx;"></image>
  126. </view>
  127. </view>
  128. </view>
  129. <view class="flex margin-top-xs flex-wrap" style="color: #333333;">
  130. <view class="flex align-center">
  131. <view>{{item.postAge}}</view>
  132. <view class="margin-lr-sm" style="width: 1rpx;height: 25rpx;background: #CCCCCC;">
  133. </view>
  134. </view>
  135. <view class="flex align-center">
  136. <view>{{item.postSex}}</view>
  137. <view class="margin-lr-sm" style="width: 1rpx;height: 25rpx;background: #CCCCCC;">
  138. </view>
  139. </view>
  140. <view class="flex align-center">
  141. <view>{{item.education}}</view>
  142. <view class="margin-lr-sm" style="width: 1rpx;height: 25rpx;background: #CCCCCC;">
  143. </view>
  144. </view>
  145. <view class="flex align-center">
  146. <view>{{item.postPeopleNum}}人</view>
  147. </view>
  148. </view>
  149. <view class="flex align-center justify-between margin-top-sm">
  150. <view class="text-df " style="color: #6696FF;">
  151. <text class="text-bold" style="font-size: 32upx;">{{item.customizationPrices}}
  152. <text style="font-size:20rpx;margin-left: 5rpx;">积分</text>
  153. </text>
  154. </view>
  155. </view>
  156. </view>
  157. <view class="text-white padding bg margin" style="border-radius: 24upx;">
  158. <view class="text-lg text-bold">收费明细</view>
  159. <view class="text-sm margin-top" v-for="(item,index) in form.postDetailsList" style="color: #666666;">
  160. <view class="" style="display: flex;justify-content: space-between;color: #333333;">
  161. <span>{{item.postName}}-{{item.rulePostName}}</span>
  162. <span>x{{item.postPeopleNum}}</span>
  163. </view>
  164. <view class="margin-top flex justify-between">
  165. <span>单价:{{item.customizationPrice}}积分</span>
  166. <span>合计:{{item.customizationPrices}}积分</span>
  167. </view>
  168. </view>
  169. </view>
  170. <view class="text-white padding bg margin" style="border-radius: 24upx;">
  171. <view class="text-lg text-bold">收费说明</view>
  172. <view class="text-sm margin-top" style="color: #666666;" v-html="content"></view>
  173. </view>
  174. <!-- 属性选择 -->
  175. <u-select v-model="shuxingShow" :list="shuxingList" @confirm="shuxingConfirm"></u-select>
  176. <!-- 位置选择 -->
  177. <u-picker v-model="cityShow" mode="region" :params="params" @confirm="cityConfirm"></u-picker>
  178. <u-popup v-model="show" mode="center" border-radius="14" width="600rpx" :closeable="true"
  179. close-icon="close-circle" close-icon-size="44">
  180. <view class="padding-bottom" v-if="state==1">
  181. <view class="text-center text-lg text-bold margin-top">添加项目类型</view>
  182. <view class="margin-lr margin-top-xl padding-lr" style="background: #f5f5f5;">
  183. <u-input v-model="typeName" placeholder="请填写项目类型" inputAlign="text-align:left" />
  184. </view>
  185. <view class="btn" @click="save()">保存</view>
  186. </view>
  187. <view class="padding-bottom" v-if="state==2">
  188. <view class="text-center text-lg text-bold margin-top">添加项目福利</view>
  189. <view class="margin-lr margin-top-xl padding-lr" style="background: #f5f5f5;">
  190. <u-input v-model="typeName" placeholder="请填写项目福利" inputAlign="text-align:left" />
  191. </view>
  192. <view class="btn" @click="save()">保存</view>
  193. </view>
  194. </u-popup>
  195. <!-- 选择项目类型 -->
  196. <u-select v-model="projectTypeShow" :list="projectTypelist" @confirm="projectTypelistConfirm"></u-select>
  197. <view class="submit">
  198. <view class="padding-left" style="">合计:<text style="font-size: 44upx;color: #FF4A28;">{{totalprice}}<text
  199. style="font-size:24rpx;margin-left: 5rpx;">积分</text></text></view>
  200. <view class="subbtn" @click="submit">确认发布</view>
  201. </view>
  202. <!-- 发布弹窗 -->
  203. <u-popup v-model="submitShow" mode="bottom" border-radius="24rpx">
  204. <view class="submitShow">
  205. <view class="submitShow-box">
  206. <view class="submitShow-box-title">
  207. <view class="submitShow-box-title-close" @click="submitShow = false">
  208. 取消
  209. </view>
  210. <view class="submitShow-box-title-text">
  211. 收费明细
  212. </view>
  213. <view class="">
  214. </view>
  215. </view>
  216. <view class="submitShow-box-item" v-for="(item,index) in form.postDetailsList">
  217. <view class="submitShow-box-item-l">
  218. {{item.postName}}-{{item.rulePostName}}<span style="color: #979997;font-size: 26rpx;margin-left: 10rpx;">x{{item.postPeopleNum}}</span>
  219. </view>
  220. <view class="submitShow-box-item-r">
  221. <span style="font-size: 32rpx;">{{parseInt(item.customizationPrice) * parseInt(item.postPeopleNum)}}</span>积分
  222. </view>
  223. </view>
  224. <view class="submitShow-box-item" v-if="customizationMoney!=0">
  225. <view class="submitShow-box-item-l">
  226. 定制化抵扣积分
  227. </view>
  228. <view class="submitShow-box-item-r">
  229. <span style="font-size: 32rpx;">-{{customizationMoney}}</span>积分
  230. </view>
  231. </view>
  232. <view class="submitShow-box-item">
  233. <view class="submitShow-box-item-l" style="color: #82A9FE;font-weight: bold;">
  234. 总费用
  235. </view>
  236. <view class="submitShow-box-item-r" style="color: #2B6CF1;">
  237. <span style="font-size: 32rpx;">{{totalprice}}</span>积分
  238. </view>
  239. </view>
  240. <view class="submitShow-box-submit" @click="paysubmitSave()">
  241. 确认支付
  242. </view>
  243. </view>
  244. </view>
  245. </u-popup>
  246. <!-- 福利选择 -->
  247. <u-select v-model="flshow" :list="list" @confirm="projectFllistConfirm"></u-select>
  248. <!-- 进场时间 -->
  249. <u-picker v-model="timeShow" mode="time" :params="paramsTime" @confirm="timeconfirm"></u-picker>
  250. </view>
  251. </template>
  252. <script>
  253. export default {
  254. data() {
  255. return {
  256. paramsTime: {
  257. year: true,
  258. month: true,
  259. day: true,
  260. hour: false,
  261. minute: false,
  262. second: false
  263. },
  264. timeShow: false,
  265. shuxingShow:false,
  266. shuxingList:[],
  267. flshow:false,
  268. list:[],
  269. submitShow:false,
  270. params: {
  271. province: true,
  272. city: true,
  273. area: true
  274. },
  275. cityShow: false,
  276. form: {
  277. address: '', //省市区
  278. details:'',//详细地址
  279. construction:'',//施工阶段
  280. manning:'',//现配备人员情况
  281. projectName: '', //项目名称
  282. projectType: '', //项目类型
  283. projectAward: '', //项目福利
  284. email: '', //电子邮箱
  285. projectDayNum: '', //项目工期
  286. classify: 1, //分类 1.定制化 2.进准推送
  287. postDetailsList: [], //岗位列表
  288. approachTime:'',//进场时间
  289. projectPrincipalName:'',//联系人
  290. projectPrincipalPhone:'',//电话
  291. },
  292. projectAward: [], //项目福利
  293. show: false,
  294. state: '',
  295. typeName: '',
  296. totalprice: 0,
  297. content: '',
  298. projectTypeShow: false, //项目类型
  299. projectTypelist: [],
  300. customizationMoney:0,
  301. }
  302. },
  303. //离开页面清除岗位缓存
  304. onUnload() {
  305. uni.setStorageSync('postDetailsList', '')
  306. },
  307. onLoad(option) {
  308. if (option.postPushId) {
  309. this.postPushId = option.postPushId
  310. this.getProjectInfo()
  311. }
  312. if (option.postDetailsList) {
  313. this.form.postDetailsList = JSON.parse(option.postDetailsList)
  314. }
  315. //获取收费说明
  316. this.$Request.get('/app/common/type/320').then(res => {
  317. if (res.code == 0) {
  318. this.content = res.data.value.replace("img",
  319. 'img style="width:100%;height:auto"');
  320. }
  321. });
  322. },
  323. onShow() {
  324. if (uni.getStorageSync('postDetailsList')) {
  325. this.form.postDetailsList = uni.getStorageSync('postDetailsList')
  326. this.totalprice = 0
  327. this.form.postDetailsList.map(res => {
  328. this.totalprice += parseInt(res.customizationPrices)
  329. })
  330. this.getMyMoney()
  331. }
  332. },
  333. methods: {
  334. //获取项目详情
  335. getProjectInfo() {
  336. let data = {
  337. postPushId: this.postPushId
  338. }
  339. this.$Request.get('/app/postPush/selectPostPushDetails', data).then(res => {
  340. if (res.code == 0) {
  341. let infoObj = res.data
  342. this.form.address = infoObj.address
  343. this.form.details = infoObj.details
  344. this.form.construction = infoObj.construction
  345. this.form.manning = infoObj.manning
  346. this.form.projectName = infoObj.projectName
  347. this.form.projectDayNum = infoObj.projectDayNum
  348. this.form.email = infoObj.email
  349. this.form.approachTime = infoObj.approachTime
  350. this.form.projectType = infoObj.projectType
  351. this.projectAward = (infoObj.projectAward).split(',')
  352. this.form.classify = infoObj.classify
  353. this.form.companyId = infoObj.companyId
  354. this.form.postPushId = infoObj.postPushId
  355. let res1 = JSON.parse(JSON.stringify(infoObj.postDetailsList).replace(/price/g, 'customizationPrices'))
  356. uni.setStorageSync('postDetailsList', res1)
  357. this.form.postDetailsList = res1
  358. this.form.postDetailsList.map(item=>{
  359. item.customizationPrice = item.customizationPrices / item.postPeopleNum
  360. })
  361. uni.setStorageSync('postDetailsList', this.form.postDetailsList)
  362. this.totalprice = infoObj.payMoney
  363. this.info = infoObj
  364. this.getMyMoney()
  365. }
  366. })
  367. },
  368. //确认进场时间
  369. timeconfirm(e){
  370. this.form.approachTime = e.year+'-'+e.month+'-'+e.day
  371. },
  372. //删除项目类型/项目福利
  373. removeLable(list,index){
  374. list.splice(index,1)
  375. },
  376. //确认属性
  377. shuxingConfirm(e){
  378. this.form.projectName = e[0].label
  379. },
  380. getShuXingList(){
  381. let data = {
  382. type:'项目甲方'
  383. }
  384. this.$Request.get('/app/dict/list', data).then(res => {
  385. if (res.code == 0) {
  386. if (res.data.length > 0) {
  387. var arr = []
  388. res.data.forEach(d => {
  389. var data = {}
  390. data.label = d.value;
  391. data.value = d.id;
  392. arr.push(data)
  393. });
  394. this.shuxingList = arr
  395. this.shuxingShow = true
  396. }
  397. }
  398. })
  399. },
  400. //选择项目福利
  401. projectFllistConfirm(e) {
  402. console.log(e[0].label, this.projectAward)
  403. let data = e[0].label
  404. var flag=false;
  405. if (this.projectAward.length > 0) {
  406. this.projectAward.forEach(d => {
  407. if (d == data) {
  408. uni.showToast({
  409. title: '该福利已添加,不能重复添加!',
  410. icon: 'none'
  411. })
  412. flag=true;
  413. }
  414. })
  415. if(!flag){
  416. this.projectAward.push(data)
  417. }
  418. } else {
  419. this.projectAward.push(data)
  420. }
  421. },
  422. // 获取项目福利列表
  423. getFlList(){
  424. let data = {
  425. type:'项目福利'
  426. }
  427. this.$Request.get('/app/dict/list', data).then(res => {
  428. if (res.code == 0) {
  429. if (res.data.length > 0) {
  430. var arr = []
  431. res.data.forEach(d => {
  432. var data = {}
  433. data.label = d.value;
  434. data.value = d.id;
  435. arr.push(data)
  436. });
  437. this.list = arr
  438. this.flshow = true
  439. }
  440. }
  441. })
  442. },
  443. //添加项目类型
  444. getType(index) {
  445. let type = ''
  446. if (index == '项目类型') {
  447. type = index
  448. }
  449. let data = {
  450. type: type
  451. }
  452. this.$Request.get('/app/dict/list', data).then(res => {
  453. if (res.code == 0) {
  454. if (res.data.length > 0) {
  455. var arr = []
  456. res.data.forEach(d => {
  457. var data = {}
  458. data.label = d.value;
  459. data.value = d.id;
  460. arr.push(data)
  461. });
  462. this.projectTypelist = arr
  463. this.projectTypeShow = true
  464. }
  465. }
  466. })
  467. },
  468. projectTypelistConfirm(e) {
  469. this.form.projectType = e[0].label
  470. },
  471. // 编辑岗位
  472. bianjiList(item, index) {
  473. uni.navigateTo({
  474. url: '/my/publish/updataGangws?index=' + index
  475. })
  476. },
  477. //岗位删除
  478. deteList(index) {
  479. this.form.postDetailsList.splice(index, 1)
  480. uni.setStorageSync('postDetailsList', this.form.postDetailsList)
  481. if (this.form.postDetailsList.length>0) {
  482. this.form.postDetailsList = uni.getStorageSync('postDetailsList')
  483. this.totalprice = 0
  484. this.form.postDetailsList.map(res => {
  485. this.totalprice += parseInt(res.customizationPrices)
  486. })
  487. }else{
  488. this.totalprice = 0
  489. }
  490. },
  491. //添加项目福利
  492. openType(index) {
  493. if (index == 1) {
  494. this.getType('项目类型')
  495. } else if (index == 2) {
  496. this.state = index
  497. this.show = true
  498. }
  499. },
  500. cityConfirm(e) {
  501. console.log(e)
  502. // this.form.address = e.province.label + '' + e.city.label + '' + e.area.label
  503. this.form.address = e.province.label + '' + e.city.label + '' + e.area.label
  504. // console.log(e, this.form.address)
  505. },
  506. addGw() {
  507. uni.navigateTo({
  508. url: '/my/publish/gangws?classify=' + this.form.classify
  509. })
  510. },
  511. save() {
  512. if (this.state == 1) {
  513. this.projectType.push(this.typeName)
  514. } else if (this.state == 2) {
  515. this.projectAward.push(this.typeName)
  516. }
  517. this.typeName = ''
  518. this.show = false
  519. },
  520. paysubmitSave(){
  521. this.$Request.postJson('/app/postPush/insertPostPush', this.form).then(ret => {
  522. if (ret.code == 0) {
  523. uni.removeStorageSync('postDetailsList')
  524. uni.showToast({
  525. title: '提交成功',
  526. })
  527. this.submitShow = false
  528. setTimeout(()=>{
  529. uni.redirectTo({
  530. url:'/my/order/myIndex'
  531. })
  532. },1000)
  533. } else {
  534. uni.showToast({
  535. title: ret.msg,
  536. icon: 'error'
  537. })
  538. }
  539. })
  540. },
  541. getMyMoney() {
  542. this.$Request.get("/app/userMoney/selectMyMoney").then(res => {
  543. if (res.code == 0) {
  544. this.customizationMoney = res.data.customizationMoney
  545. if(this.customizationMoney>this.totalprice){
  546. this.customizationMoney = this.totalprice
  547. this.totalprice = 0
  548. }else{
  549. this.totalprice = this.totalprice-this.customizationMoney
  550. }
  551. }
  552. })
  553. },
  554. submit() {
  555. this.form.projectAward = this.projectAward
  556. this.form.projectAward = this.form.projectAward.toString()
  557. if (!this.form.address) {
  558. uni.showToast({
  559. title: '请选择省市',
  560. icon: 'none'
  561. })
  562. return
  563. }
  564. if (!this.form.details) {
  565. uni.showToast({
  566. title: '请填写详细地址',
  567. icon: 'none'
  568. })
  569. return
  570. }
  571. if (!this.form.projectName) {
  572. uni.showToast({
  573. title: '请选择甲方性质',
  574. icon: 'none'
  575. })
  576. return
  577. }
  578. if (!this.form.projectDayNum) {
  579. uni.showToast({
  580. title: '请填写项目工期',
  581. icon: 'none'
  582. })
  583. return
  584. }
  585. if (!this.form.manning) {
  586. uni.showToast({
  587. title: '请填写岗位描述',
  588. icon: 'none'
  589. })
  590. return
  591. }
  592. if (!this.form.email) {
  593. uni.showToast({
  594. title: '请填写电子邮箱',
  595. icon: 'none'
  596. })
  597. return
  598. }
  599. if (!this.form.approachTime) {
  600. uni.showToast({
  601. title: '请选择进场时间',
  602. icon: 'none'
  603. })
  604. return
  605. }
  606. if (!this.form.projectAward) {
  607. uni.showToast({
  608. title: '请填写项目福利',
  609. icon: 'none'
  610. })
  611. return
  612. }
  613. if (!this.projectAward) {
  614. uni.showToast({
  615. title: '请添加项目福利',
  616. icon: 'none'
  617. })
  618. return
  619. }
  620. if (this.form.postDetailsList.length == 0) {
  621. uni.showToast({
  622. title: '请添加岗位',
  623. icon: 'none'
  624. })
  625. return
  626. }
  627. this.submitShow = true
  628. }
  629. }
  630. }
  631. </script>
  632. <style lang="less">
  633. page {
  634. background: #F2F2F2;
  635. }
  636. .submitShow{
  637. width: 100%;
  638. height: 100%;
  639. display: flex;
  640. justify-content: center;
  641. }
  642. .submitShow-box{
  643. width: 628rpx;
  644. height: 100%;
  645. }
  646. .submitShow-box-title{
  647. width: 100%;
  648. height: 100rpx;
  649. border-bottom: 1rpx solid #EEEEEE;
  650. display: flex;
  651. justify-content: center;
  652. align-items: center;
  653. position: relative;
  654. }
  655. .submitShow-box-title-close{
  656. font-size: 28rpx;
  657. color: #999999;
  658. font-weight: bold;
  659. position: absolute;
  660. left: 0;
  661. top: 50%;
  662. transform: translate(0,-50%);
  663. }
  664. .submitShow-box-title-text{
  665. font-size: 32rpx;
  666. color: #191919;
  667. font-weight: 800;
  668. }
  669. .submitShow-box-item{
  670. width: 100%;
  671. display: flex;
  672. justify-content: space-between;
  673. align-items: center;
  674. margin-top: 45rpx;
  675. }
  676. .submitShow-box-item-l{
  677. color: #191919;
  678. font-size: 28rpx;
  679. }
  680. .submitShow-box-item-r{
  681. color: #191919;
  682. font-size: 24rpx;
  683. font-weight: 800;
  684. }
  685. .submitShow-box-submit{
  686. width: 100%;
  687. height: 88rpx;
  688. display: flex;
  689. justify-content: center;
  690. align-items: center;
  691. background-color: #82A9FE;
  692. border-radius: 4rpx;
  693. margin-top: 40rpx;
  694. color: #FFFFFF;
  695. font-size: 32rpx;
  696. font-weight: bold;
  697. margin-bottom: 30rpx;
  698. }
  699. .bg {
  700. background-color: #FFFFFF;
  701. border-radius: 24upx;
  702. }
  703. .submit {
  704. display: flex;
  705. align-items: center;
  706. justify-content: space-between;
  707. height: 90upx;
  708. background: #FFFFFF;
  709. // border-radius: 16upx;
  710. color: #000;
  711. position: fixed;
  712. bottom: 0;
  713. left: 0;
  714. right: 0;
  715. z-index: 99;
  716. }
  717. .subbtn {
  718. width: 25%;
  719. background: #82A9FE;
  720. color: #FFFFFF;
  721. text-align: center;
  722. height: 90upx;
  723. line-height: 90upx;
  724. }
  725. .btn {
  726. background: #82A9FE;
  727. border-radius: 12upx;
  728. color: #FFFFFF;
  729. text-align: center;
  730. margin: 60upx 30upx;
  731. padding: 21upx 0upx;
  732. }
  733. .label {
  734. background: #E8EFFF;
  735. border-radius: 4upx;
  736. color: #82A9FE;
  737. display: inline-flex;
  738. padding: 14upx 23upx;
  739. }
  740. </style>