index.vue 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669
  1. <template>
  2. <!-- 广告服务 -->
  3. <div>
  4. <!-- 广告页面头部 -->
  5. <!-- <AdvertisingHead></AdvertisingHead> -->
  6. <HomePageHead></HomePageHead>
  7. <HomePageNavigation1></HomePageNavigation1>
  8. <div class="adtips">
  9. <div class="inner">
  10. <p v-if="activeName == '1'">注意:广告购买需提交信息,用户与商务人员进行线下金额交易,交易成功后由商务人员后台审核。审核通过,即广告投放成功。</p>
  11. </div>
  12. </div>
  13. <div class="advertising">
  14. <div class="inner">
  15. <el-tabs v-model="activeName" :tab-position="tabPosition" class="demo-tabs" @tab-change="goOrderList">
  16. <!-- {{ ad }} -->
  17. <el-tab-pane label="广告购买" name="1" @click="goBuyAd">
  18. <!-- 广告购买 -->
  19. <div id="buyAd">
  20. <div class="buyAD">
  21. <div class="inner">
  22. <!-- 填写广告信息内容 -->
  23. <div class="textOne" v-if="ad == 1">
  24. <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120"
  25. class="demo-ruleForm" :size="formSize" status-icon>
  26. <el-form-item label="广告名称:" prop="adName">
  27. <el-input v-model="ruleForm.adName" placeholder="请输入广告名称" />
  28. </el-form-item>
  29. <el-form-item label="广告链接:" prop="adLink">
  30. <el-input v-model="ruleForm.adLink" placeholder="请输入广告链接" />
  31. </el-form-item>
  32. <el-form-item label="广告持续时间:" required>
  33. <el-config-provider :locale="zhCn">
  34. <!-- <el-date-picker v-model="ruleForm.time" type="daterange"
  35. range-separator="至" start-placeholder="请选择开始时间"
  36. end-placeholder="请选择结束时间" :size="size" @change="changeStartTime"
  37. :disabled-date="disabledStartTime" /> -->
  38. <el-date-picker v-model="ruleForm.time" type="datetimerange"
  39. format="YYYY-MM-DD HH:00:00" value-format="YYYY-MM-DD HH:00:00"
  40. range-separator="至" start-placeholder="请选择开始时间"
  41. end-placeholder="请选择结束时间" :size="size" @change="changeStartTime"
  42. :disabled-date="disabledStartTime">
  43. </el-date-picker>
  44. </el-config-provider>
  45. </el-form-item>
  46. <el-form-item label="广告尺寸:" prop="adSize">
  47. <el-radio-group v-model="ruleForm.adSize">
  48. <el-radio :value="item.id" v-for="item in options" :key="item.id"
  49. @change="changeAdSize">{{
  50. item.size }}</el-radio>
  51. </el-radio-group>
  52. <!-- <el-select v-model="ruleForm.adSize" placeholder="请选择广告尺寸" @change="changeAdSize">
  53. <el-option v-for="item in options" :key="item.id" :label="item.size"
  54. :value="item.id"></el-option>
  55. </el-select> -->
  56. <a class="pic" @click="goPhoto">查看示意图</a>
  57. </el-form-item>
  58. <!-- 表格部分 -->
  59. <div class="pageTable">
  60. <el-table :data="tableData" border ref="multipleTable" empty-text="请先选择广告持续时间"
  61. @selection-change="handleSelectionChange" style="width: 100%"
  62. :header-row-style="{ height: '60px' }"
  63. :row-style="{ height: '74px' }"
  64. :header-cell-style="{ backgroundColor: '#fafafa', color: '#666' }">
  65. <!-- <el-table-column type="selection" :reserve-selection="true"
  66. width="152" align="center" /> -->
  67. <el-table-column width="" align="center">
  68. <template #default="{ row }">
  69. <el-checkbox v-model="row.selected"
  70. @change="toggleRowSelection(row)">
  71. </el-checkbox>
  72. </template>
  73. </el-table-column>
  74. <el-table-column prop="website_name" label="网站" width="220" />
  75. <el-table-column prop="name" label="广告位名称" width="320" />
  76. <el-table-column prop="size" label="广告尺寸" width="180" />
  77. <el-table-column prop="price" label="金额 (元) / 天" width="160" />
  78. </el-table>
  79. </div>
  80. <el-form-item label="广告图:" prop="adImg">
  81. <el-upload class="avatar-uploader" action="#" :show-file-list="false"
  82. :on-success="handleAvatarSuccess"
  83. :before-upload="beforeAvatarUpload" accept=".jpg,.jpeg,.png">
  84. <img v-if="imageUrl" :src="imageUrl" class="avatar" />
  85. <div v-else>
  86. <el-icon class="avatar-uploader-icon">
  87. <Plus></Plus>
  88. <div class="chooseImgDiv">选择图片</div>
  89. </el-icon>
  90. </div>
  91. </el-upload>
  92. </el-form-item>
  93. </el-form>
  94. <!-- 示意图弹框 -->
  95. <el-dialog v-model="dialogTableVisible" :show-close="false" width="60%"
  96. :close-on-click-modal="false">
  97. <template #header="{ close, titleId, titleClass }">
  98. <div class="my-header">
  99. <h4 :id="titleId" :class="titleClass" class="left">示意图类型</h4>
  100. <el-button type="danger" @click="close" class="right">
  101. <el-icon class="el-icon--left">
  102. <CircleCloseFilled />
  103. </el-icon>
  104. 关闭
  105. </el-button>
  106. </div>
  107. </template>
  108. <ul class="graph">
  109. <li>
  110. <span>广告尺寸图A: 1200x90</span>
  111. <img src="../../public/ad/01.png" alt="">
  112. </li>
  113. <li>
  114. <span>广告尺寸图B: 600x150</span>
  115. <img src="../../public/ad/02.png" alt="">
  116. </li>
  117. <li>
  118. <span>广告尺寸图C: 300x150</span>
  119. <img src="../../public/ad/03.png" alt="">
  120. </li>
  121. </ul>
  122. </el-dialog>
  123. </div>
  124. <!-- 提交工单信息 -->
  125. <div class="submit" v-if="ad == 2">
  126. <div class="inner">
  127. <h1>广告信息已提交成功,请等待审核......</h1>
  128. <p>
  129. 工单编号:
  130. <span>{{ orderInformation }}</span>
  131. </p>
  132. <div class="btn">
  133. <button class="check" @click="lookOrder">查看工单</button>
  134. <button class="apply" @click="reapply">再次申请</button>
  135. </div>
  136. <span>如有疑问,可联系客服人员。</span>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </el-tab-pane>
  143. <el-tab-pane label="工单列表" name="2">
  144. <!-- 工单列表 -->
  145. <AdvertisingOrderList @childData="handleChildData"></AdvertisingOrderList>
  146. </el-tab-pane>
  147. </el-tabs>
  148. </div>
  149. <div class="bottom" v-if="ad == 1 && activeName == '1'" :key="ad">
  150. <div class="inner">
  151. <!-- 总金额 -->
  152. <div class="amount" v-if="ad == 1">
  153. 总金额:
  154. <span>{{ priceTotal == '' ? 0 : priceTotal }}</span>
  155. </div>
  156. <!-- 按钮 -->
  157. <div class="btn">
  158. <button class="btn2" @click="submitStep" v-if="ad == 1"> 提交工单</button>
  159. </div>
  160. </div>
  161. </div>
  162. </div>
  163. <!-- 广告页面底部 -->
  164. <HomeFoot1></HomeFoot1>
  165. </div>
  166. </template>
  167. <script setup>
  168. import { ref, onMounted, watch, reactive } from 'vue'
  169. // import { ElCheckbox, ElRadio, ElRadioGroup, ElDatePicker, ElInput, ElUpload, ElPagination, ElIcon, ElSelect, ElOption, ElTabs, ElTabPane, ElTable, ElTableColumn, ElMessage, ElForm, ElFormItem, ElCol, valueEquals } from 'element-plus'
  170. import { ElCheckbox, ElRadio, ElRadioGroup, ElDatePicker, ElInput, ElUpload, ElPagination, ElIcon, ElSelect, ElOption, ElTabs, ElTabPane, ElTable, ElTableColumn, ElMessage, ElForm, ElFormItem, ElCol, valueEquals, ElConfigProvider } from 'element-plus'
  171. import { ElButton, ElDialog } from 'element-plus'
  172. import { CircleCloseFilled } from '@element-plus/icons-vue'
  173. import { Plus, DArrowRight, Edit, Picture, UploadFilled } from '@element-plus/icons-vue'
  174. import zhCn from 'element-plus/dist/locale/zh-cn.mjs';
  175. import { getToken, setToken, removeToken } from '@/store/useCookieStore'
  176. const { $webUrl, $CwebUrl, $BwebUrl } = useNuxtApp()
  177. import { useRoute } from 'vue-router'
  178. const route = useRoute()
  179. // axios请求
  180. const nuxtApp = useNuxtApp();
  181. const axios = nuxtApp.$axios;
  182. // 通过变量ad控制tab栏标题的颜色及每一步下的不同的内容
  183. let ad = useState("ad", () => 1)
  184. let dialogTableVisible = useState("dialogTableVisible", () => false)//示意图弹框
  185. let dialogTableVisible1 = useState("dialogTableVisible1", () => false)//示意图弹框
  186. let activeName = useState("activeName", () => "1")
  187. let startTime = useState("startTime", () => new Date())
  188. let adSize = useState("adSize", () => "")
  189. let tableData = useState("tableData", () => [])
  190. let processedData = useState("processedData", () => [])
  191. let pid = useState("pid", () => [])
  192. let pids = useState("pids", () => [])
  193. let pidArr = useState("pidArr", () => [])
  194. let orderInformation = useState("orderInformation", () => "")
  195. let adWeb = useState("adWeb", () => "")
  196. let adWebId = useState("adWebId", () => "")
  197. let adWebList = useState("adWebList", () => [])
  198. let priceTotal = useState("priceTotal", () => '')//总金额
  199. let orderId = useState("orderId", () => "")
  200. let options = useState('options', () => [])
  201. const multipleTable = ref('');
  202. let shopCode = useState('shopCode', () => '')
  203. let token = useState('token', () => '')
  204. let showToken = useState("showToken", () => '')
  205. watch(token, (newval, oldval) => {
  206. console.log(newval, oldval);
  207. showToken.value = newval
  208. }, {
  209. deep: true,
  210. immediate: true,
  211. })
  212. // 定义响应式数据
  213. const seoData = ref({
  214. title: '广告服务',
  215. description: '默认描述',
  216. keywords: '默认关键词',
  217. image: 'https://example.com/default-image.jpg'
  218. });
  219. // 在 onMounted 钩子中获取数据
  220. onMounted(() => {
  221. seoData.value.title = '广告服务';
  222. seoData.value.description = '默认描述';
  223. seoData.value.keywords = '默认关键词';
  224. })
  225. let goTopic = () => {
  226. navigateTo({
  227. path: "/topic"
  228. })
  229. }
  230. let goAD = () => {
  231. navigateTo({
  232. path: "/advertising"
  233. })
  234. }
  235. let goLogin = () => {
  236. token.value = getToken()
  237. // window.location.href = ("http://adminpre.bjzxtw.org.cn/#/login?backurl=http%3a%2f%2fnwdev.bjzxtw.org.cn%2f")
  238. let url = $BwebUrl + '/auth/login.php?backurl=' + $CwebUrl;
  239. window.location.href = url;
  240. token.value = getToken()
  241. }
  242. let goReg = () => {
  243. dialogTableVisible1.value = true
  244. }
  245. let goUserInfo = () => {
  246. }
  247. // 分页
  248. let total = useState('total', () => 0)
  249. let pageSize = useState("pageSize", () => 20)
  250. let page = useState("page", () => 1)
  251. //ruleForm
  252. let logoUrl = ref('');
  253. const formSize = ref('default');
  254. const ruleFormRef = ref();
  255. const ruleForm = reactive({
  256. adName: '',
  257. adLink: '',
  258. time: '',
  259. startTime: '',
  260. endTime: '',
  261. adSize: 1,
  262. adImg: '',
  263. });
  264. const rules = reactive({
  265. adName: [{ required: true, message: '请输入广告名称', trigger: 'blur' }],
  266. adLink: [{ required: true, message: '请输入广告链接', trigger: 'change' }],
  267. startTime: [{ required: true, message: '请输入开始时间', trigger: 'change' }],
  268. endTime: [{ required: true, message: '请输入结束时间', trigger: 'change' }],
  269. adSize: [{ required: true, message: '请选择广告尺寸', trigger: 'change' }],
  270. adImg: [{ required: true, message: '请选择广告图', trigger: 'change' }],
  271. });
  272. const tabPosition = ref('left')
  273. // 获取开始时间
  274. let changeStartTime = (val) => {
  275. //先格式化传入的时间,选择的时间为下一个整数小时0分0秒
  276. let time1 = new Date(new Date(val[0]).setMinutes(0, 0, 0) + 60 * 60 * 1000).getTime();
  277. let time2 = new Date(new Date(val[1]).setMinutes(0, 0, 0) + 60 * 60 * 1000).getTime();
  278. //同样的道理,获取当前时间的下一个整数小时0分0秒
  279. let currentTimestamp = new Date(new Date().setMinutes(0, 0, 0) + 60 * 60 * 1000).getTime();
  280. if(time1 < currentTimestamp) {
  281. ElMessage.error('时间选择错误,已为您自动重设!');
  282. //第一步,将时间戳转换为本地时间
  283. let localTime = new Date(currentTimestamp).toLocaleString('zh-CN', {
  284. year: 'numeric',
  285. month: '2-digit',
  286. day: '2-digit',
  287. hour: '2-digit',
  288. minute: '2-digit'
  289. }).replace(/\//g, '-');
  290. //第二步,将当前时间加24小时
  291. let twoHoursLocalTime = new Date(currentTimestamp + 24 * 60 * 60 * 1000).toLocaleString('zh-CN', {
  292. year: 'numeric',
  293. month: '2-digit',
  294. day: '2-digit',
  295. hour: '2-digit',
  296. minute: '2-digit'
  297. }).replace(/\//g, '-');
  298. //第三步,将当前时间赋值给ruleForm.time[0]
  299. ruleForm.time[0] = localTime;
  300. ruleForm.time[1] = twoHoursLocalTime;
  301. ruleForm.startTime = localTime;
  302. ruleForm.endTime = twoHoursLocalTime;
  303. //获取广告尺寸
  304. getAdSize()
  305. //创建购物车
  306. axios.post("/order/addShoppingCart").then(response => {
  307. // console.log("创建购物车", response.data);
  308. shopCode.value = response.data
  309. console.log('shopCode', shopCode.value);
  310. })
  311. }else{
  312. //第二种情况,传入的时间戳大于当前时间
  313. //但是时间间隔小于2小时
  314. if(time2 - time1 < 24 * 60 * 60 * 1000){
  315. ElMessage.error('广告持续时间不得低于24小时,已为您自动重设!');
  316. //第一步,将时间戳转换为本地时间
  317. let localTime = new Date(currentTimestamp).toLocaleString('zh-CN', {
  318. year: 'numeric',
  319. month: '2-digit',
  320. day: '2-digit',
  321. hour: '2-digit',
  322. minute: '2-digit'
  323. }).replace(/\//g, '-');
  324. //第二步,将当前时间加2小时
  325. let twoHoursLocalTime = new Date(currentTimestamp + 24 * 60 * 60 * 1000).toLocaleString('zh-CN', {
  326. year: 'numeric',
  327. month: '2-digit',
  328. day: '2-digit',
  329. hour: '2-digit',
  330. minute: '2-digit'
  331. }).replace(/\//g, '-');
  332. //第三步,将当前时间赋值给ruleForm.time[0]
  333. ruleForm.time[0] = localTime;
  334. ruleForm.time[1] = twoHoursLocalTime;
  335. ruleForm.startTime = localTime;
  336. ruleForm.endTime = twoHoursLocalTime;
  337. //获取广告尺寸
  338. getAdSize()
  339. //创建购物车
  340. axios.post("/order/addShoppingCart").then(response => {
  341. // console.log("创建购物车", response.data);
  342. shopCode.value = response.data
  343. console.log('shopCode', shopCode.value);
  344. })
  345. }else{
  346. //第三种情况,用户时间选择正确,无需操作
  347. ruleForm.startTime = val[0]
  348. ruleForm.endTime = val[1]
  349. //获取广告尺寸
  350. getAdSize()
  351. //创建购物车
  352. axios.post("/order/addShoppingCart").then(response => {
  353. // console.log("创建购物车", response.data);
  354. shopCode.value = response.data
  355. console.log('shopCode', shopCode.value);
  356. })
  357. }
  358. }
  359. //第四种情况,使广告立即生效,请注释上面的if 直接使用下面这一段
  360. // ruleForm.startTime = val[0]
  361. // ruleForm.endTime = val[1]
  362. // //获取广告尺寸
  363. // getAdSize()
  364. // //创建购物车
  365. // axios.post("/order/addShoppingCart").then(response => {
  366. // // console.log("创建购物车", response.data);
  367. // shopCode.value = response.data
  368. // console.log('shopCode', shopCode.value);
  369. // })
  370. }
  371. //禁止选择的时间区域
  372. let disabledStartTime = (time) => {
  373. // console.log("time", time);
  374. return time.getTime() <= (Date.now() - 3600 * 1000 * 24);
  375. }
  376. const imageUrl = ref('');
  377. const handleAvatarSuccess = (response, uploadFile) => {
  378. imageUrl.value = URL.createObjectURL(uploadFile.raw);
  379. };
  380. const bb = (item) => {
  381. console.log("===", item)
  382. navigateTo({
  383. path: "/advertising/addetail",
  384. query: {
  385. id: item
  386. }
  387. })
  388. }
  389. //获取图片地址
  390. const beforeAvatarUpload = (file) => {
  391. console.log('file', file);
  392. if (!file) return;
  393. const isJPG = file.type === 'image/jpeg';
  394. const isPNG = file.type === 'image/png';
  395. const isLt2M = file.size / 1024 / 1024 < 2;
  396. if (!isJPG && !isPNG) {
  397. ElMessage.error('上传图片只能是 JPG 或 PNG 格式!');
  398. return;
  399. }
  400. if (!isLt2M) {
  401. ElMessage.error('上传图片大小不能超过 2MB!');
  402. return;
  403. }
  404. const data = new FormData();
  405. data.append('file', file);
  406. axios.post("/public/uploadFile", data).then(res => {
  407. console.log(res);
  408. logoUrl.value = res.data.imgUrl;
  409. ruleForm.adImg = res.data.imgUrl;
  410. }).catch(() => {
  411. ElMessage({
  412. type: 'info',
  413. message: '网络错误,请重试!'
  414. });
  415. });
  416. };
  417. let goPhoto = () => {
  418. dialogTableVisible.value = true
  419. }
  420. //选择的广告位
  421. let handleSelectionChange = (selectedRows) => {
  422. pidArr.value = selectedRows.map(row => row.pid);
  423. console.log("选中的广告位llllllllll", pidArr.value);
  424. // getPrice() //获取总金额
  425. let aa = JSON.parse(JSON.stringify(pidArr.value))
  426. console.log("pids", aa);
  427. for (let item = 0; item <= aa.length - 1; item++) {
  428. console.log('pidArr.value', aa[item]);
  429. pids.value = aa[item]
  430. }
  431. }
  432. pidArr.value.forEach((item) => {
  433. const index = tableData.findIndex((row) => row.id === item);
  434. if (index !== -1) {
  435. tableData[index].selected = true;
  436. }
  437. });
  438. let toggleRowSelection = (row) => {
  439. console.log('11111', row.pid);
  440. console.log('类型', typeof (row.pid));
  441. // 判断 row.pid 是否已经存在于 pid.value 数组中
  442. const isExist = pid.value.includes(row.pid);
  443. console.log('判断当前选择的id是否已被选择', isExist); // 输出: true
  444. if (isExist) {
  445. //删除购物车中的广告位
  446. let data = {
  447. shopping_id: shopCode.value,
  448. pid: row.pid,
  449. }
  450. //删除购物车接口
  451. axios.post('/order/delShoppingCartAD', data).then(data => {
  452. console.log('删除购物车广告位--------------', data);
  453. if (data.code == 200) {
  454. getShoppingCartAD()
  455. }
  456. })
  457. } else {
  458. //添加购物车中的广告位
  459. let data = {
  460. shopping_id: shopCode.value,
  461. pid: row.pid,
  462. }
  463. //添加购物车接口
  464. axios.post('/order/addShoppingCartAD', data).then(data => {
  465. console.log('添加购物车广告位--------------', data);
  466. if (data.code == 200) {
  467. getShoppingCartAD()
  468. }
  469. })
  470. }
  471. };
  472. onMounted(() => {
  473. tableData.value.forEach((row) => {
  474. console.log(row);
  475. if (row.selected) {
  476. multipleTable.value.toggleRowSelection(row, true);
  477. }
  478. });
  479. });
  480. //获取广告尺寸列表
  481. let adSizeList = () => {
  482. // 搜索按钮接口
  483. axios.post("/order/getAD").then(response => {
  484. console.log("response", response);
  485. options.value = response.data
  486. for (let item of options.value) {
  487. console.log(item);
  488. item.size = item.width + ' * ' + item.height + ' px '
  489. // ruleForm.adSize = item.id
  490. }
  491. console.log("=========", options.value);
  492. })
  493. }
  494. //查看工单
  495. let lookOrder = () => {
  496. activeName.value = '2'
  497. sessionStorage.setItem('activeName', JSON.stringify('2'));
  498. // window.location.href = (`http://localhost:3000/advertising?activeName=${'2'}`)
  499. let url = $CwebUrl + '/advertising?activeName=${2}';
  500. window.location.href = url;
  501. }
  502. //再次申请
  503. let reapply = () => {
  504. ad.value = 1
  505. // window.location.href = ('http://localhost:3000/advertising')
  506. let url = $CwebUrl + '/advertising';
  507. window.location.href = url;
  508. }
  509. //获取总金额
  510. const getPrice = () => {
  511. let data = {
  512. starttime: ruleForm.startTime,
  513. endtime: ruleForm.endTime,
  514. pid: pid.value
  515. }
  516. console.log('data=========', data);
  517. axios.post('/order/getPrice', data).then(data => {
  518. console.log('获取到的金额', data.data);
  519. priceTotal.value = data.data
  520. })
  521. }
  522. //获取购物车广告位
  523. const getShoppingCartAD = () => {
  524. axios.post('/order/getShoppingCartAD', {
  525. shopping_id: shopCode.value
  526. }).then(data => {
  527. console.log('获取购物车广告位=====================', data.data.pid);
  528. pid.value = data.data.pid
  529. getPrice()
  530. })
  531. }
  532. //挂载成功
  533. onMounted(() => {
  534. adSizeList()
  535. getPrice()
  536. if (route.query.activeName == '1' || route.query.activeName == '2') {
  537. activeName.value = route.query.activeName;
  538. }
  539. if (!route.query.activeName) {
  540. activeName.value = JSON.parse(sessionStorage.getItem('activeName'));
  541. // console.log('activeName', activeName.value);
  542. }
  543. })
  544. onMounted(() => {
  545. // ad.value=route.query.ad
  546. watch(activeName, (newval) => {
  547. console.log('activeName', newval);
  548. sessionStorage.setItem('activeName', JSON.stringify(newval));
  549. }, {
  550. deep: true,
  551. immediate: true
  552. })
  553. })
  554. //6.子组件传递的数据 start ---------------------------------------->
  555. let handleChildData = (data) => {
  556. activeName.value = `${data}`
  557. }
  558. //6.子组件传递的数据 end ---------------------------------------->
  559. //广告尺寸发生变化的时候
  560. let changeAdSize = (val) => {
  561. console.log('val', val);
  562. ruleForm.adSize = val
  563. getAdSize()
  564. }
  565. //获取广告尺寸
  566. let getAdSize = () => {
  567. // 获取广告位需要传递的参数
  568. let adData = {
  569. ad_size_id: ruleForm.adSize,
  570. starttime: ruleForm.startTime,
  571. endtime: ruleForm.endTime,
  572. pageSize: pageSize.value,
  573. page: page.value,
  574. }
  575. //获取广告位
  576. axios.post("/order/getWebsiteAd", adData).then(response => {
  577. console.log("广告位", response.data);
  578. // console.log("广告位信息", response.data.rows);
  579. total.value = response.data.count
  580. tableData.value = response.data.rows
  581. for (let item of tableData.value) {
  582. item.size = item.size_width + ' * ' + item.size_height + ' px '
  583. item.selected = false
  584. }
  585. console.log('tableData', tableData.value);
  586. }).catch(error => {
  587. console.log(error);
  588. })
  589. }
  590. // 点击提交工单信息
  591. let submitStep = () => {
  592. // 表单验证
  593. if (ruleForm.adName == '') {
  594. ElMessage({
  595. message: '请输入广告名称',
  596. type: 'error',
  597. })
  598. return
  599. }
  600. if (ruleForm.adLink == '') {
  601. ElMessage({
  602. message: '请输入广告链接',
  603. type: 'error',
  604. })
  605. return
  606. }
  607. if (ruleForm.startTime == '') {
  608. ElMessage({
  609. message: '请选择广告持续时间!',
  610. type: 'error',
  611. })
  612. return
  613. }
  614. if (ruleForm.endTime == '') {
  615. ElMessage({
  616. message: '请选择广告尺寸',
  617. type: 'error',
  618. })
  619. return
  620. }
  621. if (ruleForm.adSize == '') {
  622. ElMessage({
  623. message: '请选择广告尺寸',
  624. type: 'error',
  625. })
  626. return
  627. }
  628. if (ruleForm.adImg == '') {
  629. ElMessage({
  630. message: '请添加广告图',
  631. type: 'error',
  632. })
  633. return
  634. }
  635. ad.value++
  636. // 获取广告位需要传递的参数
  637. let orderData = {
  638. name: ruleForm.adName,
  639. ad_size_id: ruleForm.adSize,
  640. starttime: ruleForm.startTime,
  641. endtime: ruleForm.endTime,
  642. imgurl: ruleForm.adLink,
  643. imgsrc: ruleForm.adImg,
  644. pid: pid.value,
  645. price: priceTotal.value
  646. }
  647. //提交工单
  648. axios.post("/order/addAD", orderData).then(response => {
  649. console.log("提交工单", response); //order_id
  650. console.log("orderData", orderData);
  651. if (response.code == 200) {
  652. tableData.value = response.data.rows
  653. orderInformation.value = response.data.ordernum
  654. orderId.value = response.data.order_id
  655. }
  656. }).catch(error => {
  657. console.log(error);
  658. })
  659. }
  660. // // 点击广告购买标签的事件驱动函数
  661. let goBuyAd = () => {
  662. activeName.value = '1'
  663. }
  664. // 点击工单列表标签的事件驱动函数
  665. let goOrderList = (item) => {
  666. if (item == 2 && (route.query.activeName == '1' || route.query.activeName == '2')) {
  667. // window.location.href = ('http://localhost:3000/advertising')
  668. let url = $CwebUrl + '/advertising';
  669. window.location.href = url;
  670. }
  671. }
  672. watch(adSize, (newval) => {
  673. // console.log('newval', newval);
  674. adSize.value = newval
  675. }, {
  676. deep: true,
  677. immediate: true
  678. })
  679. watch(ad, (newval) => {
  680. // console.log('adnewval', newval);
  681. adSize.value = newval
  682. }, {
  683. deep: true,
  684. immediate: true
  685. })
  686. </script>
  687. <style lang="less" scoped>
  688. // 广告页面头部
  689. .head {
  690. width: 100%;
  691. padding: 15px 0;
  692. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  693. .inner {
  694. width: 1200px;
  695. height: 27px;
  696. }
  697. .headLogo {
  698. .webName {
  699. display: inline-block;
  700. span {
  701. margin-right: 30px;
  702. font-family: Microsoft YaHei, Microsoft YaHei;
  703. font-weight: 400;
  704. font-size: 12px;
  705. color: #666666;
  706. line-height: 14px;
  707. text-align: left;
  708. font-style: normal;
  709. text-transform: none;
  710. }
  711. }
  712. >span {
  713. display: inline-block;
  714. width: 100px;
  715. padding-left: 25px;
  716. vertical-align: middle;
  717. font-family: Microsoft YaHei, Microsoft YaHei;
  718. font-weight: 400;
  719. font-size: 12px;
  720. color: #333333;
  721. line-height: 21px;
  722. text-align: left;
  723. font-style: normal;
  724. text-transform: none;
  725. border-left: 1px solid #ccc;
  726. }
  727. }
  728. .right {
  729. span {
  730. margin-left: 26px;
  731. font-family: PingFang SC, PingFang SC;
  732. font-weight: 400;
  733. font-size: 12px;
  734. color: #666666;
  735. line-height: 14px;
  736. text-align: left;
  737. font-style: normal;
  738. text-transform: none;
  739. }
  740. .login,
  741. .reg,
  742. .user,
  743. .topic,
  744. .ad {
  745. display: inline-block;
  746. width: 16px;
  747. height: 16px;
  748. vertical-align: -6px;
  749. }
  750. .topic {
  751. background: url("../../public/ad/shopping-mall.png") no-repeat;
  752. }
  753. .ad {
  754. background: url("../../public/ad/ad-product.png") no-repeat;
  755. }
  756. .login {
  757. background: url("../../public/ad/user.png") no-repeat;
  758. }
  759. .reg {
  760. background: url("../../public/ad/write.png") no-repeat;
  761. }
  762. .user {
  763. background: url("../../public/ad/user.png") no-repeat;
  764. }
  765. }
  766. .tips1 {
  767. padding: 20px 0;
  768. text-align: center;
  769. font-size: 20px;
  770. color: #40663B;
  771. font-weight: bold;
  772. img {
  773. width: 78px;
  774. height: 78px;
  775. vertical-align: middle;
  776. margin-right: 20px;
  777. p {
  778. line-height: 30px;
  779. }
  780. }
  781. p {
  782. line-height: 40px;
  783. }
  784. >p:first-child {
  785. margin-bottom: 30px;
  786. }
  787. }
  788. }
  789. //提示信息
  790. .adtips {
  791. width: 100%;
  792. height: 70px;
  793. line-height: 70px;
  794. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  795. .inner {
  796. width: 1200px;
  797. height: 70px;
  798. }
  799. p {
  800. font-family: Microsoft YaHei, Microsoft YaHei;
  801. font-weight: 400;
  802. font-size: 16px;
  803. color: #FE0101;
  804. // line-height: 19px;
  805. text-align: left;
  806. font-style: normal;
  807. text-transform: none;
  808. }
  809. }
  810. .advertising {
  811. width: 100%;
  812. overflow: hidden;
  813. .inner {
  814. width: 1520px;
  815. // height: 900px;
  816. overflow: hidden;
  817. position: relative;
  818. // 左侧tab导航
  819. :deep(.el-tabs--left .el-tabs__header.is-left) {
  820. margin-top: 50px;
  821. margin-right: 10px;
  822. }
  823. // 左侧tab导航字体颜色
  824. :deep(.el-tabs__item.is-active),
  825. :deep(.el-tabs__item:hover) {
  826. color: #139602;
  827. // font-weight: bold;
  828. }
  829. // 左侧tab导航字体大小
  830. :deep(.el-tabs--left .el-tabs__item.is-left) {
  831. text-align: right;
  832. font-size: 20px;
  833. }
  834. // 左侧tab导航下划线
  835. :deep(.el-tabs__active-bar) {
  836. background-color: #139602;
  837. }
  838. // 广告购买
  839. #buyAd {
  840. width: 1200px;
  841. margin: 0 35px;
  842. .buyAD {
  843. width: 1200px;
  844. overflow: hidden;
  845. .inner {
  846. width: 1200px;
  847. overflow: hidden;
  848. position: relative;
  849. // 填写信息页tab标题
  850. .tabTitle {
  851. width: 1100px;
  852. height: 80px;
  853. padding-top: 26px;
  854. margin: 0 auto;
  855. box-sizing: border-box;
  856. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  857. .icon,
  858. .title {
  859. font-family: Microsoft YaHei, Microsoft YaHei;
  860. font-weight: bold;
  861. font-size: 16px;
  862. color: #D5D5D5;
  863. text-align: center;
  864. font-style: normal;
  865. text-transform: none;
  866. }
  867. .number {
  868. display: inline-block;
  869. width: 32px;
  870. height: 32px;
  871. line-height: 32px;
  872. color: #ffffff;
  873. background-color: #d5d5d5;
  874. border-radius: 50%;
  875. }
  876. .bgc {
  877. background-color: #139602;
  878. }
  879. .color {
  880. color: #139602;
  881. }
  882. // 填写广告信息字体及背景颜色
  883. .title:first-child {
  884. color: #139602;
  885. }
  886. .title:first-child .number {
  887. background-color: #139602;
  888. }
  889. // 图标>>
  890. .icon {
  891. padding: 0 165px;
  892. }
  893. }
  894. // 1.填写信息内容
  895. .textOne {
  896. width: 1100px;
  897. overflow: hidden;
  898. // height: 515px;
  899. margin-top: 35px;
  900. margin-left: 50px;
  901. .pic {
  902. margin-left: 30px;
  903. width: 80px;
  904. height: 21px;
  905. padding-left: 30px;
  906. font-family: Microsoft YaHei, Microsoft YaHei;
  907. font-weight: 400;
  908. font-size: 16px;
  909. color: #47ACFF;
  910. line-height: 19px;
  911. text-align: left;
  912. font-style: normal;
  913. text-transform: none;
  914. }
  915. //示意图
  916. .my-header {
  917. display: flex;
  918. flex-direction: row;
  919. justify-content: space-between;
  920. gap: 16px;
  921. .el-button {
  922. border-radius: var(--el-border-radius-base);
  923. font-size: var(--el-font-size-base);
  924. background: #ee8787;
  925. border: none;
  926. }
  927. }
  928. .graph {
  929. background-color: #fff;
  930. padding: 40px 60px 80px;
  931. overflow: hidden;
  932. display: flex;
  933. li {
  934. float: left;
  935. span {
  936. display: inline-block;
  937. width: 246px;
  938. font-family: Microsoft YaHei, Microsoft YaHei;
  939. font-weight: bold;
  940. font-size: 16px;
  941. color: #333333;
  942. line-height: 30px;
  943. text-align: center;
  944. margin-bottom: 15px;
  945. }
  946. img {
  947. width: 246px;
  948. height: 344px;
  949. }
  950. }
  951. >li:first-child {
  952. margin-right: 60px;
  953. }
  954. >li:last-child {
  955. margin-left: 60px;
  956. }
  957. }
  958. // 页面中的表格
  959. .pageTable {
  960. width: 90%;
  961. overflow: hidden;
  962. padding-bottom: 60px;
  963. margin-left: 110px;
  964. box-sizing: border-box;
  965. :deep(.el-checkbox__input.is-checked .el-checkbox__inner) {
  966. background-color: #333;
  967. border-color: #333;
  968. }
  969. :deep(.el-table tr) {
  970. background-color: #fafafa;
  971. height: 74px;
  972. }
  973. :deep(.el-table .cell) {
  974. text-align: center;
  975. box-sizing: border-box;
  976. height: 23px;
  977. line-height: 23px;
  978. overflow-wrap: break-word;
  979. padding: 0 12px;
  980. text-overflow: ellipsis;
  981. white-space: normal;
  982. font-family: Microsoft YaHei, Microsoft YaHei;
  983. font-weight: 400;
  984. font-size: 16px;
  985. color: #333333;
  986. line-height: 19px;
  987. font-style: normal;
  988. text-transform: none;
  989. }
  990. }
  991. :deep(.el-select) {
  992. --el-select-width: 30%;
  993. }
  994. :deep(.el-form-item) {
  995. margin-bottom: 35px;
  996. }
  997. .el-col {
  998. height: 36px;
  999. }
  1000. .el-col-2 {
  1001. text-align: center;
  1002. }
  1003. .chooseImg {
  1004. display: block;
  1005. }
  1006. .chooseImgDiv {
  1007. font-size: 16px;
  1008. font-style: normal;
  1009. }
  1010. .avatar-uploader {
  1011. width: 120px;
  1012. height: 120px;
  1013. border: 1px solid #ededed;
  1014. border-radius: 12px;
  1015. }
  1016. .avatar-uploader .avatar {
  1017. width: 120px;
  1018. border-top-left-radius: 12px;
  1019. border-top-right-radius: 12px;
  1020. }
  1021. .avatar-uploader .el-upload {
  1022. border: 1px dashed var(--el-border-color);
  1023. border-radius: 6px;
  1024. cursor: pointer;
  1025. position: relative;
  1026. overflow: hidden;
  1027. transition: var(--el-transition-duration-fast);
  1028. }
  1029. .avatar-uploader .el-upload:hover {
  1030. border-color: var(--el-color-primary);
  1031. }
  1032. .el-icon.avatar-uploader-icon {
  1033. display: block;
  1034. font-size: 36px;
  1035. color: #8c939d;
  1036. background-color: #fafafa;
  1037. width: 120px;
  1038. height: 120px;
  1039. padding-top: 30px;
  1040. box-sizing: border-box;
  1041. border: 1px solid #EDEDED;
  1042. border-radius: 12px;
  1043. text-align: center;
  1044. }
  1045. >p {
  1046. width: 1110px;
  1047. height: 75px;
  1048. strong {
  1049. font-weight: 500;
  1050. color: #333333;
  1051. padding: 0 14px;
  1052. }
  1053. label {
  1054. display: inline-block;
  1055. width: 125px;
  1056. text-align: right;
  1057. padding-right: 10px;
  1058. box-sizing: border-box;
  1059. font-family: Microsoft YaHei, Microsoft YaHei;
  1060. font-weight: 400;
  1061. font-size: 16px;
  1062. color: #333333;
  1063. line-height: 19px;
  1064. font-style: normal;
  1065. text-transform: none;
  1066. }
  1067. >label::before {
  1068. content: "*";
  1069. display: inline-block;
  1070. width: 10px;
  1071. height: 2px;
  1072. color: #fe0101;
  1073. }
  1074. span {
  1075. color: #fe0101;
  1076. display: block;
  1077. padding-left: 135px;
  1078. height: 30px;
  1079. }
  1080. .upload-demo {
  1081. display: inline-block;
  1082. width: 112px;
  1083. height: 112px;
  1084. vertical-align: -93px;
  1085. }
  1086. //上传图片相关样式
  1087. .avatar-uploader .el-upload {
  1088. border: 1px dashed var(--el-border-color);
  1089. border-radius: 6px;
  1090. cursor: pointer;
  1091. position: relative;
  1092. overflow: hidden;
  1093. transition: var(--el-transition-duration-fast);
  1094. }
  1095. .avatar-uploader .el-upload:hover {
  1096. border-color: var(--el-color-primary);
  1097. }
  1098. .el-icon.avatar-uploader-icon {
  1099. font-size: 28px;
  1100. color: #8c939d;
  1101. width: 178px;
  1102. height: 178px;
  1103. text-align: center;
  1104. }
  1105. //上传图片相关样式 end
  1106. :deep(.el-input__wrapper.is-focus) {
  1107. box-shadow: 0 0 0 1px #c0c4cc;
  1108. }
  1109. :deep(.el-date-editor.el-input),
  1110. :deep(.el-date-editor.el-input__wrapper) {
  1111. height: 44px;
  1112. width: 470px;
  1113. }
  1114. :deep(.el-input__inner) {
  1115. font-size: 16px;
  1116. }
  1117. :deep(.el-upload-dragger) {
  1118. padding: 0;
  1119. margin: 0;
  1120. border: 1px solid #ededed;
  1121. }
  1122. :deep(.el-upload-dragger .el-icon--upload) {
  1123. font-size: 67px;
  1124. line-height: 50px;
  1125. padding: 0;
  1126. margin: 0;
  1127. }
  1128. :deep(.el-upload-dragger .el-upload__text) {
  1129. font-size: 18px;
  1130. font-weight: 400;
  1131. color: #999;
  1132. text-align: center;
  1133. margin-bottom: 14px;
  1134. margin-top: 5px;
  1135. }
  1136. :deep(.el-icon svg) {
  1137. width: 34px;
  1138. height: 34px;
  1139. }
  1140. }
  1141. }
  1142. // 2.选择相应网站
  1143. .textTwo {
  1144. width: 1200px;
  1145. overflow: hidden;
  1146. // 页面头部搜索和按钮
  1147. .pageTop {
  1148. width: 1150px;
  1149. height: 44px;
  1150. margin: 30px 0 40px 50px;
  1151. >.left {
  1152. font-family: Microsoft YaHei, Microsoft YaHei;
  1153. font-weight: 400;
  1154. font-size: 16px;
  1155. color: #333333;
  1156. line-height: 19px;
  1157. >a {
  1158. width: 80px;
  1159. height: 21px;
  1160. padding-left: 30px;
  1161. font-family: Microsoft YaHei, Microsoft YaHei;
  1162. font-weight: 400;
  1163. font-size: 16px;
  1164. color: #47ACFF;
  1165. line-height: 19px;
  1166. text-align: left;
  1167. font-style: normal;
  1168. text-transform: none;
  1169. }
  1170. :deep(.el-select__wrapper.is-focused) {
  1171. box-shadow: 0 0 0 1px var(--el-border-color) inset;
  1172. }
  1173. }
  1174. >.right {
  1175. button {
  1176. width: 94px;
  1177. height: 36px;
  1178. line-height: 36px;
  1179. font-family: Microsoft YaHei, Microsoft YaHei;
  1180. font-weight: 400;
  1181. font-size: 16px;
  1182. color: #33B023;
  1183. line-height: 19px;
  1184. text-align: center;
  1185. border: none;
  1186. border-radius: 7px;
  1187. }
  1188. .reset {
  1189. border: 1px solid #33B023;
  1190. color: #33B023;
  1191. background-color: #fff;
  1192. margin-right: 25px;
  1193. }
  1194. .search {
  1195. background-color: #33B023;
  1196. color: #ffffff;
  1197. }
  1198. }
  1199. }
  1200. //示意图
  1201. .my-header {
  1202. display: flex;
  1203. flex-direction: row;
  1204. justify-content: space-between;
  1205. gap: 16px;
  1206. .el-button {
  1207. border-radius: var(--el-border-radius-base);
  1208. font-size: var(--el-font-size-base);
  1209. background: #ee8787;
  1210. border: none;
  1211. }
  1212. }
  1213. .graph {
  1214. background-color: #fff;
  1215. padding: 40px 60px 80px;
  1216. overflow: hidden;
  1217. display: flex;
  1218. li {
  1219. float: left;
  1220. span {
  1221. display: inline-block;
  1222. width: 246px;
  1223. font-family: Microsoft YaHei, Microsoft YaHei;
  1224. font-weight: bold;
  1225. font-size: 16px;
  1226. color: #333333;
  1227. line-height: 30px;
  1228. text-align: center;
  1229. margin-bottom: 15px;
  1230. }
  1231. img {
  1232. width: 246px;
  1233. height: 344px;
  1234. }
  1235. }
  1236. >li:first-child {
  1237. margin-right: 60px;
  1238. }
  1239. >li:last-child {
  1240. margin-left: 60px;
  1241. }
  1242. }
  1243. // 页面中的表格
  1244. .pageTable {
  1245. width: 100%;
  1246. overflow: hidden;
  1247. padding-bottom: 60px;
  1248. :deep(.el-checkbox__input.is-checked .el-checkbox__inner) {
  1249. background-color: #333;
  1250. border-color: #333;
  1251. }
  1252. :deep(.el-table tr) {
  1253. background-color: #fafafa;
  1254. height: 74px;
  1255. }
  1256. :deep(.el-table .cell) {
  1257. text-align: center;
  1258. box-sizing: border-box;
  1259. height: 23px;
  1260. line-height: 23px;
  1261. overflow-wrap: break-word;
  1262. padding: 0 12px;
  1263. text-overflow: ellipsis;
  1264. white-space: normal;
  1265. font-family: Microsoft YaHei, Microsoft YaHei;
  1266. font-weight: 400;
  1267. font-size: 16px;
  1268. color: #333333;
  1269. line-height: 19px;
  1270. font-style: normal;
  1271. text-transform: none;
  1272. }
  1273. }
  1274. // 页码
  1275. .pagination {
  1276. display: flex;
  1277. justify-content: center;
  1278. // margin-top: 60px;
  1279. margin-bottom: 90px;
  1280. // 鼠标移入后字体颜色
  1281. :deep(.el-pagination:hover) {
  1282. color: #139609;
  1283. }
  1284. :deep(.el-pagination.is-background .btn-next),
  1285. :deep(.el-pagination.is-background .btn-prev) {
  1286. width: 70px;
  1287. height: 34px;
  1288. margin: 0px 10px;
  1289. border-radius: 4px;
  1290. }
  1291. :deep(.el-pagination.is-background .el-pager li) {
  1292. margin: 0px 10px;
  1293. width: 38px;
  1294. height: 34px;
  1295. border-radius: 4px;
  1296. }
  1297. :deep(.el-pagination.is-background .btn-next.is-active),
  1298. :deep(.el-pagination.is-background .btn-prev.is-active),
  1299. :deep(.el-pagination.is-background .el-pager li.is-active) {
  1300. background-color: #028e21;
  1301. color: #fff;
  1302. }
  1303. }
  1304. }
  1305. // 3.提交工单信息
  1306. .submit {
  1307. width: 1200px;
  1308. overflow: hidden;
  1309. text-align: center;
  1310. .inner {
  1311. width: 1100px;
  1312. padding-left: 50px;
  1313. padding-bottom: 130px;
  1314. font-family: Microsoft YaHei, Microsoft YaHei;
  1315. font-style: normal;
  1316. text-transform: none;
  1317. // 标题
  1318. >h1 {
  1319. margin-top: 80px;
  1320. margin-bottom: 30px;
  1321. font-weight: bold;
  1322. font-size: 26px;
  1323. color: #333333;
  1324. line-height: 30px;
  1325. text-align: center;
  1326. }
  1327. // 工单编号
  1328. >p {
  1329. margin-bottom: 257px;
  1330. font-weight: 400;
  1331. font-size: 22px;
  1332. color: #333333;
  1333. text-align: center;
  1334. }
  1335. // 按钮
  1336. >.btn {
  1337. margin-bottom: 30px;
  1338. button {
  1339. width: 134px;
  1340. height: 50px;
  1341. border: none;
  1342. font-weight: 400;
  1343. font-size: 16px;
  1344. text-align: center;
  1345. border-radius: 7px;
  1346. }
  1347. .check {
  1348. background-color: #fff;
  1349. color: #33B023;
  1350. border: 1px solid #33B023;
  1351. margin-right: 160px;
  1352. }
  1353. .apply {
  1354. background-color: #33B023;
  1355. color: #fff;
  1356. }
  1357. }
  1358. // 提示文字
  1359. >span {
  1360. font-weight: 400;
  1361. font-size: 14px;
  1362. color: #999999;
  1363. }
  1364. }
  1365. }
  1366. }
  1367. }
  1368. }
  1369. //工单列表
  1370. #orderList {
  1371. width: 1200px;
  1372. margin: 0 auto;
  1373. }
  1374. }
  1375. //广告页面底部部分
  1376. .bottom {
  1377. width: 1200px;
  1378. height: 145px;
  1379. background-color: #ecf5ee;
  1380. padding: 0px 30px;
  1381. margin: 0 auto;
  1382. box-sizing: border-box;
  1383. // display: none;
  1384. .inner {
  1385. width: 1200px;
  1386. height: 145px;
  1387. padding: 0;
  1388. .amount {
  1389. float: left;
  1390. padding-top: 52px;
  1391. font-family: Microsoft YaHei, Microsoft YaHei;
  1392. font-weight: 400;
  1393. font-size: 16px;
  1394. color: #333333;
  1395. line-height: 19px;
  1396. text-align: left;
  1397. font-style: normal;
  1398. text-transform: none;
  1399. span {
  1400. padding: 0 15px 0 25px;
  1401. font-family: Microsoft YaHei, Microsoft YaHei;
  1402. font-weight: bold;
  1403. font-size: 24px;
  1404. color: #028E21;
  1405. line-height: 28px;
  1406. text-align: left;
  1407. font-style: normal;
  1408. text-transform: none;
  1409. }
  1410. }
  1411. .btn {
  1412. float: right;
  1413. margin-right: 60px;
  1414. .btn1 {
  1415. width: 115px;
  1416. height: 40px;
  1417. font-size: 16px;
  1418. background-color: #ffffff;
  1419. color: #028e21;
  1420. border: 1px solid #028e21;
  1421. border-radius: 6px;
  1422. margin-right: 50px;
  1423. margin-top: 53px;
  1424. }
  1425. .btn2 {
  1426. width: 115px;
  1427. height: 40px;
  1428. font-size: 16px;
  1429. background-color: #028e21;
  1430. color: #ffffff;
  1431. border: none;
  1432. border-radius: 6px;
  1433. margin: 53px 0;
  1434. }
  1435. }
  1436. }
  1437. }
  1438. }
  1439. </style>