serveTypes.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  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.postDetailsList) {
  309. this.form.postDetailsList = JSON.parse(option.postDetailsList)
  310. }
  311. //获取收费说明
  312. this.$Request.get('/app/common/type/320').then(res => {
  313. if (res.code == 0) {
  314. this.content = res.data.value.replace("img",
  315. 'img style="width:100%;height:auto"');
  316. }
  317. });
  318. },
  319. onShow() {
  320. if (uni.getStorageSync('postDetailsList')) {
  321. this.form.postDetailsList = uni.getStorageSync('postDetailsList')
  322. this.totalprice = 0
  323. this.form.postDetailsList.map(res => {
  324. this.totalprice += parseInt(res.customizationPrices)
  325. })
  326. this.getMyMoney()
  327. }
  328. },
  329. methods: {
  330. //确认进场时间
  331. timeconfirm(e){
  332. this.form.approachTime = e.year+'-'+e.month+'-'+e.day
  333. },
  334. //删除项目类型/项目福利
  335. removeLable(list,index){
  336. list.splice(index,1)
  337. },
  338. //确认属性
  339. shuxingConfirm(e){
  340. this.form.projectName = e[0].label
  341. },
  342. getShuXingList(){
  343. let data = {
  344. type:'项目甲方'
  345. }
  346. this.$Request.get('/app/dict/list', data).then(res => {
  347. if (res.code == 0) {
  348. if (res.data.length > 0) {
  349. var arr = []
  350. res.data.forEach(d => {
  351. var data = {}
  352. data.label = d.value;
  353. data.value = d.id;
  354. arr.push(data)
  355. });
  356. this.shuxingList = arr
  357. this.shuxingShow = true
  358. }
  359. }
  360. })
  361. },
  362. //选择项目福利
  363. projectFllistConfirm(e) {
  364. console.log(e[0].label, this.projectAward)
  365. let data = e[0].label
  366. var flag=false;
  367. if (this.projectAward.length > 0) {
  368. this.projectAward.forEach(d => {
  369. if (d == data) {
  370. uni.showToast({
  371. title: '该福利已添加,不能重复添加!',
  372. icon: 'none'
  373. })
  374. flag=true;
  375. }
  376. })
  377. if(!flag){
  378. this.projectAward.push(data)
  379. }
  380. } else {
  381. this.projectAward.push(data)
  382. }
  383. },
  384. // 获取项目福利列表
  385. getFlList(){
  386. let data = {
  387. type:'项目福利'
  388. }
  389. this.$Request.get('/app/dict/list', data).then(res => {
  390. if (res.code == 0) {
  391. if (res.data.length > 0) {
  392. var arr = []
  393. res.data.forEach(d => {
  394. var data = {}
  395. data.label = d.value;
  396. data.value = d.id;
  397. arr.push(data)
  398. });
  399. this.list = arr
  400. this.flshow = true
  401. }
  402. }
  403. })
  404. },
  405. //添加项目类型
  406. getType(index) {
  407. let type = ''
  408. if (index == '项目类型') {
  409. type = index
  410. }
  411. let data = {
  412. type: type
  413. }
  414. this.$Request.get('/app/dict/list', data).then(res => {
  415. if (res.code == 0) {
  416. if (res.data.length > 0) {
  417. var arr = []
  418. res.data.forEach(d => {
  419. var data = {}
  420. data.label = d.value;
  421. data.value = d.id;
  422. arr.push(data)
  423. });
  424. this.projectTypelist = arr
  425. this.projectTypeShow = true
  426. }
  427. }
  428. })
  429. },
  430. projectTypelistConfirm(e) {
  431. this.form.projectType = e[0].label
  432. },
  433. // 编辑岗位
  434. bianjiList(item, index) {
  435. uni.navigateTo({
  436. url: '/my/publish/gangws?index=' + index
  437. })
  438. },
  439. //岗位删除
  440. deteList(index) {
  441. this.form.postDetailsList.splice(index, 1)
  442. uni.setStorageSync('postDetailsList', this.form.postDetailsList)
  443. if (this.form.postDetailsList.length>0) {
  444. this.form.postDetailsList = uni.getStorageSync('postDetailsList')
  445. this.totalprice = 0
  446. this.form.postDetailsList.map(res => {
  447. this.totalprice += parseInt(res.customizationPrices)
  448. })
  449. }else{
  450. this.totalprice = 0
  451. }
  452. },
  453. //添加项目福利
  454. openType(index) {
  455. if (index == 1) {
  456. this.getType('项目类型')
  457. } else if (index == 2) {
  458. this.state = index
  459. this.show = true
  460. }
  461. },
  462. cityConfirm(e) {
  463. console.log(e)
  464. // this.form.address = e.province.label + '' + e.city.label + '' + e.area.label
  465. this.form.address = e.province.label + '' + e.city.label + '' + e.area.label
  466. // console.log(e, this.form.address)
  467. },
  468. addGw() {
  469. uni.navigateTo({
  470. url: '/my/publish/gangws?classify=' + this.form.classify
  471. })
  472. },
  473. save() {
  474. if (this.state == 1) {
  475. this.projectType.push(this.typeName)
  476. } else if (this.state == 2) {
  477. this.projectAward.push(this.typeName)
  478. }
  479. this.typeName = ''
  480. this.show = false
  481. },
  482. paysubmitSave(){
  483. this.$Request.postJson('/app/postPush/insertPostPush', this.form).then(ret => {
  484. if (ret.code == 0) {
  485. uni.removeStorageSync('postDetailsList')
  486. uni.showToast({
  487. title: '提交成功',
  488. })
  489. this.submitShow = false
  490. setTimeout(()=>{
  491. uni.redirectTo({
  492. url:'/my/order/myIndex'
  493. })
  494. },1000)
  495. } else {
  496. uni.showToast({
  497. title: ret.msg,
  498. icon: 'error'
  499. })
  500. }
  501. })
  502. },
  503. getMyMoney() {
  504. this.$Request.get("/app/userMoney/selectMyMoney").then(res => {
  505. if (res.code == 0) {
  506. this.customizationMoney = res.data.customizationMoney
  507. if(this.customizationMoney>this.totalprice){
  508. this.customizationMoney = this.totalprice
  509. this.totalprice = 0
  510. }else{
  511. this.totalprice = this.totalprice-this.customizationMoney
  512. }
  513. }
  514. })
  515. },
  516. submit() {
  517. this.form.projectAward = this.projectAward
  518. this.form.projectAward = this.form.projectAward.toString()
  519. if (!this.form.address) {
  520. uni.showToast({
  521. title: '请选择省市',
  522. icon: 'none'
  523. })
  524. return
  525. }
  526. if (!this.form.details) {
  527. uni.showToast({
  528. title: '请填写详细地址',
  529. icon: 'none'
  530. })
  531. return
  532. }
  533. if (!this.form.projectName) {
  534. uni.showToast({
  535. title: '请选择甲方性质',
  536. icon: 'none'
  537. })
  538. return
  539. }
  540. if (!this.form.projectDayNum) {
  541. uni.showToast({
  542. title: '请填写项目工期',
  543. icon: 'none'
  544. })
  545. return
  546. }
  547. if (!this.form.manning) {
  548. uni.showToast({
  549. title: '请填写岗位描述',
  550. icon: 'none'
  551. })
  552. return
  553. }
  554. if (!this.form.email) {
  555. uni.showToast({
  556. title: '请填写电子邮箱',
  557. icon: 'none'
  558. })
  559. return
  560. }
  561. if (!this.form.approachTime) {
  562. uni.showToast({
  563. title: '请选择进场时间',
  564. icon: 'none'
  565. })
  566. return
  567. }
  568. if (!this.form.projectAward) {
  569. uni.showToast({
  570. title: '请填写项目福利',
  571. icon: 'none'
  572. })
  573. return
  574. }
  575. if (!this.projectAward) {
  576. uni.showToast({
  577. title: '请添加项目福利',
  578. icon: 'none'
  579. })
  580. return
  581. }
  582. if (this.form.postDetailsList.length == 0) {
  583. uni.showToast({
  584. title: '请添加岗位',
  585. icon: 'none'
  586. })
  587. return
  588. }
  589. if (!this.form.projectPrincipalName) {
  590. uni.showToast({
  591. title: '请填写联系人',
  592. icon: 'none'
  593. })
  594. return
  595. }
  596. if (!this.form.projectPrincipalPhone) {
  597. uni.showToast({
  598. title: '请填写电话',
  599. icon: 'none'
  600. })
  601. return
  602. }
  603. this.submitShow = true
  604. }
  605. }
  606. }
  607. </script>
  608. <style lang="less">
  609. page {
  610. background: #F2F2F2;
  611. }
  612. .submitShow{
  613. width: 100%;
  614. height: 100%;
  615. display: flex;
  616. justify-content: center;
  617. }
  618. .submitShow-box{
  619. width: 628rpx;
  620. height: 100%;
  621. }
  622. .submitShow-box-title{
  623. width: 100%;
  624. height: 100rpx;
  625. border-bottom: 1rpx solid #EEEEEE;
  626. display: flex;
  627. justify-content: center;
  628. align-items: center;
  629. position: relative;
  630. }
  631. .submitShow-box-title-close{
  632. font-size: 28rpx;
  633. color: #999999;
  634. font-weight: bold;
  635. position: absolute;
  636. left: 0;
  637. top: 50%;
  638. transform: translate(0,-50%);
  639. }
  640. .submitShow-box-title-text{
  641. font-size: 32rpx;
  642. color: #191919;
  643. font-weight: 800;
  644. }
  645. .submitShow-box-item{
  646. width: 100%;
  647. display: flex;
  648. justify-content: space-between;
  649. align-items: center;
  650. margin-top: 45rpx;
  651. }
  652. .submitShow-box-item-l{
  653. color: #191919;
  654. font-size: 28rpx;
  655. }
  656. .submitShow-box-item-r{
  657. color: #191919;
  658. font-size: 24rpx;
  659. font-weight: 800;
  660. }
  661. .submitShow-box-submit{
  662. width: 100%;
  663. height: 88rpx;
  664. display: flex;
  665. justify-content: center;
  666. align-items: center;
  667. background-color: #82A9FE;
  668. border-radius: 4rpx;
  669. margin-top: 40rpx;
  670. color: #FFFFFF;
  671. font-size: 32rpx;
  672. font-weight: bold;
  673. margin-bottom: 30rpx;
  674. }
  675. .bg {
  676. background-color: #FFFFFF;
  677. border-radius: 24upx;
  678. }
  679. .submit {
  680. display: flex;
  681. align-items: center;
  682. justify-content: space-between;
  683. height: 90upx;
  684. background: #FFFFFF;
  685. // border-radius: 16upx;
  686. color: #000;
  687. position: fixed;
  688. bottom: 0;
  689. left: 0;
  690. right: 0;
  691. z-index: 99;
  692. }
  693. .subbtn {
  694. width: 25%;
  695. background: #82A9FE;
  696. color: #FFFFFF;
  697. text-align: center;
  698. height: 90upx;
  699. line-height: 90upx;
  700. }
  701. .btn {
  702. background: #82A9FE;
  703. border-radius: 12upx;
  704. color: #FFFFFF;
  705. text-align: center;
  706. margin: 60upx 30upx;
  707. padding: 21upx 0upx;
  708. }
  709. .label {
  710. background: #E8EFFF;
  711. border-radius: 4upx;
  712. color: #82A9FE;
  713. display: inline-flex;
  714. padding: 14upx 23upx;
  715. }
  716. </style>