addProject.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. <template>
  2. <view class="content">
  3. <view class="param">
  4. <view class="all-text">创建项目需求</view>
  5. <view class="proName">项目标题</view>
  6. <input class="proINname" v-model="pName" placeholder="请输入项目标题"/>
  7. <view class="proMiao">项目描述</view>
  8. <textarea class="proINname proIMi" v-model="projectContent" placeholder="请选择项目描述"/>
  9. <view class="proMiao">附件</view>
  10. <view class="upload-img">
  11. <uni-file-picker limit="3"
  12. @select='selectUpload'
  13. @delete="deleteHandle"
  14. :auto-upload='false'
  15. file-extname='pdf,docx,jpg,png,jpeg,doc,docm,dot,dotm,dotx,xlsx,xls,csv,xlsm,slxb,xlt,xltx'
  16. file-mediatype="all"
  17. @success='uploadSuccess'
  18. @fail='uploadFail'
  19. :list-styles='listStyles'
  20. v-model='fileList'
  21. ></uni-file-picker>
  22. </view>
  23. <span style="margin: 20rpx 0 0 20rpx;width: 700rpx;">支持pdf,docx,jpg,png,jpeg,doc,docm,dot,dotm,dotx,xlsx,xls,csv,xlsm,slxb,xlt,xltx格式,单个文件大小不超过5MB</span>
  24. <view class="proMiao">主办单位/主办人</view>
  25. <uni-data-picker placeholder="请选择主办单位" popup-title="请选择主办人" :localdata="range" v-model="value"
  26. @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened" @popupclosed="onpopupclosed">
  27. </uni-data-picker>
  28. <view class="proINname" style="height: 100%;">
  29. <view class="tag-view" v-for="(value,key) in userListSelect1" :key="key" @click="clearTagAdmin1(value)">
  30. <uni-tag :text="value.parent_value.organize+'/'+value.text" type="primary" ></uni-tag>
  31. <!-- {{value.parent_value.organize}}/{{value.text}} -->
  32. <uni-icons class="clearBtn" type="clear" size="15" color="#ccc" />
  33. </view>
  34. </view>
  35. <!-- <uni-data-select class="proINname"
  36. v-model="value" placeholder="请选择主办单位"
  37. :localdata="range"
  38. @change="change1"
  39. ></uni-data-select>
  40. <view class="proMiao">主办人</view>
  41. <uni-data-select class="proINname"
  42. v-model="peopleValue" placeholder="请选择主办人"
  43. :localdata="rangePeople"
  44. @change="change"
  45. ></uni-data-select> -->
  46. <view class="proMiao">协办单位/协办人</view>
  47. <uni-data-picker placeholder="请选择协办单位" popup-title="请选择协办人" :showSearch= "true" :localdata="range" v-model="value2"
  48. @change="onchange2" @nodeclick="onnodeclick2" @popupopened="onpopupopened2" @popupclosed="onpopupclosed2">
  49. </uni-data-picker>
  50. <view class="proINname" style="height: 100%;">
  51. <view class="tag-view" v-for="(value,key) in userListSelect" :key="key" @click="clearTagAdmin(value)">
  52. <uni-tag :text="value.parent_value.organize+'/'+value.text" type="primary" ></uni-tag>
  53. <!-- {{value.parent_value.organize}}/{{value.text}} -->
  54. <uni-icons class="clearBtn" type="clear" size="15" color="#ccc" />
  55. </view>
  56. </view>
  57. <!-- <mySelectCheckbox class="proINname" placeholder="请选择协办单位" v-model="value2" multiple dataKey="label" dataValue="value" :localdata="data"
  58. @change="changeXie"></mySelectCheckbox>
  59. <view class="proMiao">协办人</view>
  60. <mySelectCheckbox class="proINname" placeholder="请选择协办人" v-model="peopleValue2" multiple dataKey="label" dataValue="value" :localdata="dataPeople"
  61. @change="changeXiePeo"></mySelectCheckbox> -->
  62. <view class="proMiao">项目级别</view>
  63. <uni-data-select class="proINname"
  64. v-model="jibieValue" placeholder="请选择项目级别"
  65. :localdata="jibie"
  66. @change="change"
  67. ></uni-data-select>
  68. <!-- <view class="proMiao">关联流程</view>
  69. <uni-data-select class="proINname"
  70. v-model="value" placeholder="请选择关联流程"
  71. :localdata="range"
  72. @change="change"
  73. ></uni-data-select> -->
  74. <view class="proMiao">项目来源</view>
  75. <uni-data-select class="proINname"
  76. v-model="fromValue" placeholder="请选择项目来源"
  77. :localdata="from"
  78. @change="change"
  79. ></uni-data-select>
  80. <!-- <view class="proMiao jindu">完成进度</view>
  81. <view class="weidu">维度权重40%</view>
  82. <view class="addRen" @click="addRen">新增任务</view> -->
  83. <!-- 任务列表 -->
  84. <!-- <view style="width: 100%;margin: 50rpx 0 0 20rpx;">
  85. <view class="renwu" v-for="(item,index) in renwu" :key="index" @click="clickRenwu">
  86. <view>{{item.name}}</view>
  87. <view>{{item.time}}</view>
  88. <view style="display: flex;">
  89. <view class="renwu-bu bianji">编辑</view>
  90. <view class="renwu-bu delete">删除</view>
  91. </view>
  92. </view>
  93. </view> -->
  94. <view class="proMiao">项目评分人</view>
  95. <uni-combox class="proINname"
  96. :scorePeople="scorePeople" labelKey="label" valueKey="value"
  97. placeholder="请选择项目评分人"
  98. v-model="peoplescore"
  99. @input="comboxInput"
  100. ></uni-combox>
  101. </uni-forms-item>
  102. <!-- <mySelectCheckbox class="proINname" placeholder="请选择项目评分人" v-model="peoplescore" multiple dataKey="label" dataValue="value" :localdata="scorePeople"
  103. @change="changeScore"></mySelectCheckbox> -->
  104. <view class="proINname" style="height: 100%;">
  105. <view class="tag-view" v-for="(value,key) in scorePeople22" :key="key" @click="clearTagAdminP(value)">
  106. <uni-tag :text="value" type="primary" ></uni-tag>
  107. <!-- {{value.parent_value.organize}}/{{value.text}} -->
  108. <uni-icons class="clearBtn" type="clear" size="15" color="#ccc" />
  109. </view>
  110. </view>
  111. <view class="project">
  112. <view class="butt quxiao" @click="quxiao">取消</view>
  113. <view class="butt queren" @click="addProject">确认创建</view>
  114. </view>
  115. <view style="width: 100%;height: 60rpx;"></view>
  116. </view>
  117. </view>
  118. </template>
  119. <script>
  120. import configdata from '@/common/config.js'
  121. import mySelectCheckbox from '../../components/my-selectCheckbox.vue'
  122. export default {
  123. components:{mySelectCheckbox},
  124. data() {
  125. return {
  126. pName:'',//项目标题
  127. projectContent:'',//项目描述
  128. //主办单位
  129. value: '',
  130. range: [],
  131. userListSelect1:[],
  132. zhuban:[],//主办传入值数组
  133. zhuValue:[],//主办传入id
  134. //主办人
  135. peopleValue:'',
  136. rangePeople:[],
  137. //协办
  138. userListSelect:[],
  139. value2:'',
  140. data: [],
  141. xieban:[],//协办传入值数组
  142. xieValue:[],//协办传入id
  143. //协办人
  144. peopleValue2:[],
  145. dataPeople: [],
  146. xiebanPeople:[],//协办传入值数组
  147. xieValuePeople:[],//协办传入id
  148. //评分人
  149. peoplescore:[],
  150. scorePeople: [],
  151. scorePeople22:[],//协办传入值数组
  152. scoreValuePeople:[],//协办传入id
  153. // 项目级别
  154. jibieValue:0,
  155. jibie:[
  156. { value: 0, text: "正常" },
  157. { value: 1, text: "紧急" },
  158. ],
  159. // 项目来源
  160. fromValue:0,
  161. from:[
  162. { value: 0, text: "涉内" },
  163. { value: 1, text: "涉外" },
  164. ],
  165. fileList: [],
  166. fileList2: [],
  167. fileList22:'',
  168. listStyles: {
  169. "borderStyle": {
  170. "width": "0", // 边框宽度
  171. },
  172. "border": false, // 是否显示边框
  173. "dividline": false
  174. },
  175. renwu:[
  176. {name:'xxx任务',time:'2024-04-11'},
  177. {name:'xxx任务',time:'2024-04-11'},
  178. {name:'xxx任务',time:'2024-04-11'},
  179. ],
  180. }
  181. },
  182. onShow() {
  183. // this.getDanwei()
  184. this.getPeopleZhu()
  185. },
  186. methods: {
  187. // 主办单位
  188. change1(e) {
  189. console.log("e:", e);
  190. // this.getPeopleZhu(e)
  191. },
  192. onnodeclick(data) {
  193. console.log(data);
  194. if(data.parent_value){//存在父级
  195. let dataId = data.value;
  196. this.userListSelect1.push(data);
  197. this.userListSelect1 = [...new Set(this.userListSelect1)]//es6数组去重
  198. }
  199. },
  200. onpopupopened(e) {
  201. console.log('popupopened');
  202. },
  203. onpopupclosed(e) {
  204. console.log('popupclosed');
  205. },
  206. onchange(e) {
  207. console.log('---------onchange:', e);
  208. var acc=e.detail.value[0].text
  209. this.getPeople(acc)
  210. },
  211. clearTagAdmin1(value){
  212. this.userListSelect1 = this.userListSelect1.filter(item => item != value);
  213. },
  214. clearTagAdmin(value){
  215. this.userListSelect = this.userListSelect.filter(item => item != value);
  216. },
  217. onnodeclick2(data) {
  218. console.log(data);
  219. if(data.parent_value){//存在父级
  220. let dataId = data.value;
  221. this.userListSelect.push(data);
  222. this.userListSelect = [...new Set(this.userListSelect)]//es6数组去重
  223. }
  224. console.log('多选',this.userListSelect)
  225. },
  226. onpopupopened2(e) {
  227. console.log('popupopened');
  228. },
  229. onpopupclosed2(e) {
  230. console.log('popupclosed');
  231. },
  232. onchange2(e) {
  233. console.log('---------onchange:', e);
  234. },
  235. //评分人选择
  236. changeScore(e){
  237. this.scorePeople22=[]
  238. this.scoreValuePeople=[]
  239. console.log('e:', e);
  240. e.map(item =>{
  241. this.scorePeople22.push(item.label)
  242. this.scoreValuePeople.push(item.value)
  243. })
  244. },
  245. // @input combox输入事件 返回combox值
  246. comboxInput(e) {
  247. console.log('e:', e);
  248. // this.peoplescore=e
  249. // this.scorePeople22=[]
  250. // this.scoreValuePeople=[]
  251. for(var i=0;i<this.scorePeople.length;i++){
  252. if(e==this.scorePeople[i].value){
  253. this.scorePeople22.push(this.scorePeople[i].label)
  254. this.scoreValuePeople.push(this.scorePeople[i].value)
  255. }
  256. }
  257. console.log(this.scorePeople22)
  258. },
  259. clearTagAdminP(value){
  260. this.scorePeople22 = this.scorePeople22.filter(item => item != value);
  261. },
  262. //获取单位
  263. getDanwei(){
  264. this.range=[]
  265. this.data=[]
  266. uni.showLoading({
  267. title: '加载中',
  268. mask: true, // 是否显示透明蒙层,防止触摸穿透
  269. });
  270. this.$Request.postT('/api/Organize/query').then(res => {
  271. if (res.code==200&&res.data) {
  272. // this.range =res.data.map(item =>{
  273. // return {
  274. // value: item.id,
  275. // text: item.oname,
  276. // }
  277. // })
  278. this.data =res.data.map(item =>{
  279. return {
  280. value: item.id,
  281. label: item.oname,
  282. }
  283. })
  284. console.log(this.range)
  285. }
  286. uni.hideLoading();
  287. });
  288. },
  289. //获取主办协办人,评分人
  290. getPeopleZhu(){
  291. this.range=[]
  292. this.rangePeople=[]
  293. uni.showLoading({
  294. title: '加载中',
  295. mask: true, // 是否显示透明蒙层,防止触摸穿透
  296. });
  297. this.$Request.postJson('/api/sysProject/queryCoUsers',{}).then(res => {
  298. if (res.code==200) {
  299. var lianji=[]
  300. for(var i=0;i<res.data.length;i++){
  301. if(res.data[i].userList.length>0){
  302. lianji.push(res.data[i])
  303. }
  304. }
  305. this.range =lianji.map(item =>{
  306. return {
  307. value: item,
  308. text: item.organize,
  309. children:item.userList.map(item =>{
  310. return{
  311. value: item.id,
  312. text: item.userName,
  313. }
  314. })
  315. }
  316. })
  317. console.log(this.range,'人')
  318. }else{
  319. var ii=JSON.stringify(res)
  320. console.log(res,res.data)
  321. console.log(JSON.parse(res))
  322. console.log(JSON.parse(ii))
  323. }
  324. uni.hideLoading();
  325. });
  326. },
  327. //根据单位获取人员(评分人)
  328. getPeople(acc){
  329. console.log(this.userListSelect1)
  330. this.scorePeople=[]
  331. uni.showLoading({
  332. title: '加载中',
  333. mask: true, // 是否显示透明蒙层,防止触摸穿透
  334. });
  335. this.$Request.postT('/api/sysUser/queryScorer',{
  336. organizes:acc
  337. }).then(res => {
  338. if (res.code==200) {
  339. console.log(res,'评分')
  340. this.scorePeople =res.data.map(item =>{
  341. return {
  342. value: item.id,
  343. label: item.userName,
  344. }
  345. })
  346. console.log(this.scorePeople,'人')
  347. }else{
  348. var ii=JSON.stringify(res)
  349. console.log(res,res.data)
  350. console.log(JSON.parse(res))
  351. console.log(JSON.parse(ii))
  352. }
  353. uni.hideLoading();
  354. });
  355. },
  356. //取消
  357. quxiao(){
  358. uni.switchTab({
  359. url:'/pages/project/index'
  360. })
  361. },
  362. //新增项目
  363. addProject(){
  364. console.log('协办',this.userListSelect1,this.value2,this.userListSelect)
  365. console.log('评分人',this.scoreValuePeople)
  366. console.log(this.jibie[this.jibieValue].text)
  367. var zhuban=[]
  368. var zhubanValue=[]
  369. this.userListSelect1.map(item =>{
  370. zhuban.push(item.parent_value.organize)
  371. zhubanValue.push(item.value)
  372. })
  373. console.log(zhuban,zhubanValue)
  374. if(this.userListSelect==[]){
  375. var xie=null
  376. var xieValue=null
  377. }else {
  378. var xieban=[]
  379. var xiebanValue=[]
  380. this.userListSelect.map(item =>{
  381. xieban.push(item.parent_value.organize)
  382. xiebanValue.push(item.value)
  383. })
  384. console.log(xieban,xiebanValue)
  385. var xie=xieban.join(",")
  386. var xieValue=xiebanValue.join(",")
  387. }
  388. let that = this
  389. if (!that.pName) {
  390. that.$queue.showToast("请输入项目标题");
  391. }else if (!that.projectContent) {
  392. that.$queue.showToast("请输入项目描述");
  393. }else {
  394. uni.showLoading({
  395. title: '加载中',
  396. mask: true, // 是否显示透明蒙层,防止触摸穿透
  397. });
  398. var data={
  399. "projectName": that.pName, // 项目名称
  400. "projectFrom": that.from[that.fromValue].text, // 项目来源
  401. "projectLevel": that.jibie[that.jibieValue].text, // 项目等级
  402. "projectContent": that.projectContent, // 项目描述
  403. "fileUrl": that.fileList22, // 附件
  404. "organize": zhuban.join(","), // 主办单位-多选
  405. "sposoner": zhubanValue.join(","), // 主办人ID-多选
  406. "coOrganize": xie, // 协办单位-多选
  407. "coSposoner": xieValue, // 协办人ID-多选
  408. "scorer": that.scoreValuePeople.join(",") // 评分人ID-多选
  409. }
  410. that.$Request.postJson('/api/sysProject/add',data).then(res => {
  411. if (res.code==200) {
  412. uni.showToast({
  413. title: '添加成功',
  414. icon: 'none',
  415. duration:800
  416. });
  417. uni.hideLoading()
  418. setTimeout(function() {
  419. uni.switchTab({
  420. url:'/pages/project/index'
  421. })
  422. }, 1000)
  423. } else {
  424. uni.hideLoading();
  425. uni.showToast({
  426. title: res.message,
  427. icon: 'none',
  428. duration:800
  429. });
  430. }
  431. });
  432. }
  433. },
  434. //新增任务
  435. addRen(){
  436. uni.navigateTo({
  437. url:'/pages/project/addRenwu'
  438. })
  439. },
  440. //任务详情
  441. clickRenwu(){
  442. uni.navigateTo({
  443. url:'/pages/project/renwuX'
  444. })
  445. },
  446. // 上传附件
  447. uploadSuccess(e) {
  448. console.log('上传成功', e)
  449. },
  450. uploadFail(e) {
  451. console.log('上传失败:', e)
  452. },
  453. //删除文件
  454. deleteHandle(index){
  455. console.log(index)
  456. this.fileList2.splice(index.index,1)
  457. // console.log(this.fileList2)
  458. this.fileList22=this.fileList2.join(",")
  459. },
  460. async selectUpload(e) {
  461. console.log('上传:', e)
  462.  let data = new FormData();
  463.   data.set("file", e.tempFiles[0].file);
  464.   let res = await this.$axios({
  465.     method: "post",
  466.     url: this.config('APIHOST1') + "/api/sysFile/upload",
  467.     headers: {
  468. tokenW: sessionStorage.getItem("token"),
  469. "Content-Type": "multipart/form-data"
  470.     },
  471.     data: data,
  472.   });
  473. // return res
  474.   console.log(res, "图片上传成功");
  475.   if (res.data.code == 200) {
  476. console.log(this.fileList)
  477.     this.fileList2.push(res.data.data);
  478. this.fileList22=this.fileList2.join(",")
  479. // console.log(this.fileList2.join(","))
  480.   } else if(res.message=="登录凭证已过去,请重新登录"){
  481. sessionStorage.removeItem("token")
  482. sessionStorage.removeItem("roleId")
  483. uni.showModal({
  484. title: '提示',
  485. content: '用户信息失效,请重新登录!',
  486. showCancel: false, // 是否显示取消按钮,默认为 true // 是否显示取消按钮,默认为 true
  487. success: function(res) {
  488. if (res.confirm) {
  489. }
  490. }
  491. });
  492. }else {
  493.     uni.showToast({
  494. title: res.message,
  495. icon: 'none',
  496. duration:800
  497. });
  498.   }
  499. },
  500. config: function (name) {
  501. var info = null
  502. if (name) {
  503. var name2 = name.split('.') //字符分割
  504. if (name2.length > 1) {
  505. info = configdata[name2[0]][name2[1]] || null
  506. } else {
  507. info = configdata[name] || null
  508. }
  509. if (info == null) {
  510. let web_config = cache.get('web_config')
  511. if (web_config) {
  512. if (name2.length > 1) {
  513. info = web_config[name2[0]][name2[1]] || null
  514. } else {
  515. info = web_config[name] || null
  516. }
  517. }
  518. }
  519. }
  520. return info
  521. },
  522. }
  523. }
  524. </script>
  525. <style>
  526. .content {
  527. display: flex;
  528. flex-direction: column;
  529. align-items: center;
  530. justify-content: center;
  531. }
  532. .param{
  533. margin: 20rpx 0 0 0;
  534. width: 100%;
  535. background-color: rgba(255, 255, 255, 1);
  536. font-size: 28rpx;
  537. font-weight: 400;
  538. line-height: 41rpx;
  539. color: rgba(0, 0, 0, 1);
  540. }
  541. .all-text{
  542. margin: 22rpx 0 0 20rpx;
  543. font-size: 32rpx;
  544. font-weight: 500;
  545. color: rgba(0, 0, 0, 1);
  546. }
  547. .proName{
  548. margin: 23rpx 0 0 20rpx;
  549. }
  550. .proINname{
  551. margin: 25rpx 0 0 21rpx;
  552. width: 709rpx;
  553. height: 90rpx;
  554. border-radius: 13rpx;
  555. background: rgba(245, 248, 252, 1);
  556. border: 1rpx solid rgba(229, 229, 229, 1);
  557. font-size: 28rpx;
  558. line-height: 90rpx;
  559. /* color: rgba(179, 179, 179, 1); */
  560. }
  561. .proIMi{
  562. height: 315rpx;
  563. }
  564. .proMiao{
  565. margin: 31rpx 0 0 20rpx;
  566. }
  567. /* 上传附件 */
  568. .upload-img{
  569. /* margin: 25rpx 0 0 21rpx;
  570. width: 200rpx;
  571. opacity: 1;
  572. border-radius: 13rpx;
  573. background: rgba(0, 97, 255, 0.1);
  574. border: 1rpx solid rgba(0, 97, 255, 1); */
  575. }
  576. .jindu{
  577. font-size: 32rpx;
  578. font-weight: 500;
  579. line-height: 46rpx;
  580. }
  581. .weidu{
  582. margin: 7rpx 0 0 20rpx;
  583. font-size: 24rpx;
  584. line-height: 35rpx;
  585. color: rgba(128, 128, 128, 1);
  586. }
  587. .addRen{
  588. margin: -80rpx 0 0 581rpx;
  589. width: 149rpx;
  590. height: 59rpx;
  591. border-radius: 92rpx;
  592. background: rgba(0, 97, 255, 1);
  593. font-size: 28rpx;
  594. line-height: 59rpx;
  595. color: rgba(255, 255, 255, 1);
  596. text-align: center;
  597. }
  598. /* 任务列表 */
  599. .renwu{
  600. display: flex;
  601. margin-top: 6rpx;
  602. width: 709rpx;
  603. height: 90rpx;
  604. border-radius: 13rpx;
  605. background: rgba(245, 248, 252, 1);
  606. border: 1rpx solid rgba(229, 229, 229, 1);
  607. font-size: 28rpx;
  608. justify-content: space-evenly;
  609. align-items: center;
  610. }
  611. .renwu-bu{
  612. width: 105rpx;
  613. height: 50rpx;
  614. border-radius: 110rpx;
  615. line-height:50rpx;
  616. text-align: center;
  617. }
  618. .bianji{
  619. border: 1rpx solid rgba(0, 97, 255, 1);
  620. color: rgba(0, 97, 255, 1);
  621. }
  622. .delete{
  623. margin-left: 20rpx;
  624. border: 1rpx solid rgba(212, 48, 48, 1);
  625. color: rgba(212, 48, 48, 1);
  626. }
  627. .project{
  628. display: flex;
  629. margin: 61rpx 0 0 0;
  630. justify-content: space-evenly;
  631. }
  632. .butt{
  633. width: 330rpx;
  634. height: 90rpx;
  635. border-radius: 117rpx;
  636. font-size: 32rpx;
  637. line-height: 90rpx;
  638. text-align: center;
  639. }
  640. .quxiao{
  641. border: 1rpx solid rgba(0, 97, 255, 1);
  642. color: rgba(0, 97, 255, 1);
  643. }
  644. .queren{
  645. background: rgba(0, 97, 255, 1);
  646. color: rgba(255, 255, 255, 1);
  647. }
  648. </style>