enterpriseinfo.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811
  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 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. <!-- <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.storeState = 'update'
  369. this.Islook = true
  370. this.hidelook = true
  371. // this.setTextareaHeight()
  372. this.BScroll.refresh()
  373. },
  374. dealWithText2(tp) {
  375. if (tp === 'open') {
  376. this.Islook = false
  377. this.hidelook = false
  378. } else {
  379. this.Islook = true
  380. this.hidelook = true
  381. }
  382. },
  383. dealWithText(_T) {
  384. if (_T !== undefined) {
  385. // 文本处理
  386. this.normalText = _T
  387. if (_T.length < 140) {
  388. this.Islook = false
  389. return _T
  390. } else {
  391. this.Islook = true
  392. return _T.substr(0, 140) + '...'
  393. }
  394. } else {
  395. this.Islook = false
  396. return this.normalText
  397. }
  398. },
  399. storeInfosave(_tp) {
  400. this.BScroll.refresh()
  401. if (_tp === 'cancel') {
  402. this.clearInfo()
  403. this.scopeLabel = []
  404. let str = JSON.stringify(this.$store.state.supplier.material.enUser.data)
  405. this.enterpriseInfo = JSON.parse(str)
  406. if (this.enterpriseInfo.enBusinessScope) {
  407. this.scopeLabel = this.enterpriseInfo.enBusinessScope.split(',')
  408. }
  409. return
  410. }
  411. if (!this.enterpriseInfo.enAddress) {
  412. this.collectResult = '企业地址不能为空'
  413. this.timeoutCount++
  414. return false
  415. }
  416. if (!this.enterpriseInfo.enUrl) {
  417. this.collectResult = '官网地址不能为空'
  418. this.timeoutCount++
  419. return false
  420. }
  421. this.$http.post(`/basic/enterprise/${this.user.data.enterprise.uu}/updateInfo`, this.enterpriseInfo).then(res => {
  422. this.collectResult = '保存成功'
  423. this.timeoutCount++
  424. this.storeState = 'look'
  425. }).catch(err => {
  426. this.collectResult = err.response.data
  427. this.timeoutCount++
  428. let str = JSON.stringify(this.$store.state.supplier.material.enUser.data)
  429. this.enterpriseInfo = JSON.parse(str)
  430. })
  431. },
  432. clearInfo() {
  433. this.storeState = 'look'
  434. this.labelText = ''
  435. this.IsChange = ''
  436. this.AddBtnShow = true
  437. }
  438. // setTextareaHeight () {
  439. // this.$nextTick(() => {
  440. // let el = this.$refs.descTextarea
  441. // if (el) {
  442. // el.style.height = '2rem'
  443. // el.style.height = (el.scrollHeight * 2.06 - el.clientHeight + 150) / 100 + 'rem'
  444. // }
  445. // })
  446. // }
  447. },
  448. computed: {
  449. enterprise() {
  450. let str = JSON.stringify(this.$store.state.supplier.material.enUser.data)
  451. this.enterpriseInfo = JSON.parse(str)
  452. return ''
  453. },
  454. isAdmin () {
  455. return this.user.data.userUU === this.user.data.enterprise.enAdminuu
  456. }
  457. },
  458. created () {
  459. this.$http.get('/data/profession.json').then(response => {
  460. this.TypeObj = response.data
  461. for (let i of Object.keys(response.data)) {
  462. this.TypeList.firstList.push(i)
  463. }
  464. })
  465. this.$store.dispatch('supplier/loadEnUser', {enUU: this.user.data.enterprise.uu, filter: 'enUU'}).then(res => {
  466. this.scopeLabel = this.enterpriseInfo.enBusinessScope ? this.enterpriseInfo.enBusinessScope.split(',') : []
  467. })
  468. },
  469. mounted() {
  470. this.$nextTick(() => {
  471. if (this.BScroll) {
  472. this.BScroll.refresh()
  473. } else {
  474. this.BScroll = new BScroll(this.$refs.userContent, {
  475. click: true
  476. })
  477. }
  478. })
  479. }
  480. }
  481. </script>
  482. <style scoped lang="scss">
  483. .com-mobile-header {
  484. i {
  485. font-size: .36rem;
  486. position: relative;
  487. top: .04rem;
  488. right: .02rem;
  489. }
  490. }
  491. .user-content{
  492. background: #f1f3f6;
  493. .si-wrap {
  494. width: 7.1rem;
  495. margin: 0 auto;
  496. background: #fff;
  497. border-radius: .05rem;
  498. }
  499. .user-center-content {
  500. height: 100%;
  501. overflow: hidden;
  502. }
  503. .scroll {
  504. padding-bottom: 0.4rem;
  505. }
  506. .topinfo {
  507. color: #333;
  508. font-size: 0.28rem;
  509. height: 0.8rem;
  510. line-height: 0.8rem;
  511. padding: 0 0.24rem;
  512. border-bottom: 0.01rem solid #d9d9d9;
  513. .pull-right {
  514. color: #999;
  515. font-size: 0.26rem;
  516. img {
  517. width: 0.34rem;
  518. height: 0.34rem;
  519. }
  520. }
  521. }
  522. .infoul {
  523. color: #666;
  524. font-size: 0.28rem;
  525. margin: .24rem 0;
  526. .upload {
  527. img {
  528. transform: rotate(180deg);
  529. }
  530. }
  531. li {
  532. border-bottom: .01rem solid #d9d9d9;
  533. min-height: 1.16rem;
  534. line-height: normal;
  535. padding: .4rem .28rem;
  536. &.border {
  537. border-bottom: 0.01rem solid #d9d9d9;
  538. }
  539. &.noupdate {
  540. background: #fafafa;
  541. color: #999;
  542. }
  543. }
  544. .name {
  545. width: 1.6rem;
  546. text-align: right;
  547. color: #226ce7;
  548. }
  549. &.no-edit {
  550. color: #999;
  551. .name {
  552. color: #999;
  553. }
  554. li:last-child {
  555. border-bottom: none;
  556. }
  557. }
  558. .text {
  559. width: 4.4rem;
  560. word-break: break-all;
  561. }
  562. .update {
  563. padding: 0.06rem 0 0.06rem 0rem;
  564. }
  565. input {
  566. width: 4.4rem;
  567. border: 0px solid #b4b4b4;
  568. padding: 0.06rem 0 0.06rem 0.12rem;
  569. }
  570. textarea{
  571. width: 4.4rem;
  572. padding: 0.06rem 0 0.06rem 0.12rem;
  573. overflow: visible;
  574. resize: none;
  575. border: 0 solid #b4b4b4;
  576. }
  577. }
  578. .control {
  579. width: 90%;
  580. margin: 0.4rem auto 0rem;
  581. height: .88rem;
  582. line-height: 0.88rem;
  583. }
  584. .save {
  585. border-radius: 3px;
  586. width: 48%;
  587. color: #fff;
  588. text-align: center;
  589. height: .88rem;
  590. line-height: 0.88rem;
  591. background: #3e82f5;
  592. float: right;
  593. }
  594. .cancel {
  595. border-radius: 3px;
  596. width: 48%;
  597. background: #acabab;
  598. color: #fff;
  599. text-align: center;
  600. height: .88rem;
  601. line-height: 0.88rem;
  602. float: left;
  603. }
  604. .infoul2 {
  605. .name {
  606. width: 1.7rem;
  607. }
  608. .text {
  609. width: 4.3rem;
  610. word-break: break-all;
  611. }
  612. input {
  613. width: 4.3rem;
  614. }
  615. .nolabel {
  616. position: relative;
  617. width: auto;
  618. text-align: center;
  619. color: #666;
  620. font-size: 0.24rem;
  621. display: inline-block;
  622. vertical-align: top;
  623. padding: 2px 4px;
  624. margin: 0.02rem 3px 0px;
  625. background: #f2f3f7;
  626. border-radius: 5px;
  627. }
  628. .label {
  629. max-width: 3rem;
  630. padding: 2px 4px;
  631. margin: 0.08rem 3px 0 3px;
  632. background: #5078cb;
  633. border-radius: 5px;
  634. text-align: center;
  635. color: #fff;
  636. font-size: 0.24rem;
  637. display: inline-block;
  638. vertical-align: top;
  639. }
  640. .labelKuang {
  641. background: #fff;
  642. border: 1px solid #b4b4b4;
  643. border-radius: 3px;
  644. overflow: hidden;
  645. height: 0.53rem;
  646. line-height: 0.53rem;
  647. display: inline-block;
  648. vertical-align: top;
  649. margin: 0px 3px 3px 3px;
  650. font-size: 0px;
  651. }
  652. .Updatelabel {
  653. padding: 0 4px;
  654. color: #666;
  655. font-size: 0.26rem;
  656. height: 100%;
  657. display: inline-block;
  658. vertical-align: top;
  659. max-width: 3rem;
  660. }
  661. .updatespan {
  662. background: #b5b5b5;
  663. color: #fff;
  664. font-size: 0.26rem;
  665. padding:0 2px;
  666. height: 100%;
  667. display: inline-block;
  668. vertical-align: top;
  669. }
  670. .addBtn {
  671. background-image: url('/images/mobile/@2x/addBtn.png');
  672. background-size: 100% 100%;
  673. width: 1.4rem;
  674. height: 0.54rem;
  675. display: inline-block;
  676. vertical-align: middle;
  677. }
  678. .commit {
  679. }
  680. .inputText {
  681. width: 3.4rem;
  682. border-top-left-radius: 3px;
  683. border-bottom-left-radius: 3px;
  684. border: 1px solid #b4b4b4;
  685. height: 0.62rem;
  686. line-height: 0.62rem;
  687. vertical-align: top;
  688. display: inline-block;
  689. }
  690. button {
  691. display: inline-block;
  692. height: 0.62rem;
  693. width: 0.8rem;
  694. line-height: 0.62rem;
  695. font-size: 14px;
  696. font-weight: 400;
  697. text-align: center;
  698. background-color: #3f84f6;
  699. border: 1px solid #3f84f6;
  700. color: #fff;
  701. border-top-right-radius: 3px;
  702. border-bottom-right-radius: 3px;
  703. vertical-align: top;
  704. margin-left: -0.1rem;
  705. }
  706. .moreIcon {
  707. margin-top: 0.06rem;
  708. position: relative;
  709. img {
  710. width: 0.17rem;
  711. height: 0.3rem;
  712. }
  713. &:after {
  714. position: absolute;
  715. left: -10px;
  716. right: -10px;
  717. top: -10px;
  718. bottom: -10px;
  719. content: ' '
  720. }
  721. }
  722. }
  723. .noborder {
  724. border-top: .01rem solid #d9d9d9;
  725. }
  726. }
  727. .modal-content {
  728. position: absolute;
  729. height: 10rem;
  730. bottom: 0px;
  731. left: 0px;
  732. background: #fff;
  733. width: 100%;
  734. border-radius: 0px;
  735. box-shadow: 0 -9px 9px rgba(0,0,0,.5);
  736. .content-title {
  737. color: #666;
  738. font-size: .3rem;
  739. text-align: center;
  740. height: 1rem;
  741. line-height: 1rem;
  742. position: relative;
  743. i {
  744. font-size: 0.3rem;
  745. color: #999;
  746. position: absolute;
  747. right: 0.3rem;
  748. top: 50%;
  749. margin-top: -0.15rem;
  750. }
  751. }
  752. .content-title-label {
  753. color: #3f84f6;
  754. font-size: 0.28rem;
  755. height: 0.5rem;
  756. line-height: 0.5rem;
  757. border-bottom: 0.01rem solid #999;
  758. div {
  759. width: 33.3%;
  760. float: left;
  761. text-align: center;
  762. a {
  763. height: 0.5rem;
  764. line-height: 0.5rem;
  765. color: #333 !important;
  766. display: inline-block;
  767. width: 80%;
  768. overflow: hidden;
  769. text-overflow: ellipsis;
  770. white-space: nowrap;
  771. &.active {
  772. color: #3e82f5 !important;
  773. border-bottom: 1px solid #3e82f5;
  774. }
  775. }
  776. }
  777. }
  778. .content-info {
  779. overflow-y: auto;
  780. height: 8.5rem;
  781. width: 100%;
  782. .content-info-item {
  783. height: 0.86rem;
  784. line-height: 0.86rem;
  785. color: #333;
  786. font-size: 0.28rem;
  787. padding-left: 0.3rem;
  788. &.active {
  789. color: #3f84f6 !important
  790. }
  791. img {
  792. width: 0.3rem;
  793. height: 0.18rem;
  794. margin-left: 0.3rem;
  795. }
  796. }
  797. }
  798. }
  799. </style>