list.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854
  1. <template>
  2. <view class="content">
  3. <!-- <view>
  4. </view> -->
  5. <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" styleType="text" activeColor="#1c9bdc"></uni-segmented-control>
  6. <view v-show="current == 0">
  7. <view class="active-title-box">
  8. <view class="header-title">{{activeDesc.name}}</view>
  9. <view style="color: gray;margin-left: 3%;">{{activeDesc.start_time}}</view>
  10. </view>
  11. <view class="active-box" v-for="(item,index) in activiList" :key="index" style="flex-direction: column;" :class="index===activiList.length-1?'marginB40':''">
  12. <view class="active-header">
  13. <!-- <view class="active-type">
  14. <text style="margin: 0 auto;">头像</text>
  15. </view> -->
  16. <view class="active-content-box">
  17. <view class="active-content margin-top-3">
  18. <view class="active-name">{{item.author}}</view>
  19. <!-- <view class="active-date">{{item.addtime}}</view> -->
  20. </view>
  21. <view class="active-content">
  22. <view class="active-date">{{item.addtime}}</view>
  23. </view>
  24. </view>
  25. </view>
  26. <view class="active-content-box">
  27. <view class="active-content">
  28. <view class="active-title">{{item.content}}</view>
  29. </view>
  30. </view>
  31. <view class="active-content-box-img margin-top-3">
  32. <view v-for="(img,indexImg) in item.pic_list" :key="indexImg" class="marginR5">
  33. <image :src="img.pic_url_resize" mode="aspectFill" @click="showLarge(item.pic_list,indexImg)"></image>
  34. </view>
  35. </view>
  36. <view class="margin-top-3" style="color: #007AFF;word-break: break-all;" @click="tonewurl(item.web_url)" v-if="item.web_url">
  37. {{item.web_url}}
  38. </view>
  39. <view v-if="item.web_url" style="font-size: 24rpx;color: #ccc;">
  40. 点击链接可进行复制,前往浏览器查看。
  41. </view>
  42. <view class="edit-icon-box">
  43. <image src="/static/edit-icon.png" mode="aspectFit" v-if="item.edit_auth" @click="goEditPage(item.id,'record')"></image>
  44. <image src="/static/del-icon.png" mode="aspectFit" v-if="item.del_auth" @click="delProcess(item.id,'record')"></image>
  45. </view>
  46. </view>
  47. <button class="footer-box-record" @click="goRecord()">上传记录</button>
  48. </view>
  49. <view v-if="current == 1">
  50. <view class="active-box active-box-comment" v-for="(item,index) in fileList" :key="index" style="flex-direction: column;" :class="index===fileList.length-1?'marginB40':''">
  51. <view class="active-header-comment">
  52. <view class="active-content">
  53. <view class="active-type-comment">
  54. <image :src="item.avatar_url || '/static/auth-icon.png'" mode="aspectFit"></image>
  55. </view>
  56. <view class="active-name">{{item.author}}</view>
  57. </view>
  58. <view class="active-date-comment">{{item.addtime}}</view>
  59. </view>
  60. <view class="active-content-files files-class-box">
  61. <view class="show-file-box" v-for="(file,index) in item.file_list" :key="file.id" @click="()=>openFileFn(file.url)">
  62. <image src="../../../static/file.png" mode="aspectFill" style="width: 90rpx;height: 70rpx;"></image>
  63. <view class="margin-top-3" style="font-size: 24rpx;">{{file.name}}</view>
  64. </view>
  65. </view>
  66. <view class="files-desc-box">{{item.content}}</view>
  67. <view class="edit-icon-box-comment">
  68. <image src="/static/edit-icon.png" mode="aspectFit" v-if="item.edit_auth" @click="goEditPage(item.id,'files')"></image>
  69. <image class="margin-right-0" src="/static/del-icon.png" mode="aspectFit" v-if="item.del_auth" @click="delProcess(item.id,'files')"></image>
  70. </view>
  71. </view>
  72. <button class="footer-box-record" @click="goFiles()">上传文件</button>
  73. </view>
  74. <view v-if="current == 2">
  75. <view class="active-box active-box-comment" v-for="(item,index) in commentList" :key="index" style="flex-direction: column;" :class="index===commentList.length-1?'marginB40':''">
  76. <view class="active-header-comment">
  77. <view class="active-content">
  78. <view class="active-type-comment">
  79. <image :src="item.avatar_url" mode="aspectFit"></image>
  80. </view>
  81. <view class="active-name">{{item.author}}</view>
  82. </view>
  83. <view class="active-date-comment">{{item.addtime}}</view>
  84. </view>
  85. <view class="active-content-comment margin-top-1">{{item.content}}</view>
  86. <view class="edit-icon-box-comment">
  87. <!-- <image src="/static/edit-icon.png" mode="aspectFit" v-if="item.edit_auth" @click="goEditPage(item.id,'comment')"></image> -->
  88. <image class="margin-right-0" src="/static/del-icon.png" mode="aspectFit" v-if="item.del_auth" @click="delProcess(item.id,'comment')"></image>
  89. </view>
  90. </view>
  91. <button class="footer-box-record" @click="goComment()">上传评论</button>
  92. </view>
  93. <share-modal @closeShare="closeShare" :isShowShare="isShowShareModal" :class="{ shareParent: isShowShareModal}"></share-modal>
  94. </view>
  95. </template>
  96. <script>
  97. import md5 from "@/common/md5.js";
  98. import shareModal from '@/components/share-modal/share-modal.vue'
  99. export default {
  100. components: {
  101. "share-modal": shareModal,
  102. },
  103. data() {
  104. return {
  105. isAuth:getApp().globalData.globalAuth,
  106. userHeadImg: getApp().globalData.user_headUrl,
  107. userNickName:getApp().globalData.user_name,
  108. globalUrl:getApp().globalData.shareUrl,
  109. activeId:'',
  110. branchId:'',
  111. recordId:'',
  112. activeDesc:{},
  113. activiList:[],
  114. commentList:[],
  115. fileList:[],
  116. fileObj:{},
  117. isShowShareModal:false,
  118. items:['记录','文件','评论'],
  119. current:0,
  120. };
  121. },
  122. onLoad(option) {
  123. this.recordId = option.id;
  124. this.readDesc(this.recordId);
  125. this.readActive(this.recordId);
  126. },
  127. onShow() {
  128. // this.readActive(this.recordId);
  129. //this.getFileList(this.recordId);
  130. },
  131. onShareAppMessage() {
  132. return {
  133. title: '农工笔记',
  134. path:'/pages/index/activity/activity'
  135. }
  136. },
  137. methods: {
  138. goEditPage(id,type){
  139. switch (type){
  140. case 'record':
  141. uni.navigateTo({
  142. url:'./record?id='+ id + '&bId=' + this.branchId + '&aId=' + this.activeId + '&types=edit'
  143. })
  144. break;
  145. case 'files':
  146. uni.navigateTo({
  147. url:'./files?id='+ id + '&bId=' + this.branchId + '&aId=' + this.activeId + '&types=edit'
  148. })
  149. break;
  150. case 'comment':
  151. uni.navigateTo({
  152. url:'./comment?id='+ id + '&bId=' + this.branchId + '&aId=' + this.activeId + '&types=edit'
  153. })
  154. break;
  155. }
  156. },
  157. pageShowShare(obj,tabs){
  158. console.log(obj,tabs)
  159. switch (tabs){
  160. case 'record':
  161. this.readActive(this.recordId)
  162. break;
  163. case 'files':
  164. this.getFileList(this.recordId)
  165. break;
  166. case 'comment':
  167. this.getCommentList(this.recordId)
  168. break;
  169. }
  170. this.isShowShareModal = true;
  171. },
  172. closeShare(e){
  173. this.isShowShareModal = false;
  174. },
  175. onClickItem(e){
  176. this.current = e.currentIndex;
  177. if(e.currentIndex == '0'){
  178. this.readActive(this.recordId)
  179. }
  180. if(e.currentIndex == '1'){
  181. this.getFileList(this.recordId)
  182. }
  183. if(e.currentIndex == '2'){
  184. this.getCommentList(this.recordId)
  185. }
  186. },
  187. //打开文件
  188. openFileFn(files){
  189. uni.showLoading({
  190. mask:true,
  191. title:'加载中...',
  192. icon:'none'
  193. })
  194. uni.downloadFile({
  195. url: getApp().globalData.shareUrl + files,
  196. success: function(res) {
  197. var filePath = res.tempFilePath;
  198. //打开文件有效值 doc, xls, ppt, pdf, docx, xlsx, pptx
  199. uni.openDocument({
  200. filePath:filePath,
  201. success: function(res) {
  202. //that.downloadFile_onoff = true;
  203. uni.hideLoading();
  204. },
  205. fail(res) {
  206. uni.showToast({
  207. title: '暂不支持此类型',
  208. icon:'none',
  209. duration: 2000
  210. });
  211. uni.hideLoading();
  212. //that.downloadFile_onoff = true;
  213. }
  214. });
  215. }
  216. });
  217. },
  218. showLarge(urlList,index) {
  219. let imgList = urlList,imgArr = [];
  220. imgList.forEach((item,index)=>{
  221. imgArr.push(item.pic_url)
  222. })
  223. uni.previewImage({
  224. urls:imgArr,
  225. current:imgArr[index],
  226. longPressActions: {
  227. itemList: ["发送给朋友", "保存图片"],
  228. success: function (data) {},
  229. fail: function (err) {
  230. console.log(err.errMsg);
  231. },
  232. },
  233. });
  234. },
  235. delProcessRequeset(delId){
  236. let md5Sign = md5(
  237. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  238. "&secret=" + getApp().globalData.secret
  239. );
  240. let url = getApp().globalData.shareUrl +"api/api.php" +
  241. "?method=activity&action=process_del&timestamp=" +
  242. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  243. uni.request({
  244. url: url,
  245. method: "POST",
  246. header: {
  247. "content-type": "application/x-www-form-urlencoded",
  248. },
  249. data: {
  250. openid: getApp().globalData.open_id,
  251. id:delId
  252. },
  253. success: (res) => {
  254. if (res.data.code === 200) {
  255. uni.showToast({
  256. title: "删除成功",
  257. icon: "none",
  258. duration: 2500,
  259. success:()=>{
  260. this.readActive(this.activeId)
  261. }
  262. });
  263. }
  264. },
  265. fail: () => {
  266. console.log("连接失败");
  267. },
  268. });
  269. },
  270. delCommentRequeset(delId){
  271. let md5Sign = md5(
  272. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  273. "&secret=" + getApp().globalData.secret
  274. );
  275. let url = getApp().globalData.shareUrl +"api/api.php" +
  276. "?method=activity&action=comment_del&timestamp=" +
  277. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  278. uni.request({
  279. url: url,
  280. method: "POST",
  281. header: {
  282. "content-type": "application/x-www-form-urlencoded",
  283. },
  284. data: {
  285. openid: getApp().globalData.open_id,
  286. id:delId
  287. },
  288. success: (res) => {
  289. if (res.data.code === 200) {
  290. uni.showToast({
  291. title: "删除成功",
  292. icon: "none",
  293. duration: 2500,
  294. success:()=>{
  295. this.getCommentList(this.activeId)
  296. }
  297. });
  298. }
  299. },
  300. fail: () => {
  301. console.log("连接失败");
  302. },
  303. });
  304. },
  305. delFilesRequeset(delId){
  306. let md5Sign = md5(
  307. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  308. "&secret=" + getApp().globalData.secret
  309. );
  310. let url = getApp().globalData.shareUrl +"api/api.php" +
  311. "?method=activity&action=files_del&timestamp=" +
  312. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  313. uni.request({
  314. url: url,
  315. method: "POST",
  316. header: {
  317. "content-type": "application/x-www-form-urlencoded",
  318. },
  319. data: {
  320. openid: getApp().globalData.open_id,
  321. id:delId
  322. },
  323. success: (res) => {
  324. if (res.data.code === 200) {
  325. uni.showToast({
  326. title: "删除成功",
  327. icon: "none",
  328. duration: 2500,
  329. success:()=>{
  330. this.getFileList(this.activeId)
  331. }
  332. });
  333. }
  334. },
  335. fail: () => {
  336. console.log("连接失败");
  337. },
  338. });
  339. },
  340. delProcess(id,type){
  341. let that = this;
  342. let typeTitle;
  343. switch (type){
  344. case 'record':
  345. typeTitle = '确定删除此记录吗'
  346. break;
  347. case 'comment':
  348. typeTitle = '确定删除此评论吗'
  349. break;
  350. case 'files':
  351. typeTitle = '确定删除此文件吗'
  352. break;
  353. }
  354. uni.showModal({
  355. title: typeTitle,
  356. success(res) {
  357. if (res.confirm) {
  358. if(type === 'record') {
  359. that.delProcessRequeset(id);
  360. }
  361. else if (type === 'comment') {
  362. that.delCommentRequeset(id);
  363. }
  364. else if (type === 'files') {
  365. that.delFilesRequeset(id);
  366. }
  367. } else if (res.cancel) {
  368. console.log("用户点击取消");
  369. }
  370. },
  371. });
  372. },
  373. readDesc(id){
  374. let md5Sign = md5(
  375. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  376. "&secret=" + getApp().globalData.secret
  377. );
  378. let url = getApp().globalData.shareUrl +"api/api.php" +
  379. "?method=activity&action=info_by_id&timestamp=" +
  380. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  381. uni.request({
  382. url: url,
  383. method: "POST",
  384. header: {
  385. "content-type": "application/x-www-form-urlencoded",
  386. },
  387. data: {
  388. openid:getApp().globalData.open_id,
  389. id:id
  390. },
  391. success: (res) => {
  392. if (res.data.code === 200) {
  393. this.activeDesc = res.data.data;
  394. this.branchId = res.data.data.branch_id;
  395. this.activeId = res.data.data.id;
  396. }
  397. },
  398. fail: () => {
  399. console.log("连接失败");
  400. },
  401. });
  402. },
  403. getCommentList(id){
  404. let md5Sign = md5(
  405. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  406. "&secret=" + getApp().globalData.secret
  407. );
  408. let url = getApp().globalData.shareUrl +"api/api.php" +
  409. "?method=activity&action=comment_list&timestamp=" +
  410. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  411. uni.request({
  412. url: url,
  413. method: "POST",
  414. header: {
  415. "content-type": "application/x-www-form-urlencoded",
  416. },
  417. data: {
  418. openid:getApp().globalData.open_id,
  419. activity_id : id
  420. },
  421. success: (res) => {
  422. if (res.data.code === 200) {
  423. console.log(res.data.data)
  424. this.commentList = res.data.data.list;
  425. }
  426. },
  427. fail: () => {
  428. console.log("连接失败");
  429. },
  430. });
  431. },
  432. getFileList(id){
  433. let md5Sign = md5(
  434. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  435. "&secret=" + getApp().globalData.secret
  436. );
  437. let url = getApp().globalData.shareUrl +"api/api.php" +
  438. "?method=activity&action=files_list&timestamp=" +
  439. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  440. uni.request({
  441. url: url,
  442. method: "POST",
  443. header: {
  444. "content-type": "application/x-www-form-urlencoded",
  445. },
  446. data: {
  447. openid:getApp().globalData.open_id,
  448. activity_id : id
  449. },
  450. success: (res) => {
  451. if (res.data.code === 200) {
  452. console.log(res.data.data)
  453. this.fileList = res.data.data.list;
  454. }
  455. },
  456. fail: () => {
  457. console.log("连接失败");
  458. },
  459. });
  460. },
  461. readActive(id){
  462. let md5Sign = md5(
  463. "method=" +"activity" + "&timestamp=" + getApp().globalData.globalTimestamp +
  464. "&secret=" + getApp().globalData.secret
  465. );
  466. let url = getApp().globalData.shareUrl +"api/api.php" +
  467. "?method=activity&action=process_list&timestamp=" +
  468. getApp().globalData.globalTimestamp + "&sign=" + md5Sign;
  469. uni.request({
  470. url: url,
  471. method: "POST",
  472. header: {
  473. "content-type": "application/x-www-form-urlencoded",
  474. },
  475. data: {
  476. openid:getApp().globalData.open_id,
  477. activity_id:id
  478. },
  479. success: (res) => {
  480. if (res.data.code === 200) {
  481. let listArr = res.data.data.list;
  482. listArr.forEach((item)=>{
  483. item.pic_list.forEach((child)=>{
  484. child.pic_url = this.globalUrl + child.pic_url;
  485. child.pic_url_resize = this.globalUrl + child.pic_url_resize;
  486. })
  487. })
  488. this.activiList = listArr;
  489. }
  490. },
  491. fail: () => {
  492. console.log("连接失败");
  493. },
  494. });
  495. },
  496. tonewurl(urls) {
  497. uni.setClipboardData({
  498. data: urls,
  499. success: function (res) {
  500. uni.showToast({
  501. title: '复制成功,请在手机浏览器中打开',
  502. icon:"none"
  503. });
  504. }
  505. })
  506. // uni.navigateTo({
  507. // url:'/pages/index/webview/web-view?url=' + urls
  508. // });
  509. },
  510. goRecord(){
  511. uni.navigateTo({
  512. url:'./record?bId=' + this.branchId + '&aId=' + this.activeId + '&types=add'
  513. })
  514. },
  515. goFiles(){
  516. uni.navigateTo({
  517. url:'./files?bId=' + this.branchId + '&aId=' + this.activeId + '&types=add'
  518. })
  519. },
  520. goComment(){
  521. uni.navigateTo({
  522. url:'./comment?bId=' + this.branchId + '&aId=' + this.activeId + '&types=add'
  523. })
  524. },
  525. },
  526. };
  527. </script>
  528. <style lang="scss" scoped>
  529. .content {
  530. display: flex;
  531. flex-direction: column;
  532. .self-inf {
  533. // border-radius: 0rpx 0rpx 100% 100%;
  534. .img-name-box {
  535. height: 150rpx;
  536. margin-top: 20rpx;
  537. margin-bottom: 20rpx;
  538. display: flex;
  539. align-items: center;
  540. width: 85%;
  541. .auth-btn {
  542. margin-left: 30rpx;
  543. margin-top: 20rpx;
  544. font-size: 28rpx;
  545. background-color: #02a7f0;
  546. color: #fff;
  547. }
  548. .heade-img {
  549. z-index: 1;
  550. width: 100rpx;
  551. height: 100rpx;
  552. border-radius: 50%;
  553. // margin-left: 80rpx;
  554. }
  555. }
  556. .nickname {
  557. font-weight: 600;
  558. font-size: 28rpx;
  559. margin-left: 30rpx;
  560. margin-top: 20rpx;
  561. color: #555;
  562. letter-spacing: 1rpx;
  563. }
  564. }
  565. }
  566. .org-info-box {
  567. display: flex;
  568. justify-content: space-evenly;
  569. height: 80rpx;
  570. align-items: center;
  571. width: 100%;
  572. border-top: 1px solid #d4d4d4;
  573. color: #555;
  574. font-size: 28rpx;
  575. background: #fff;
  576. }
  577. .org-line {
  578. width: 1px;
  579. height: 82rpx;
  580. background: #d4d4d4;
  581. }
  582. .header-title {
  583. font-size: 32rpx;
  584. font-weight: bold;
  585. margin: 3% 0 1% 3%;
  586. }
  587. .active-title-box {
  588. font-size: 26rpx;
  589. height: 100rpx;
  590. border-bottom: 4px solid #eeeeee;
  591. .time-select-box {
  592. width: 32%;
  593. margin-left: 5%;
  594. }
  595. picker {
  596. width: 25%;
  597. border: 1px solid #d7d7d7;
  598. height: 60rpx;
  599. line-height: 60rpx;
  600. border-radius: 10rpx;
  601. margin-left: 20rpx;
  602. padding: 0 10rpx;
  603. position: relative;
  604. image {
  605. width: 20rpx;
  606. height: 20rpx;
  607. position: absolute;
  608. top: 11px;
  609. right: 5px;
  610. }
  611. }
  612. button {
  613. width: 24%;
  614. font-size: 25rpx;
  615. background: #4988fd;
  616. color: #fff;
  617. margin-left: 25rpx;
  618. }
  619. }
  620. .margin-top-3 {
  621. margin-top: 3%;
  622. }
  623. .active-box {
  624. display: flex;
  625. position: relative;
  626. font-size: 28rpx;
  627. padding: 20rpx;
  628. width: 92%;
  629. margin-left: 1.5%;
  630. margin-bottom: 1%;
  631. box-shadow: 0px 4rpx 32rpx rgba(0, 0, 0, 0.1);
  632. .active-header {
  633. display: flex;
  634. width: 100%;
  635. }
  636. .active-header-comment {
  637. display: flex;
  638. justify-content: space-between;
  639. width: 100%;
  640. align-items: center;
  641. }
  642. .active-type {
  643. width: 100rpx;
  644. height: 100rpx;
  645. border-radius: 50%;
  646. background-color: #ccc;
  647. text-align: center;
  648. display: flex;
  649. align-items: center;
  650. font-size: 26rpx;
  651. color: #fff;
  652. }
  653. .active-type-comment {
  654. width: 60rpx;
  655. height: 60rpx;
  656. border-radius: 10rpx;
  657. display: flex;
  658. align-items: center;
  659. margin-right: 15rpx;
  660. image {
  661. width: 100%;
  662. height: 100%;
  663. border-radius: 10rpx;
  664. }
  665. }
  666. .active-content-box{
  667. display: flex;
  668. flex-direction: column;
  669. // margin-left: 20rpx;
  670. }
  671. .active-content-box-img {
  672. display: flex;
  673. justify-content: flex-start;
  674. flex-wrap: wrap;
  675. image {
  676. width: 220rpx;
  677. height: 300rpx;
  678. }
  679. }
  680. .active-content {
  681. display: flex;
  682. align-items: center;
  683. // height: 45rpx;
  684. font-size: 26rpx;
  685. .active-title {
  686. font-size: 28rpx;
  687. margin-right: 10rpx;
  688. font-weight: bold;
  689. word-break: break-all;
  690. }
  691. .active-name {
  692. font-size: 26rpx;
  693. margin-right: 10rpx;
  694. }
  695. .active-date {
  696. color: #ccc;
  697. }
  698. }
  699. .active-date-comment {
  700. font-size: 26rpx;
  701. color: #8590a6;
  702. }
  703. .edit-icon-box {
  704. position: absolute;
  705. right: 10px;
  706. top: 10px;
  707. image {
  708. width: 35rpx;
  709. height: 35rpx;
  710. margin-right: 10rpx;
  711. }
  712. }
  713. .bg-yellow {
  714. background-color: #ffdd40;
  715. }
  716. .bg-red {
  717. background-color: #ec808d;
  718. }
  719. .bg-blue {
  720. background-color: #81d3f8;
  721. }
  722. }
  723. .marginB40 {
  724. margin-bottom: 80rpx;
  725. }
  726. .marginR5{
  727. margin-right: 5rpx;
  728. }
  729. .footer-box-record{
  730. position: fixed;
  731. bottom: 0;
  732. background-color:#f59a23;
  733. width: 100%;
  734. border-radius: 0;
  735. color: #fff;
  736. font-size: 32rpx;
  737. }
  738. .img-container{
  739. display: flex;
  740. flex-direction: column;
  741. width: 90%;
  742. margin: 3% auto;
  743. font-size: 26rpx;
  744. label {
  745. width: 20%;
  746. margin-left: 2%;
  747. margin-bottom: 2%;
  748. }
  749. .note-image-box{
  750. width: 75%;
  751. display: flex;
  752. flex-wrap: wrap;
  753. .note-image-item{
  754. position: relative;
  755. //这两个百分比很关键
  756. width: 33.33%;
  757. height: 0;
  758. padding-top: 33.33%;
  759. box-sizing: border-box;
  760. .close-icon{
  761. display: flex;
  762. justify-content: center;
  763. align-items: center;
  764. position: absolute;
  765. right: 0;
  766. top: 0;
  767. width: 22px;
  768. height: 22px;
  769. border-radius: 50%;
  770. background-color: #d5d5d5;
  771. z-index: 2;
  772. }
  773. .image-box{
  774. display: flex;
  775. justify-content: center;
  776. align-items: center;
  777. position: absolute;
  778. top: 5px;
  779. right: 5px;
  780. bottom: 5px;
  781. left: 5px;
  782. border: 1px #eee solid;
  783. border-radius: 5px;
  784. overflow: hidden;
  785. image{
  786. width: 100%;
  787. height: 100%;
  788. }
  789. }
  790. }
  791. }
  792. }
  793. .active-box-comment {
  794. border-bottom: 1px solid #d7d7d7;
  795. box-shadow: none;
  796. }
  797. .active-content-comment {
  798. font-size: 28rpx;
  799. margin-right: 10rpx;
  800. // font-weight: bold;
  801. word-break: break-all;
  802. margin-left: 70rpx;
  803. width: 85%;
  804. }
  805. .edit-icon-box-comment {
  806. position: absolute;
  807. right: 10px;
  808. bottom: 5px;
  809. image {
  810. width: 30rpx;
  811. height: 30rpx;
  812. margin-right: 10rpx;
  813. }
  814. }
  815. .active-content-files {
  816. font-size: 28rpx;
  817. margin-right: 10rpx;
  818. // font-weight: bold;
  819. word-break: break-all;
  820. margin-left: 70rpx;
  821. width: 85%;
  822. height: 150rpx;
  823. }
  824. .edit-icon-box-file {
  825. position: absolute;
  826. right: 10px;
  827. bottom: 5px;
  828. image {
  829. width: 35rpx;
  830. height: 35rpx;
  831. margin-right: 10rpx;
  832. }
  833. }
  834. .files-class-box {
  835. display: flex;
  836. justify-content: flex-start;
  837. margin-top: 10px;
  838. width: 80%;
  839. }
  840. .files-desc-box {
  841. text-align: center;
  842. margin-top: 10px;
  843. }
  844. .show-file-box {
  845. width: 30%;
  846. margin-right: 20rpx;
  847. }
  848. </style>