enterpriseinfo.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. <template>
  2. <div>
  3. <div class="com-mobile-header">
  4. <a @click="goLastPage"><i class="iconfont icon-fanhui"></i></a>
  5. <p>企业信息
  6. <span @click="updateInfo()" v-show="storeState === 'look'"><i class="iconfont icon-edit"></i>编辑</span>
  7. </p>
  8. </div>
  9. <div class="user-content mobile-fix-content">
  10. <div ref="userContent" class="user-center-content">
  11. <div class="scroll">
  12. <!-- 账户管理 -->
  13. <div class="si-wrap" v-if="storeState !== 'look'">
  14. <ul class="infoul infoul2 no-edit" v-if="enterpriseInfo.enName">
  15. <li class="clearfix">
  16. <div class="name pull-left" >企业名称:</div>
  17. <div class="text pull-left">
  18. {{enterpriseInfo.enName || '-'}}
  19. </div>
  20. </li>
  21. <li class="clearfix">
  22. <div class="name pull-left">营业执照号:</div>
  23. <div class="text pull-left">
  24. {{enterpriseInfo.enBussinessCode || '-'}}
  25. </div>
  26. </li>
  27. </ul>
  28. </div>
  29. <div class="si-wrap">
  30. <ul class="infoul infoul2" :class="{'no-edit': !isAdmin}" v-if="enterpriseInfo.enName">
  31. <li class="clearfix" v-if="storeState === 'look'">
  32. <div class="name pull-left">企业名称:</div>
  33. <div class="text pull-left" >
  34. {{enterpriseInfo.enName || '-'}}
  35. </div>
  36. </li>
  37. <li class="clearfix" v-if="storeState === 'look'">
  38. <div class="name pull-left">营业执照号:</div>
  39. <div class="text pull-left">
  40. {{enterpriseInfo.enBussinessCode || '-'}}
  41. </div>
  42. </li>
  43. <li class="clearfix" :class="{border: storeState !== 'look'}" >
  44. <div class="name pull-left" :class="{update: storeState !== 'look'}">注册地址:</div>
  45. <div class="text pull-left" v-if="storeState === 'look'">
  46. {{enterpriseInfo.enAddress || '-'}}
  47. </div>
  48. <div v-else class="text pull-left">
  49. <input v-model="enterpriseInfo.enAddress" type="text" :disabled="enterpriseInfo.enValidCode === 2"/>
  50. </div>
  51. </li>
  52. <li class="clearfix" :class="{border: storeState !== 'look'}">
  53. <div class="name pull-left" :class="{update: storeState !== 'look'}">官网地址:</div>
  54. <div class="text pull-left" v-if="storeState === 'look'">
  55. {{enterpriseInfo.enUrl || '-'}}
  56. </div>
  57. <div v-else class="text pull-left">
  58. <input v-model="enterpriseInfo.enUrl" type="text"/>
  59. </div>
  60. </li>
  61. <li class="clearfix" :class="{border: storeState !== 'look'}">
  62. <div class="name pull-left" :class="{update: storeState !== 'look'}">所属行业:</div>
  63. <div class="text pull-left" v-if="storeState === 'look'">
  64. {{enterpriseInfo.enIndustry || '-'}}
  65. </div>
  66. <div v-else class="text pull-left clearfix" @click="isShowTypeAlert = true">
  67. <div class="text pull-left update" style="width: 4rem">
  68. {{enterpriseInfo.enIndustry || '-'}}
  69. </div>
  70. <div class="moreIcon pull-right">
  71. <img src="/images/store/default/moreicon.png" />
  72. </div>
  73. </div>
  74. </li>
  75. <li class="clearfix" :class="{border: storeState !== 'look'}">
  76. <div class="name pull-left" :class="{update: storeState !== 'look'}" style="margin-top: 0.04rem;">经营范围:</div>
  77. <div class="text pull-left" v-if="storeState === 'look'" >
  78. <span v-for="item in scopeLabel" class="label">
  79. {{item}}
  80. </span>
  81. <span class="text pull-left nolabel" v-if="scopeLabel.length == 0">
  82. 无标签信息
  83. </span>
  84. </div>
  85. <div v-else class="text pull-left">
  86. <label v-for="item in scopeLabel" class="labelKuang" v-show="AddBtnShow">
  87. <span class="Updatelabel">
  88. {{item}}
  89. </span>
  90. <span class="updatespan"@click="addBtn(item)">删除</span>
  91. </label>
  92. <span class="addBtn" v-show="AddBtnShow" @click="addBtn()"></span>
  93. <div class="commit" v-show="!AddBtnShow">
  94. <input type="text" placeholder="请输入不大于10个字符" maxlength="10" class="inputText" v-model="labelText"/>
  95. <button @click="saveLabel()">确定</button>
  96. </div>
  97. </div>
  98. </li>
  99. </ul>
  100. </div>
  101. <div class="control clearfix" v-if="storeState !== 'look'">
  102. <div class="cancel" @click="storeInfosave('cancel')">取消</div>
  103. <div class="save" @click="storeInfosave()">保存</div>
  104. </div>
  105. <!-- 选择行业弹窗 -->
  106. </div>
  107. </div>
  108. </div>
  109. <!-- /end 账户管理 -->
  110. <div class="mobile-modal" v-show="isShowTypeAlert">
  111. <div class="modal-content">
  112. <div class="content-title">
  113. 所属行业
  114. <i class="el-icon-close" @click="isShowTypeAlert = false"></i>
  115. </div>
  116. <div class="content-title-label clearfix" >
  117. <div v-for="(item, index) in ContentTitleArray" @click="chooseTitle(index)">
  118. <a :class="{active: index === titleActive}">{{item}}</a>
  119. </div>
  120. </div>
  121. <div class="content-info" v-if="TypeListShow.firstListShow">
  122. <div v-for="(item, index) in TypeList.firstList" class="content-info-item" :class="{active: index === TypeListActive.firstListActive}" @click="chooseItem('firstList', item, index)" >
  123. {{item}}<img src="/images/mobile/@2x/getlabel_icon.png" v-show="index === TypeListActive.firstListActive"/>
  124. </div>
  125. </div>
  126. <div class="content-info" v-if="TypeListShow.secondsListShow">
  127. <div v-for="(item, index) in TypeList.secondsList" class="content-info-item" :class="{active: index === TypeListActive.secondsListActive}" @click="chooseItem('secondsList', item, index)" >
  128. {{item}}
  129. <img src="/images/mobile/@2x/getlabel_icon.png" v-show="index === TypeListActive.secondsListActive"/>
  130. </div>
  131. </div>
  132. <div class="content-info" v-if="TypeListShow.threetListShow">
  133. <div v-for="(item, index) in TypeList.threetList" class="content-info-item" :class="{active: index === TypeListActive.threetListActive}" @click="chooseItem('threetList', item, index)" >
  134. {{item}}
  135. <img src="/images/mobile/@2x/getlabel_icon.png" v-show="index === TypeListActive.threetListActive"/>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. <!-- /end 选择行业弹窗 -->
  141. <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
  142. <!--<loading v-show="isSearchSearchingMore"></loading>-->
  143. <div v-if="enterprise && false"></div>
  144. </div>
  145. </template>
  146. <script>
  147. import BScroll from 'better-scroll'
  148. import { RemindBox } from '~components/mobile/common'
  149. export default {
  150. layout: 'mobileNoHeader',
  151. middleware: 'authenticated',
  152. data() {
  153. return {
  154. timeoutCount: 0,
  155. collectResult: '',
  156. storeState: 'look',
  157. admininfo: {}, // 管理员信息
  158. labelText: '',
  159. scopeLabel: [],
  160. ContentTitleArray: ['', '', ''], // 行业数组
  161. isShowTypeAlert: false, // 是否现在所属行业弹窗
  162. TypeList: {
  163. firstList: [],
  164. secondsList: [],
  165. threetList: []
  166. },
  167. TypeListActive: {
  168. firstListActive: '',
  169. secondsListActive: '',
  170. threetListActive: ''
  171. },
  172. TypeListShow: {
  173. firstListShow: true,
  174. secondsListShow: false,
  175. threetListShow: false
  176. },
  177. enterpriseInfo: {},
  178. titleActive: '',
  179. TypeObj: {},
  180. AddBtnShow: true
  181. }
  182. },
  183. components: {
  184. RemindBox
  185. },
  186. methods: {
  187. chooseTitle(key) {
  188. if (key === 0) {
  189. this.TypeListShow = {
  190. firstListShow: true,
  191. secondsListShow: false,
  192. threetListShow: false
  193. }
  194. this.titleActive = 0
  195. } else if (key === 1) {
  196. this.TypeListShow = {
  197. firstListShow: false,
  198. secondsListShow: true,
  199. threetListShow: false
  200. }
  201. this.titleActive = 1
  202. } else if (key === 2) {
  203. this.TypeListShow = {
  204. firstListShow: false,
  205. secondsListShow: true,
  206. threetListShow: false
  207. }
  208. this.titleActive = 2
  209. }
  210. },
  211. chooseItem(listIndex, key, index) {
  212. if (listIndex === 'firstList') {
  213. this.TypeListActive.firstListActive = index
  214. this.ContentTitleArray[0] = key
  215. // alert(this.ContentTitleArray)
  216. this.TypeList.secondsList = []
  217. this.titleActive = 0
  218. if (this.TypeObj[key] instanceof Array) {
  219. this.TypeList.secondsList = this.TypeObj[key]
  220. } else {
  221. for (let i of Object.keys(this.TypeObj[key])) {
  222. this.TypeList.secondsList.push(i)
  223. }
  224. }
  225. this.TypeListShow = {
  226. firstListShow: false,
  227. secondsListShow: true,
  228. threetListShow: false
  229. }
  230. this.TypeListActive.secondsListActive = ''
  231. this.TypeListActive.threetListActive = ''
  232. for (let i = 1; i < this.ContentTitleArray.length; i++) {
  233. this.ContentTitleArray.splice(i, 1)
  234. }
  235. } else if (listIndex === 'secondsList') {
  236. this.TypeList.threetList = []
  237. this.TypeListActive.secondsListActive = index
  238. this.TypeListActive.threetListActive = ''
  239. this.ContentTitleArray[1] = key
  240. this.titleActive = 1
  241. if (this.TypeObj[this.ContentTitleArray[0]][key] instanceof Array) {
  242. this.TypeList.threetList = this.TypeObj[this.ContentTitleArray[0]][key] ? this.TypeObj[this.ContentTitleArray[0]][key] : []
  243. }
  244. for (let i = 2; i < this.ContentTitleArray.length; i++) {
  245. this.ContentTitleArray.splice(i, 1)
  246. }
  247. if (this.TypeList.threetList.length > 0) {
  248. this.TypeListShow = {
  249. firstListShow: false,
  250. secondsListShow: false,
  251. threetListShow: true
  252. }
  253. } else {
  254. this.enterpriseInfo.enIndustry = key
  255. this.isShowTypeAlert = false
  256. this.TypeListShow = {
  257. firstListShow: false,
  258. secondsListShow: true,
  259. threetListShow: false
  260. }
  261. }
  262. } else if (listIndex === 'threetList') {
  263. this.titleActive = 2
  264. this.TypeListActive.threetListActive = index
  265. this.ContentTitleArray[2] = key
  266. this.enterpriseInfo.enIndustry = key
  267. this.isShowTypeAlert = false
  268. this.TypeListShow = {
  269. firstListShow: false,
  270. secondsListShow: false,
  271. threetListShow: true
  272. }
  273. }
  274. },
  275. addBtn(text) {
  276. if (text !== undefined) {
  277. this.scopeLabel = []
  278. let ms = this.enterpriseInfo.enBusinessScope.split(',')
  279. let _newArr = ms.slice()
  280. for (let j = 0; j < ms.length; j++) {
  281. if (ms[j].trim() === text) {
  282. _newArr.splice(j, 1)
  283. }
  284. }
  285. if (_newArr.length === 0) {
  286. this.enterpriseInfo.enBusinessScope = ''
  287. this.scopeLabel = []
  288. } else {
  289. this.enterpriseInfo.enBusinessScope = _newArr.join(',')
  290. this.scopeLabel = this.enterpriseInfo.enBusinessScope.split(',')
  291. }
  292. return false
  293. }
  294. this.AddBtnShow = false
  295. },
  296. saveLabel() {
  297. if (this.labelText === '') {
  298. this.AddBtnShow = true
  299. return false
  300. }
  301. if (this.labelText.length > 10) {
  302. this.collectResult = '标签文字不能超过10个字'
  303. this.timeoutCount++
  304. return false
  305. }
  306. this.AddBtnShow = true
  307. if (this.IsChange !== '' && this.IsChange !== undefined) {
  308. let ms = this.enterpriseInfo.enBusinessScope.split(',')
  309. for (let j = 0; j < ms.length; j++) {
  310. if (ms[j].trim() === this.IsChange) {
  311. ms[j] = this.labelText
  312. }
  313. }
  314. this.enterpriseInfo.enBusinessScope = ms.join(',')
  315. } else {
  316. if (!this.enterpriseInfo.enBusinessScope) {
  317. this.enterpriseInfo.enBusinessScope = this.labelText
  318. } else {
  319. this.enterpriseInfo.enBusinessScope += ',' + this.labelText
  320. }
  321. }
  322. this.labelText = ''
  323. this.IsChange = ''
  324. this.scopeLabel = this.enterpriseInfo.enBusinessScope.split(',')
  325. // this.enterpriseInfo.enBusinessScope.push(this.labelText)
  326. },
  327. swtichTab(_tp) {
  328. this.activeType = _tp
  329. this.storeState = 'look'
  330. this.isSearchSearchingMore = true
  331. this.updateEnterpriseInfo()
  332. },
  333. setRemindText (str) {
  334. this.collectResult = str
  335. this.timeoutCount++
  336. },
  337. updateInfo() {
  338. if (!this.isAdmin) {
  339. this.setRemindText('您无该模块的编辑权限,请联系企业管理员进行编辑维护!')
  340. return
  341. }
  342. this.storeState = 'update'
  343. this.Islook = true
  344. this.hidelook = true
  345. this.BScroll.refresh()
  346. },
  347. storeInfosave(_tp) {
  348. this.BScroll.refresh()
  349. if (_tp === 'cancel') {
  350. this.clearInfo()
  351. this.scopeLabel = []
  352. let str = JSON.stringify(this.$store.state.supplier.material.enUser.data)
  353. this.enterpriseInfo = JSON.parse(str)
  354. if (this.enterpriseInfo.enBusinessScope) {
  355. this.scopeLabel = this.enterpriseInfo.enBusinessScope.split(',')
  356. }
  357. return
  358. }
  359. if (!this.enterpriseInfo.enAddress) {
  360. this.collectResult = '企业地址不能为空'
  361. this.timeoutCount++
  362. return false
  363. }
  364. if (!this.enterpriseInfo.enUrl) {
  365. this.collectResult = '官网地址不能为空'
  366. this.timeoutCount++
  367. return false
  368. }
  369. this.$http.post(`/basic/enterprise/${this.user.data.enterprise.uu}/updateInfo`, this.enterpriseInfo).then(res => {
  370. this.collectResult = '保存成功'
  371. this.timeoutCount++
  372. this.storeState = 'look'
  373. }).catch(err => {
  374. this.collectResult = err.response.data
  375. this.timeoutCount++
  376. let str = JSON.stringify(this.$store.state.supplier.material.enUser.data)
  377. this.enterpriseInfo = JSON.parse(str)
  378. })
  379. },
  380. clearInfo() {
  381. this.storeState = 'look'
  382. this.labelText = ''
  383. this.IsChange = ''
  384. this.AddBtnShow = true
  385. }
  386. },
  387. computed: {
  388. enterprise() {
  389. let str = JSON.stringify(this.$store.state.supplier.material.enUser.data)
  390. this.enterpriseInfo = JSON.parse(str)
  391. return ''
  392. },
  393. isAdmin () {
  394. return this.user.data.userUU === this.user.data.enterprise.enAdminuu
  395. }
  396. },
  397. created () {
  398. this.$http.get('/data/profession.json').then(response => {
  399. this.TypeObj = response.data
  400. for (let i of Object.keys(response.data)) {
  401. this.TypeList.firstList.push(i)
  402. }
  403. })
  404. this.$store.dispatch('supplier/loadEnUser', {enUU: this.user.data.enterprise.uu, filter: 'enUU'}).then(res => {
  405. this.scopeLabel = this.enterpriseInfo.enBusinessScope ? this.enterpriseInfo.enBusinessScope.split(',') : []
  406. })
  407. },
  408. mounted() {
  409. this.$nextTick(() => {
  410. if (this.BScroll) {
  411. this.BScroll.refresh()
  412. } else {
  413. this.BScroll = new BScroll(this.$refs.userContent, {
  414. click: true
  415. })
  416. }
  417. })
  418. }
  419. }
  420. </script>
  421. <style scoped lang="scss">
  422. .com-mobile-header {
  423. i {
  424. font-size: .36rem;
  425. position: relative;
  426. top: .04rem;
  427. right: .02rem;
  428. }
  429. }
  430. .user-content{
  431. background: #f1f3f6;
  432. .si-wrap {
  433. width: 7.1rem;
  434. margin: 0 auto;
  435. background: #fff;
  436. border-radius: .05rem;
  437. }
  438. .user-center-content {
  439. height: 100%;
  440. overflow: hidden;
  441. }
  442. .scroll {
  443. padding-bottom: 0.4rem;
  444. }
  445. .topinfo {
  446. color: #333;
  447. font-size: 0.28rem;
  448. height: 0.8rem;
  449. line-height: 0.8rem;
  450. padding: 0 0.24rem;
  451. border-bottom: 0.01rem solid #d9d9d9;
  452. .pull-right {
  453. color: #999;
  454. font-size: 0.26rem;
  455. img {
  456. width: 0.34rem;
  457. height: 0.34rem;
  458. }
  459. }
  460. }
  461. .infoul {
  462. color: #666;
  463. font-size: 0.28rem;
  464. margin: .24rem 0;
  465. .upload {
  466. img {
  467. transform: rotate(180deg);
  468. }
  469. }
  470. li {
  471. border-bottom: .01rem solid #d9d9d9;
  472. min-height: 1.16rem;
  473. line-height: normal;
  474. padding: .4rem .28rem;
  475. &.border {
  476. border-bottom: 0.01rem solid #d9d9d9;
  477. }
  478. &.noupdate {
  479. background: #fafafa;
  480. color: #999;
  481. }
  482. }
  483. .name {
  484. width: 1.6rem;
  485. text-align: right;
  486. color: #226ce7;
  487. }
  488. &.no-edit {
  489. color: #999;
  490. .name {
  491. color: #999;
  492. }
  493. li:last-child {
  494. border-bottom: none;
  495. }
  496. }
  497. .text {
  498. width: 4.4rem;
  499. }
  500. .update {
  501. padding: 0.06rem 0 0.06rem 0rem;
  502. }
  503. input {
  504. width: 4.4rem;
  505. border: 0px solid #b4b4b4;
  506. padding: 0.06rem 0 0.06rem 0.12rem;
  507. }
  508. textarea{
  509. width: 4.4rem;
  510. padding: 0.06rem 0 0.06rem 0.12rem;
  511. overflow: visible;
  512. resize: none;
  513. border: 0 solid #b4b4b4;
  514. }
  515. }
  516. .control {
  517. width: 90%;
  518. margin: 0.4rem auto 0rem;
  519. height: .88rem;
  520. line-height: 0.88rem;
  521. }
  522. .save {
  523. border-radius: 3px;
  524. width: 48%;
  525. color: #fff;
  526. text-align: center;
  527. height: .88rem;
  528. line-height: 0.88rem;
  529. background: #3e82f5;
  530. float: right;
  531. }
  532. .cancel {
  533. border-radius: 3px;
  534. width: 48%;
  535. background: #acabab;
  536. color: #fff;
  537. text-align: center;
  538. height: .88rem;
  539. line-height: 0.88rem;
  540. float: left;
  541. }
  542. .infoul2 {
  543. .name {
  544. width: 1.7rem;
  545. }
  546. .text {
  547. width: 4.3rem;
  548. }
  549. input {
  550. width: 4.3rem;
  551. }
  552. .nolabel {
  553. position: relative;
  554. width: auto;
  555. text-align: center;
  556. color: #666;
  557. font-size: 0.24rem;
  558. display: inline-block;
  559. vertical-align: top;
  560. padding: 2px 4px;
  561. margin: 0.02rem 3px 0px;
  562. background: #f2f3f7;
  563. border-radius: 5px;
  564. }
  565. .label {
  566. max-width: 3rem;
  567. padding: 2px 4px;
  568. margin: 0.08rem 3px 0 3px;
  569. background: #5078cb;
  570. border-radius: 5px;
  571. text-align: center;
  572. color: #fff;
  573. font-size: 0.24rem;
  574. display: inline-block;
  575. vertical-align: top;
  576. }
  577. .labelKuang {
  578. background: #fff;
  579. border: 1px solid #b4b4b4;
  580. border-radius: 3px;
  581. overflow: hidden;
  582. height: 0.53rem;
  583. line-height: 0.53rem;
  584. display: inline-block;
  585. vertical-align: top;
  586. margin: 0px 3px 3px 3px;
  587. font-size: 0px;
  588. }
  589. .Updatelabel {
  590. padding: 0 4px;
  591. color: #666;
  592. font-size: 0.26rem;
  593. height: 100%;
  594. display: inline-block;
  595. vertical-align: top;
  596. max-width: 3rem;
  597. }
  598. .updatespan {
  599. background: #b5b5b5;
  600. color: #fff;
  601. font-size: 0.26rem;
  602. padding:0 2px;
  603. height: 100%;
  604. display: inline-block;
  605. vertical-align: top;
  606. }
  607. .addBtn {
  608. background-image: url('/images/mobile/@2x/addBtn.png');
  609. background-size: 100% 100%;
  610. width: 1.4rem;
  611. height: 0.54rem;
  612. display: inline-block;
  613. vertical-align: middle;
  614. }
  615. .commit {
  616. }
  617. .inputText {
  618. width: 3.4rem;
  619. border-top-left-radius: 3px;
  620. border-bottom-left-radius: 3px;
  621. border: 1px solid #b4b4b4;
  622. height: 0.62rem;
  623. line-height: 0.62rem;
  624. vertical-align: top;
  625. display: inline-block;
  626. }
  627. button {
  628. display: inline-block;
  629. height: 0.62rem;
  630. width: 0.8rem;
  631. line-height: 0.62rem;
  632. font-size: 14px;
  633. font-weight: 400;
  634. text-align: center;
  635. background-color: #3f84f6;
  636. border: 1px solid #3f84f6;
  637. color: #fff;
  638. border-top-right-radius: 3px;
  639. border-bottom-right-radius: 3px;
  640. vertical-align: top;
  641. margin-left: -0.1rem;
  642. }
  643. .moreIcon {
  644. margin-top: 0.06rem;
  645. position: relative;
  646. img {
  647. width: 0.17rem;
  648. height: 0.3rem;
  649. }
  650. &:after {
  651. position: absolute;
  652. left: -10px;
  653. right: -10px;
  654. top: -10px;
  655. bottom: -10px;
  656. content: ' '
  657. }
  658. }
  659. }
  660. .noborder {
  661. border-top: .01rem solid #d9d9d9;
  662. }
  663. }
  664. .modal-content {
  665. position: absolute;
  666. height: 10rem;
  667. bottom: 0px;
  668. left: 0px;
  669. background: #fff;
  670. width: 100%;
  671. border-radius: 0px;
  672. box-shadow: 0 -9px 9px rgba(0,0,0,.5);
  673. .content-title {
  674. color: #666;
  675. font-size: .3rem;
  676. text-align: center;
  677. height: 1rem;
  678. line-height: 1rem;
  679. position: relative;
  680. i {
  681. font-size: 0.3rem;
  682. color: #999;
  683. position: absolute;
  684. right: 0.3rem;
  685. top: 50%;
  686. margin-top: -0.15rem;
  687. }
  688. }
  689. .content-title-label {
  690. color: #3f84f6;
  691. font-size: 0.28rem;
  692. height: 0.5rem;
  693. line-height: 0.5rem;
  694. border-bottom: 0.01rem solid #999;
  695. div {
  696. width: 33.3%;
  697. float: left;
  698. text-align: center;
  699. a {
  700. height: 0.5rem;
  701. line-height: 0.5rem;
  702. color: #333 !important;
  703. display: inline-block;
  704. width: 80%;
  705. overflow: hidden;
  706. text-overflow: ellipsis;
  707. white-space: nowrap;
  708. &.active {
  709. color: #3e82f5 !important;
  710. border-bottom: 1px solid #3e82f5;
  711. }
  712. }
  713. }
  714. }
  715. .content-info {
  716. overflow-y: auto;
  717. height: 8.5rem;
  718. width: 100%;
  719. .content-info-item {
  720. height: 0.86rem;
  721. line-height: 0.86rem;
  722. color: #333;
  723. font-size: 0.28rem;
  724. padding-left: 0.3rem;
  725. &.active {
  726. color: #3f84f6 !important
  727. }
  728. img {
  729. width: 0.3rem;
  730. height: 0.18rem;
  731. margin-left: 0.3rem;
  732. }
  733. }
  734. }
  735. }
  736. </style>