index.vue 61 KB

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