enterpriseinfo.vue 25 KB

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