reportDetail.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881
  1. <template>
  2. <view class="content">
  3. <view class="zdyNav" v-if="info">
  4. <view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
  5. <view class="nav">
  6. <view class="backBoxBox">
  7. <view class="backBox">
  8. <image src="../../static/img/icon_return_white@2x.png" mode="" class="baiheiback" @click="back"></image>
  9. <view class="shuxian"></view>
  10. <image src="../../static/img/icon_home_white@2x.png" mode="" class="homeImg" @click="goHome" ></image>
  11. </view>
  12. </view>
  13. <view >报告详情</view>
  14. <view style="width:157rpx;"></view>
  15. </view>
  16. <view class="topCont" v-if="info.state==1" >
  17. <image src="../../static/img/report_icon_daitijiao@2x.png" mode="" class="topContImg"></image>
  18. <view class="topContTxt">待提交</view>
  19. </view>
  20. <view class="topCont" v-if="info.state==2">
  21. <image src="../../static/img/report_icon_daizuoye@2x.png" mode="" class="topContImg2"></image>
  22. <view class="topContTxt">待作业</view>
  23. </view>
  24. <view class="topCont" v-if="info.state==3&&loginType==1">
  25. <image src="../../static/img/report_icon_dianping@2x.png" mode="" class="topContImg3"></image>
  26. <view class="topContTxt">待运营经理点评</view>
  27. </view>
  28. <view class="topCont" v-if="info.state==3&&loginType==2">
  29. <image src="../../static/img/report_icon_dianping@2x.png" mode="" class="topContImg3"></image>
  30. <view class="topContTxt">待点评</view>
  31. </view>
  32. <view class="topCont" v-if="info.state==4">
  33. <image src="../../static/img/report_icon_daihuifu@2x.png" mode="" class="topContImg4"></image>
  34. <view class="topContTxt">待回复</view>
  35. </view>
  36. <view class="topCont" v-if="info.state==5">
  37. <image src="../../static/img/report_icon_yiwancheng@2x.png" mode="" class="topContImg5"></image>
  38. <view class="topContTxt">已完成</view>
  39. </view>
  40. </view>
  41. <view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
  42. <view style="height: 44px;"></view>
  43. <view class="main" v-if="info">
  44. <!-- 访问人 -->
  45. <view class="submitOpBox">
  46. <view class="submitOpBoxLeft">
  47. <view class="submitOpBoxLeftline">访问人:{{info.managerName}}</view>
  48. <view class="submitOpBoxLeftline" style="padding-top: 28rpx;">访问时间:{{info.checkTime.slice(0,info.checkTime.length-8)}}</view>
  49. </view>
  50. <view class="shopScore" v-if="info.shopScore">{{info.shopScore}}分</view>
  51. </view>
  52. <!-- 门店 -->
  53. <view class="shopBox">
  54. <view class="shopTop">
  55. <view class="shopName">{{info.shopInfo.shopName}}</view>
  56. <view class="shopTopImgBox">
  57. <image src="../../static/img/icon_daohang_def@2x.png" mode="" class="shopTopimg" @click="goaddress"></image>
  58. <image src="../../static/img/icon_phone_def@2x.png" mode="" class="shopTopimg" @click="call"></image>
  59. </view>
  60. </view>
  61. <view class="shopCont">
  62. <view class="shopLevel" v-if="info.shopInfo.shopLevel">{{info.shopInfo.shopLevel}}</view>
  63. <view class="openingTime" v-if="info.shopInfo.openingTime">·{{info.shopInfo.openingTime}}</view>
  64. <view class="openingTime">联系人:{{info.shopInfo.contactor}} {{info.shopInfo.contactorPhone}}</view>
  65. </view>
  66. <view class="address" v-if="info.shopInfo.address">
  67. <view style="padding-right: 30rpx;">{{info.shopInfo.address}}</view>
  68. <view v-if="info.shopInfo.distance">{{info.shopInfo.distance}}km</view>
  69. </view>
  70. </view>
  71. <!-- tab -->
  72. <view class="tabBox">
  73. <view class="tabLine" :class="{tabActive:tabIndex==1}" @click="tabClick(1)">检测情况</view>
  74. <view class="tabLine" :class="{tabActive:tabIndex==2}" @click="tabClick(2)">行动建议</view>
  75. <view class="tabLine" v-if="info.state==4||info.state==5" :class="{tabActive:tabIndex==3}" @click="tabClick(3)">点评</view>
  76. </view>
  77. <!-- 检测情况 -->
  78. <view class="categoryList" v-if="tabIndex==1">
  79. <view class="categoryListLine" v-for="(item,index) in info.categoryList">
  80. <view class="categoryName">{{item.categoryName}}</view>
  81. <view class="sectionList" v-for="(list,index2) in item.sectionList">
  82. <view class="checkName">{{list.checkName}}</view>
  83. <view class="itemList" v-for="(v,index3) in list.itemList">
  84. <view class="itemTOp">
  85. <view class="itemName">{{v.itemName}}</view>
  86. <view class="itemSorce" v-if="v.keyType==4">{{v.itemValue}}分</view>
  87. </view>
  88. <view class="itemdescribe" v-if="v.describe">{{v.describe}}</view>
  89. <view class="ckImemBox" v-if="v.keyType==1">
  90. <view class="ckItemLIne" v-for="(ckv,i) in v.itemValue.split(',')">
  91. {{ckv}}
  92. </view>
  93. </view>
  94. <view class="itemTxt" v-if="v.keyType==2">
  95. {{v.itemValue}}
  96. </view>
  97. <view class="itemImgBox" v-if="v.keyType==3">
  98. <view v-for="(itemiMg,i) in v.itemValue.split(',')">
  99. <image :src="itemiMg" mode="" class="itemIMg"></image>
  100. </view>
  101. </view>
  102. </view>
  103. </view>
  104. </view>
  105. </view>
  106. <!-- 行动建议 -->
  107. <view class="suggestList" v-if="tabIndex==2">
  108. <view class="suggestLine" v-for="(item,index) in info.suggestList">
  109. <view class="suggestLineTop">建议({{index+1}})</view>
  110. <view class="suggestCont">{{item.suggest}}</view>
  111. <view class="suggestLineBottom">
  112. <view class="suggestLineBottomTxt">预计完成日期:{{item.orderFinishTime.slice(0,item.orderFinishTime.length-8)}}</view>
  113. <view class="suggestLineBottomTxt">负责人:{{item.managerName}}</view>
  114. </view>
  115. <image src="../../static/img/report_weixiugai@2x.png" mode="" class="exeStateImg" v-if="item.exeState==0"></image>
  116. <image src="../../static/img/_report_yixiugai@2x.png" mode="" class="exeStateImg" v-if="item.exeState==1"></image>
  117. <!-- 作业情况-->
  118. <view v-if="item.exeState==1">
  119. <view class="remarksLineTxt1">
  120. 作业情况
  121. </view>
  122. <view class="workqkImgBox">
  123. <image class="workqkImg" @click="previewImage(img)" v-for="(img,imgIndex) in item.exeImg.split(',')" :src="img"></image>
  124. </view>
  125. <view class="suggestLineBottom">
  126. <view class="suggestLineBottomTxt">实际完成实际:{{item.exeTime.slice(0,item.exeTime.length-8)}}</view>
  127. </view>
  128. </view>
  129. </view>
  130. <nodata v-if="info.suggestList.length==0"></nodata>
  131. </view>
  132. <!-- 点评 -->
  133. <view class="remarksBox" v-if="tabIndex==3">
  134. <view class="remarksLine">
  135. <view class="remarksLineTop">
  136. <view class="remarksLineTopTitle">对门店行动完成情况打分</view>
  137. <view class="remarksLineTopXxbox">
  138. <uni-rate :max="5" v-model="info.shopEvaStar" :size="16" :readonly="true"/>
  139. </view>
  140. </view>
  141. <view class="remarksLineTxt1">
  142. 补充说明
  143. </view>
  144. <view class="remarksLineTxt2" v-if="info.shopEvaContent">{{info.shopEvaContent}}</view>
  145. <view class="timeBox">
  146. <view>{{info.shopEvaTime}}</view>
  147. <view v-if="info.shopEvaOpName">{{info.shopEvaOpName}}</view>
  148. </view>
  149. <!-- 店主回复 -->
  150. <view class="shopEvaReplyBox" v-if="shopEvaReplyContent">
  151. <view class="shopEvaReplyContent">{{info.shopEvaReplyContent}}</view>
  152. <view class="shopEvaReplyTime">{{info.shopEvaReplyTime}}</view>
  153. </view>
  154. </view>
  155. <view class="remarksLine" v-if="lookShow">
  156. <view class="remarksLineTop">
  157. <view class="remarksLineTopTitle">对运营经理的服务评价</view>
  158. <view class="remarksLineTopXxbox">
  159. <uni-rate :max="5" v-model="info.userEvaStar" :size="16" :readonly="true"/>
  160. </view>
  161. </view>
  162. <view class="remarksLineTxt1">
  163. 其他建议
  164. </view>
  165. <view class="remarksLineTxt2">{{info.userEvaContent}}</view>
  166. <view class="timeBox">
  167. <view>{{info.userEvaTime}}</view>
  168. <view>{{info.userEvaOpName}}</view>
  169. </view>
  170. </view>
  171. </view>
  172. </view>
  173. <view style="height: 150rpx;"></view>
  174. <view class="bottom" v-if="info.state==1&&loginType==1">
  175. <view class="delBtn" @click="delBg">删除</view>
  176. <view class="editBtn" @click="editBg">编辑</view>
  177. <view class="Submit" @click="submitBg">提交</view>
  178. </view>
  179. <view class="bottom" v-if="info.state==2&&loginType==1">
  180. <button open-type="share">
  181. <view class="shoreDz" @click="shareDz">发送给店长</view>
  182. </button>
  183. </view>
  184. <view class="bottom" v-if="info.state==3&&loginType==1" @click="goremarks">
  185. <view class="shoreDz">点评</view>
  186. </view>
  187. <!-- 店主-->
  188. <view class="bottom" v-if="info.state==2&&loginType==2">
  189. <view class="shoreDz" @click="editWork">修改作业</view>
  190. </view>
  191. <view class="bottom" v-if="info.state==4&&loginType==2">
  192. <view class="shoreDz" @click="goReply">回复</view>
  193. </view>
  194. <view class="bottom" v-if="info.state==3&&loginType==2" @click="goremarks2">
  195. <view class="shoreDz">点评</view>
  196. </view>
  197. </view>
  198. </template>
  199. <script>
  200. import nodata from '@/components/nodata/nodata.vue'
  201. export default {
  202. components: {
  203. nodata
  204. },
  205. data() {
  206. return {
  207. iStatusBarHeight:'',
  208. id:'',
  209. info:'',
  210. tabIndex:1,
  211. lat:'',
  212. lng:'',
  213. loginType:'',
  214. type:1,
  215. userInfoId:'',
  216. mEvaluateLook:'',
  217. lookShow:true,
  218. }
  219. },
  220. onLoad(opt) {
  221. if(uni.getStorageSync("logInData").userInfo){
  222. this.userInfoId=uni.getStorageSync("logInData").userInfo.id;
  223. this.mEvaluateLook=uni.getStorageSync("logInData").mEvaluateLook;
  224. }
  225. var that=this;
  226. this.loginType=uni.getStorageSync("logInData").type;
  227. console.log('this.loginType=='+this.loginType)
  228. this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
  229. this.id=opt.id;
  230. //this.getSuperCheckSheetInfo();
  231. uni.getLocation({
  232. success(res) {
  233. that.lng = res.longitude
  234. that.lat = res.latitude
  235. that.getSuperCheckSheetInfo()
  236. },
  237. fail() {
  238. }
  239. })
  240. //#ifdef H5
  241. that.lng='117.06533'
  242. that.lat='36.68013'
  243. that.getSuperCheckSheetInfo()
  244. // #endif
  245. },
  246. onShow() {
  247. if(this.id&&this.lat){
  248. console.log(this.id)
  249. this.getSuperCheckSheetInfo()
  250. }
  251. },
  252. methods: {
  253. previewImage(img){
  254. var arr=[];
  255. arr.push(img)
  256. // 预览图片
  257. uni.previewImage({
  258. urls: arr,
  259. longPressActions: {
  260. itemList: ['发送给朋友', '保存图片', '收藏'],
  261. success: function(data) {
  262. console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
  263. },
  264. fail: function(err) {
  265. console.log(err.errMsg);
  266. }
  267. }
  268. });
  269. },
  270. back(){
  271. uni.navigateBack({
  272. delta:1
  273. })
  274. },
  275. goremarks2(){
  276. uni.navigateTo({
  277. url:'../shop/shopIndex/reviewsContent?id='+this.id
  278. })
  279. },
  280. editBg(){
  281. this.info.categoryList.forEach(item=>{
  282. item.sectionList.forEach(v=>{
  283. v.check=v.isCheck;
  284. v.itemList.forEach(i=>{
  285. if(i.keyType==1){
  286. i.keyValue=i.keyValue.replace(/,/ig,',')
  287. var array= i.keyValue.split(",")
  288. var array2=i.itemValue.split(",")
  289. var arr=[];
  290. console.log(array2)
  291. array.forEach(name=>{
  292. var index = array2.indexOf(name);
  293. console.log(index)
  294. if(index!=-1){
  295. var obj={
  296. name:name,
  297. check:true
  298. }
  299. }else{
  300. var obj={
  301. name:name,
  302. check:false
  303. }
  304. }
  305. arr.push(obj)
  306. })
  307. i.array=arr
  308. }else if(i.keyType==4){
  309. var arr=[];
  310. for(var j=0;j<Number(i.keyValue) +1;j++){
  311. arr.push(j)
  312. }
  313. i.array=arr.reverse();
  314. i.storeIndex=null;
  315. }else if(i.keyType==3){
  316. i.imgArr=i.itemValue.split(",")
  317. }
  318. })
  319. })
  320. })
  321. //console.log(this.info.categoryList)
  322. this.$store.commit('mutationsCategoryList',this.info.categoryList);
  323. this.$store.commit('mutationssuggestList',this.info.suggestList)
  324. uni.navigateTo({
  325. url:'../entryReport/entered?type=3&sheetID='+this.id+'&shopId='+this.info.shopID+'&ShopName='+this.info.shopName
  326. })
  327. },
  328. goaddress(){
  329. var that=this;
  330. if(that.info.shopInfo.lat==''||that.info.shopInfo.lng==''){
  331. uni.showToast({
  332. title: '该门店未设置定位',
  333. icon:'none',
  334. duration: 2000,
  335. });
  336. return false;
  337. }
  338. uni.openLocation({
  339. latitude:Number(that.info.shopInfo.lat),
  340. longitude:Number(that.info.shopInfo.lng),
  341. name:that.info.shopInfo.shopName,
  342. address:that.info.shopInfo.address,
  343. success: function () {
  344. console.log('success');
  345. },
  346. fail(err) {
  347. console.log(err)
  348. }
  349. });
  350. },
  351. call(){
  352. var that=this;
  353. uni.makePhoneCall({
  354. phoneNumber: that.info.shopInfo.contactorPhone
  355. });
  356. },
  357. goHome(){
  358. if(this.loginType==1){
  359. uni.navigateTo({
  360. url:'../index/index'
  361. })
  362. }else{
  363. uni.navigateTo({
  364. url:'../shop/shopIndex/index'
  365. })
  366. }
  367. },
  368. tabClick(num){
  369. this.tabIndex=num
  370. },
  371. goremarks(){
  372. uni.navigateTo({
  373. url:'../entryReport/remarks?id='+this.id
  374. })
  375. },
  376. goReply(){
  377. uni.navigateTo({
  378. url:'../shop/shopIndex/reply?id='+this.id+'&shopEvaContent='+this.info.shopEvaContent+'&shopEvaOpName='+this.info.shopEvaOpName+'&shopEvaTime='+this.info.shopEvaTime+'&shopEvaStar='+this.info.shopEvaStar
  379. })
  380. },
  381. getSuperCheckSheetInfo(){
  382. uni.showLoading({
  383. title: '加载中'
  384. })
  385. let url = 'accompany/SuperCheckSheet/querySuperCheckSheetInfo',
  386. params = {
  387. sheetID: this.id,
  388. lat:this.lat,
  389. lng:this.lng
  390. }
  391. this.$http(url, params, 'GET').then(res => {
  392. for (const key in res.data.shopInfo) {
  393. res.data.shopInfo[key] = this.$praseStrEmpty(res.data.shopInfo[key])
  394. }
  395. this.info = res.data;
  396. if(this.userInfoId==res.data.managerID){
  397. if(this.mEvaluateLook==0){
  398. this.lookShow=false;
  399. }
  400. }
  401. })
  402. },
  403. editWork(){
  404. uni.navigateTo({
  405. url:'../shop/shopIndex/editWork?sheetID='+this.id
  406. })
  407. },
  408. delBg(){
  409. var that=this;
  410. uni.showModal({
  411. title: '提示',
  412. content: '您确定要删除报告吗?',
  413. success: function (res) {
  414. if (res.confirm) {
  415. uni.showLoading({ });
  416. that.$http('accompany/SuperCheckSheet/deleteSuperCheckSheet', {
  417. sheetID:that.id,
  418. }, 'POST').then(res => {
  419. uni.showToast({
  420. title: '删除成功',
  421. icon:'success',
  422. duration: 2000,
  423. });
  424. uni.navigateBack({
  425. delta:1
  426. })
  427. })
  428. } else if (res.cancel) {
  429. console.log('用户点击取消');
  430. }
  431. }
  432. });
  433. },
  434. submitBg(){
  435. if(this.info.suggestList.length==0){
  436. uni.showToast({
  437. title: '请先编辑,填写行动建议',
  438. icon:'none',
  439. duration: 3000,
  440. });
  441. return false;
  442. }
  443. uni.showLoading({ });
  444. this.$http('accompany/SuperCheckSheet/submitSuperCheckSheet', {
  445. sheetID:this.id,
  446. }, 'POST').then(res => {
  447. this.getSuperCheckSheetInfo();
  448. uni.showToast({
  449. title: '提交成功',
  450. icon:'success',
  451. duration: 3000,
  452. });
  453. })
  454. },
  455. shareDz(){
  456. }
  457. },
  458. onShareAppMessage(res) {
  459. console.log(res)
  460. return {
  461. title: '报告详情',
  462. path: '/pages/reportManage/reportDetail?id='+this.id,
  463. success(res){
  464. uni.hideLoading();
  465. setTimeout(function(){
  466. uni.showToast({
  467. title: '发送成功',
  468. icon:'success',
  469. duration: 3000,
  470. });
  471. },1000)
  472. console.log("c成功")
  473. },
  474. }
  475. }
  476. }
  477. </script>
  478. <style scoped>
  479. .content{
  480. background: #F4F5F7;
  481. min-height: 100vh;
  482. }
  483. .zdyNav{
  484. background: linear-gradient(132deg, #FF8635 0%, #FF4828 100%);
  485. position: fixed;
  486. left: 0;
  487. top: 0;
  488. width: 100vw;
  489. z-index: 11;
  490. }
  491. .baiheiback{
  492. width: 18rpx;
  493. height: 34rpx;
  494. padding-top: 12rpx;
  495. padding-left: 32rpx;
  496. }
  497. .homeImg{
  498. width: 40rpx;
  499. height: 34rpx;
  500. padding-top: 12rpx;
  501. padding-right: 20rpx;
  502. }
  503. .backBox{
  504. display: flex;
  505. width: 157rpx;
  506. height: 58rpx;
  507. border-radius: 30rpx;
  508. border: 1px solid #EEEEEE;
  509. justify-content: space-between;
  510. }
  511. .shuxian{
  512. width: 2rpx;
  513. height: 32rpx;
  514. background: #E4E5E6;
  515. margin-top: 14rpx;
  516. }
  517. .nav{
  518. display: flex;
  519. justify-content: space-between;
  520. line-height: 44px;
  521. font-size: 36rpx;
  522. color: #FFFFFF;
  523. }
  524. .backBoxBox{
  525. display: flex;
  526. align-items: center;
  527. padding-left: 24rpx;
  528. }
  529. .topContImg{
  530. width: 38rpx;
  531. height: 46rpx;
  532. }
  533. .topContImg2{
  534. width: 42rpx;
  535. height: 44rpx;
  536. }
  537. .topContImg3{
  538. width: 38rpx;
  539. height: 44rpx;
  540. }
  541. .topContImg4{
  542. width: 44rpx;
  543. height: 38rpx;
  544. margin-top: 4rpx;
  545. }
  546. .topContImg5{
  547. width: 44rpx;
  548. height: 46rpx;
  549. }
  550. .topContTxt{
  551. font-size: 36rpx;
  552. font-weight: 500;
  553. color: #FFFFFF;
  554. line-height: 46rpx;
  555. margin-left: 20rpx;
  556. }
  557. .topCont{
  558. display: flex;
  559. justify-content: center;
  560. padding: 32rpx;
  561. }
  562. .main{
  563. padding-top:110rpx ;
  564. padding-left: 24rpx;
  565. padding-right: 24rpx;
  566. }
  567. .submitOpBox{
  568. background: #FFFFFF;
  569. margin-top: 20rpx;
  570. padding: 30rpx 20rpx;
  571. border-radius: 10rpx;
  572. display: flex;
  573. justify-content: space-between;
  574. }
  575. .submitOpBoxLeftline{
  576. font-size: 26rpx;
  577. color: #3C3C3C;
  578. }
  579. .shopScore{
  580. color: #FF4F00;
  581. font-size: 36rpx;
  582. padding-top: 20rpx;
  583. }
  584. .shopBox{
  585. background: #FFFFFF;
  586. margin-top: 20rpx;
  587. padding: 30rpx 20rpx;
  588. border-radius: 10rpx;
  589. }
  590. .shopTopimg{
  591. width: 48rpx;
  592. height: 48rpx;
  593. margin-left: 40rpx;
  594. }
  595. .shopTop{
  596. display: flex;justify-content: space-between;
  597. }
  598. .shopName{
  599. font-size: 30rpx;
  600. color: #3C3C3C;
  601. }
  602. .shopCont{
  603. display: flex;
  604. font-size: 26rpx;
  605. }
  606. .shopLevel{
  607. color: #B98B5D;
  608. padding-right: 15rpx;
  609. }
  610. .openingTime{
  611. padding-right: 15rpx;
  612. }
  613. .address{
  614. font-size: 26rpx;
  615. color: #999999;
  616. padding-top: 10rpx;
  617. }
  618. .tabBox{
  619. background: #FFFFFF;
  620. margin-top: 20rpx;
  621. padding: 30rpx 20rpx 0 20rpx;
  622. border-radius: 10rpx;
  623. display: flex;
  624. justify-content: space-around;
  625. }
  626. .tabLine{
  627. padding-bottom: 26rpx;
  628. }
  629. .tabActive{
  630. color: #FF4F00;
  631. border-bottom: 4rpx solid #FF4F00;
  632. }
  633. .categoryName{
  634. padding: 20rpx 0;
  635. font-size: 26rpx;
  636. color: #999999;
  637. }
  638. .sectionList{
  639. background: #FFFFFF;
  640. border-radius: 10rpx;
  641. }
  642. .checkName{
  643. padding: 30rpx 20rpx;
  644. border-bottom: 1px solid #EEEEEE;
  645. font-size: 30rpx;
  646. font-family: PingFangSC-Medium, PingFang SC;
  647. font-weight: 500;
  648. color: #3C3C3C;
  649. }
  650. .itemTOp{
  651. display: flex;
  652. justify-content: space-between;
  653. }
  654. .itemList{
  655. padding: 30rpx 20rpx;
  656. border-bottom: 1px solid #EEEEEE;
  657. }
  658. .itemName{
  659. font-size: 28rpx;
  660. color: #444444;
  661. }
  662. .itemSorce{
  663. font-size: 30rpx;
  664. color: #FF4F00;
  665. }
  666. .itemdescribe{
  667. font-size: 26rpx;
  668. color: #999999;
  669. }
  670. .bottom{
  671. width: 750rpx;
  672. height: 120rpx;
  673. background: #FFFFFF;
  674. box-shadow: 0px -4px 8px 0px rgba(153,153,153,0.08);
  675. position: fixed;
  676. left: 0;
  677. bottom: 0;
  678. display: flex;
  679. justify-content: space-around;
  680. }
  681. .delBtn{
  682. width: 220rpx;
  683. height: 74rpx;
  684. background: #F4F5F7;
  685. border-radius: 37rpx;
  686. text-align: center;
  687. line-height: 74rpx;
  688. color: #3C3C3C;
  689. font-size: 30rpx;
  690. margin-top: 24rpx;
  691. }
  692. .editBtn{
  693. width: 220rpx;
  694. height: 74rpx;
  695. background: linear-gradient(129deg, #FFDC5C 0%, #FFB62F 100%);
  696. border-radius: 37rpx;
  697. text-align: center;
  698. line-height: 74rpx;
  699. color: #FFFFFF;
  700. font-size: 30rpx;
  701. margin-top: 24rpx;
  702. }
  703. .Submit{
  704. width: 220rpx;
  705. height: 74rpx;
  706. background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
  707. border-radius: 37rpx;
  708. text-align: center;
  709. line-height: 74rpx;
  710. color: #FFFFFF;
  711. font-size: 30rpx;
  712. margin-top: 24rpx;
  713. }
  714. .ckItemLIne{
  715. border: 1px solid #B98B5D;
  716. border-radius: 4rpx;
  717. padding: 5rpx 10rpx;
  718. margin-left: 20rpx;
  719. }
  720. .ckImemBox{
  721. display: flex;
  722. flex-wrap: wrap;
  723. padding-top: 20rpx;
  724. font-size: 24rpx;
  725. color: #B98B5D;
  726. }
  727. .itemTxt{
  728. font-size: 26rpx;
  729. padding-top: 10rpx;
  730. color: #666666;
  731. }
  732. .itemIMg{
  733. width: 150rpx;
  734. height: 150rpx;
  735. margin-right: 20rpx;
  736. }
  737. .itemImgBox{
  738. display: flex;
  739. flex-wrap: wrap;
  740. }
  741. .suggestLine{
  742. background: #FFFFFF;
  743. border-radius: 10rpx;
  744. margin-top: 20rpx;
  745. position: relative;
  746. }
  747. .suggestLineTop{
  748. height: 76rpx;
  749. background: linear-gradient(270deg, rgba(255, 255, 255, 0.1) 0%, #FFE2D5 100%);
  750. line-height: 76rpx;
  751. color: #3C3C3C;
  752. font-size: 28rpx;
  753. padding-left: 20rpx;
  754. }
  755. .suggestCont{
  756. color: #3C3C3C;
  757. font-size: 28rpx;
  758. line-height: 40rpx;
  759. padding: 30rpx 20rpx;
  760. }
  761. .suggestLineBottom{
  762. display: flex;
  763. justify-content: space-between;
  764. color: #999999;
  765. font-size: 26rpx;
  766. padding: 0 20rpx 30rpx 20rpx;
  767. }
  768. .address{
  769. display: flex;
  770. justify-content: space-between;
  771. }
  772. .exeStateImg{
  773. width: 116rpx;
  774. height: 96rpx;
  775. position: absolute;
  776. top: 0;
  777. right: 0;
  778. z-index: 11;
  779. }
  780. .shoreDz{
  781. width: 702rpx;
  782. height: 74rpx;
  783. background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
  784. border-radius: 37rpx;
  785. text-align: center;
  786. line-height: 74rpx;
  787. color: #FFFFFF;
  788. font-size: 30rpx;
  789. margin-top: 24rpx;
  790. }
  791. .remarksLine{
  792. background: #FFFFFF;
  793. margin-top: 20rpx;
  794. }
  795. .remarksLineTop{
  796. display: flex;
  797. justify-content: space-between;
  798. padding: 30rpx 20rpx;
  799. font-size: 30rpx;
  800. color: #3C3C3C;
  801. border-bottom: 1px solid #EEEEEE;
  802. }
  803. .remarksLineTxt1{
  804. font-size: 28rpx;
  805. color: #444444;
  806. padding: 28rpx 20rpx;
  807. }
  808. .remarksLineTxt2{
  809. font-size: 26rpx;
  810. padding: 0rpx 20rpx 20rpx 20rpx;
  811. color: #666666;
  812. }
  813. .timeBox{
  814. display: flex;
  815. justify-content: space-between;
  816. font-size: 26rpx;
  817. padding:10rpx 20rpx;
  818. color: #999999;
  819. }
  820. .shopEvaReplyBox{
  821. background: #F4F5F7;
  822. border-radius: 10px;
  823. font-size: 26rpx;
  824. margin: 20rpx;
  825. padding: 10rpx;
  826. }
  827. .shopEvaReplyContent{
  828. color: #666666;
  829. line-height: 40rpx;
  830. }
  831. .shopEvaReplyTime{
  832. color: #999999;
  833. }
  834. .workqkImgBox{
  835. display: flex;
  836. flex-wrap: wrap;
  837. }
  838. .workqkImg{
  839. width: 150rpx;
  840. height: 150rpx;
  841. margin: 12rpx;
  842. border-radius: 5rpx;
  843. }
  844. </style>