reportDetail.vue 24 KB

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