tableList.vue 85 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800
  1. <template>
  2. <div id="tableList">
  3. <div class="headerNavTool">
  4. <div class="leftIndexText">
  5. {{ navText.title }} <strong>{{ navText.index }}</strong>
  6. {{ navText.ch }}
  7. </div>
  8. <div class="rightBtnBox">
  9. <slot name="customize"></slot>
  10. <el-button
  11. size="medium"
  12. type="primary"
  13. @click="addClick"
  14. v-if="!navText.addHide"
  15. >添加</el-button
  16. >
  17. <el-button
  18. v-if="navText.backFatherBtn.status"
  19. size="medium"
  20. type="warning"
  21. @click="backFather"
  22. >{{ navText.backFatherBtn.title }}</el-button
  23. >
  24. <el-popover
  25. popper-class="slotPopper"
  26. placement="bottom-end"
  27. trigger="click"
  28. >
  29. <div class="popoverDis">
  30. <div class="checkboxHeader">
  31. <el-checkbox
  32. :indeterminate="isIndeterminate"
  33. v-model="checkAll"
  34. @change="handleCheckAllChange"
  35. >列展示</el-checkbox
  36. >
  37. <div class="initbtns" @click="initVue">重置</div>
  38. </div>
  39. <div
  40. style="height: 1px; width: 100%; background-color: #eaeefb"
  41. ></div>
  42. <el-checkbox-group
  43. class="checkboxGroup"
  44. v-model="checkedCities"
  45. @change="handleCheckedCitiesChange"
  46. >
  47. <div
  48. class="checkboxchild"
  49. v-for="(item, index) in cities"
  50. :key="index"
  51. >
  52. <el-checkbox
  53. :label="item"
  54. @change="checkboxChange(item, $event)"
  55. >{{ item }}</el-checkbox
  56. >
  57. <div class="icon-right">
  58. <i class="el-icon-upload2" @click="upMove(item, index)"></i>
  59. <i
  60. class="el-icon-download"
  61. @click="downMove(item, index)"
  62. ></i>
  63. </div>
  64. </div>
  65. </el-checkbox-group>
  66. </div>
  67. <el-button style="margin-left: 10px" size="medium" slot="reference"
  68. >自定义列</el-button
  69. >
  70. </el-popover>
  71. </div>
  72. </div>
  73. <el-table
  74. :data="tableData"
  75. stripe
  76. style="width: 100%"
  77. @select-all="selectAll"
  78. @select="select"
  79. :row-key="rowKey"
  80. :load="load"
  81. :cell-style="timeStyle"
  82. lazy
  83. :border="true"
  84. ref="pagerset"
  85. v-loading="loading"
  86. :header-cell-style="{
  87. 'background-color': '#eee',
  88. color: '#333',
  89. fontSize: '14px',
  90. }"
  91. :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
  92. >
  93. <el-table-column
  94. v-if="navText.choice"
  95. :reserve-selection="navText.openCheckMore"
  96. align="center"
  97. type="selection"
  98. width="55"
  99. header-align="center"
  100. fixed="left"
  101. >
  102. </el-table-column>
  103. <!-- v-if="navText.num" ↓ -->
  104. <el-table-column
  105. type="index"
  106. label="序号"
  107. width="70"
  108. align="center"
  109. header-align="center"
  110. >
  111. </el-table-column>
  112. <af-table-column
  113. v-for="(item, index) in compTableSet(tableSet)"
  114. :width="item.width"
  115. :label="item.label"
  116. align="center"
  117. :sortable="item.prop === 'sort' || item.sort"
  118. :sort-method="sortMethods"
  119. :show-overflow-tooltip="item.showTooltip ? false : true"
  120. header-align="center"
  121. :prop="item.prop"
  122. sort-by="sort"
  123. :key="index"
  124. >
  125. <template slot-scope="scope">
  126. <div class="imgboxsq" v-if="item.scope === 'img'">
  127. <img
  128. style="height: 60px; width: 60px"
  129. v-if="!scope.row[item.prop]"
  130. src="@/assets/404_images/wuyuxaog.png"
  131. alt=""
  132. />
  133. <el-image
  134. v-else
  135. class="el_images"
  136. lazy
  137. :src="$methodsTools.splitImgHost(scope.row[item.prop])"
  138. style="height: 100%; width: 100%"
  139. :preview-src-list="[
  140. $methodsTools.splitImgHost(scope.row[item.prop]),
  141. ]"
  142. alt="加载失败"
  143. >
  144. </el-image>
  145. </div>
  146. <div v-else-if="item.scope === 'sortType'">
  147. <el-input-number
  148. v-model="scope.row[item.prop]"
  149. :min="0"
  150. style="width: 80px"
  151. :controls="false"
  152. @change="blurBackData(scope.row)"
  153. ></el-input-number>
  154. </div>
  155. <span v-else-if="item.scope === 'status'">{{
  156. Number(scope.row[item.prop]) === 1
  157. ? "启用"
  158. : Number(scope.row[item.prop]) === 0
  159. ? "关闭"
  160. : Number(scope.row[item.prop]) === -1
  161. ? "已删除"
  162. : "未知"
  163. }}</span>
  164. <span v-else-if="item.scope === 'hasTime'">{{
  165. Number(scope.row[item.prop]) === 1
  166. ? "有效"
  167. : Number(scope.row[item.prop]) === 0
  168. ? "无效"
  169. : "未知"
  170. }}</span>
  171. <span v-else-if="item.scope === 'statusZpFB'">{{
  172. Number(scope.row[item.prop]) === 1
  173. ? "未发布"
  174. : Number(scope.row[item.prop]) === 2
  175. ? "已发布"
  176. : Number(scope.row[item.prop]) === 0
  177. ? "停用"
  178. : Number(scope.row[item.prop]) === -1
  179. ? "已删除"
  180. : "未知"
  181. }}</span>
  182. <span v-else-if="item.scope === 'reStatus'">{{
  183. Number(scope.row[item.prop]) === 1
  184. ? "定时发布"
  185. : Number(scope.row[item.prop]) === 0
  186. ? "手动发布"
  187. : "未知"
  188. }}</span>
  189. <span v-else-if="item.scope === 'fabStatus'">{{
  190. Number(scope.row[item.prop]) === 1
  191. ? "发布"
  192. : Number(scope.row[item.prop]) === 0
  193. ? "未发布"
  194. : "未知"
  195. }}</span>
  196. <span v-else-if="item.scope === 'sectionTypes'">{{
  197. Number(scope.row[item.prop]) === 2
  198. ? "录播"
  199. : Number(scope.row[item.prop]) === 1
  200. ? "直播"
  201. : Number(scope.row[item.prop]) === 3
  202. ? "回放"
  203. : "未知"
  204. }}</span>
  205. <span v-else-if="item.scope === 'getShops'">
  206. {{
  207. scope.row["goodsCode"] +
  208. "-" +
  209. scope.row["goodsName"] +
  210. " (" +
  211. scope.row["educationName"] +
  212. "-" +
  213. scope.row["projectName"] +
  214. "-" +
  215. scope.row["businessName"] +
  216. ")"
  217. }}
  218. </span>
  219. <div v-else-if="item.scope ==='configSetClass'">
  220. <el-button type="text" v-if="scope.row[item.prop]" @click="backClassView(scope.row)">{{scope.row[item.prop]}}</el-button>
  221. <span v-else>{{scope.row[item.prop]}}</span>
  222. </div>
  223. <span
  224. v-else-if="
  225. item.scope === 'treeWatch' &&
  226. (scope.row['goodsType'] === 1 || scope.row['goodsType'] === 2)
  227. "
  228. style="color: blue"
  229. @click="
  230. scope.row['goodsType'] === 1
  231. ? diavios(scope.row['goodsId'])
  232. : diaviosTK(scope.row['goodsId'])
  233. "
  234. >结构树视图</span
  235. >
  236. <span v-else-if="item.scope === 'leftCh'">
  237. {{ item.ch }}{{ scope.row[item.prop] }}
  238. </span>
  239. <span
  240. v-else-if="item.scope === 'goodsIds'"
  241. class="editInfoSty"
  242. @click="editInfo(scope.row, 3)"
  243. >
  244. {{
  245. !scope.row[item.prop]
  246. ? 0
  247. : scope.row[item.prop].split(",").map(Number).length
  248. }}
  249. </span>
  250. <span
  251. v-else-if="item.scope === 'aboutClassNum'"
  252. style="color: blue; cursor: pointer"
  253. @click="openClassNumDio(scope.row['goodsId'], scope.row[item.prop])"
  254. >
  255. {{ scope.row[item.prop] }}
  256. </span>
  257. <span
  258. v-else-if="item.scope === 'AjumpPeolpe'"
  259. class="editInfoSty"
  260. @click="jumpPeolpe(scope.row, item.type)"
  261. >
  262. {{ `${scope.row[item.prop]}` }}
  263. </span>
  264. <span
  265. v-else-if="item.scope === 'jumpPeolpe'"
  266. class="editInfoSty"
  267. @click="jumpPeolpe(scope.row, item.type)"
  268. >
  269. {{ `${scope.row[item.prop]} / ${scope.row[item.prop1]}` }}
  270. </span>
  271. <span v-else-if="item.scope === 'sectionTypesTTT'">{{
  272. Number(scope.row[item.prop]) === 1
  273. ? "录播"
  274. : Number(scope.row[item.prop]) === 2
  275. ? "直播"
  276. : Number(scope.row[item.prop]) === 3
  277. ? "回放"
  278. : ""
  279. }}</span>
  280. <span v-else-if="item.scope === 'liveAndUrl'">{{
  281. scope.row[item.prop] == 2
  282. ? scope.row[item.prop2]
  283. : scope.row[item.prop1]
  284. }}</span>
  285. <span v-else-if="item.scope === 'ggType'">{{
  286. Number(scope.row[item.prop]) === 1
  287. ? "学习中心"
  288. : Number(scope.row[item.prop]) === 2
  289. ? "求职中心"
  290. : "未知"
  291. }}</span>
  292. <ul v-else-if="item.scope === 'mapTypesTeacher'" class="ulAuto">
  293. <template v-for="(itm, inds) in scope.row[item.prop]">
  294. <li :key="inds" v-if="inds < 2">
  295. {{ `${itm.educationName}-${itm.projectName}`
  296. }}{{ inds === 0 ? ", " : "" }}
  297. </li>
  298. </template>
  299. <el-popover :key="Math.random()" placement="right" trigger="click">
  300. <ul>
  301. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  302. {{ inds + 1 }}、
  303. {{ itm.educationName + "-" + itm.projectName }}
  304. </li>
  305. </ul>
  306. <el-button
  307. slot="reference"
  308. style="margin-left: 6px"
  309. type="text"
  310. v-if="scope.row[item.prop].length > 2"
  311. size="mini"
  312. >更多</el-button
  313. >
  314. </el-popover>
  315. </ul>
  316. <span v-else-if="item.scope === 'goodsInfos'">
  317. {{ scope.row[item.prop1] + "-" + scope.row[item.prop2] + "-"
  318. }}<span style="color: red">¥{{ scope.row[item.prop3] }}</span>
  319. </span>
  320. <div v-else-if="item.scope === 'applyInfos'">
  321. <div v-for="(items, indexs) in scope.row[item.prop]" :key="indexs">
  322. <div>{{ items.siteAddress }}</div>
  323. <div
  324. v-for="(itemsxs, indexsxs) in items.examApplySiteTime"
  325. :key="indexsxs"
  326. >
  327. <div v-for="(ks, ds) in itemsxs.siteTime" :key="ds">
  328. {{ $methodsTools.onlyForma(itemsxs.examTime, false) }}
  329. {{ ks.startTime.replace("-", ":") }}-{{
  330. ks.endTime.replace("-", ":")
  331. }}
  332. </div>
  333. </div>
  334. </div>
  335. </div>
  336. <ul v-else-if="item.scope === 'moreGoodsList'" class="ulAuto">
  337. <template v-for="(itm, inds) in scope.row[item.prop]">
  338. <li :key="inds" v-if="inds < 1">
  339. {{ itm[item.prop1] + "-" + itm[item.prop2] + "-" }}
  340. <span style="color: red">¥{{ itm[item.prop3] }}</span>
  341. </li>
  342. </template>
  343. <el-popover :key="Math.random()" placement="right" trigger="click">
  344. <ul>
  345. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  346. {{ inds + 1 }}、
  347. {{ itm[item.prop1] + "-" + itm[item.prop2] + "-" }}
  348. <span style="color: red">¥{{ itm[item.prop3] }}</span>
  349. </li>
  350. </ul>
  351. <el-button
  352. slot="reference"
  353. style="margin-left: 6px"
  354. type="text"
  355. v-if="scope.row[item.prop].length >= 2"
  356. size="mini"
  357. >更多</el-button
  358. >
  359. </el-popover>
  360. </ul>
  361. <ul v-else-if="item.scope === 'mapTypes'" class="ulAuto">
  362. <template v-for="(itm, inds) in scope.row[item.prop]">
  363. <li :key="inds" v-if="inds === 0">
  364. {{ itm.educationName + "-" + itm.projectName }}
  365. </li>
  366. </template>
  367. <el-popover :key="Math.random()" placement="right" trigger="click">
  368. <ul>
  369. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  370. {{ inds + 1 }}、
  371. {{ itm.educationName + "-" + itm.projectName }}
  372. </li>
  373. </ul>
  374. <el-button
  375. slot="reference"
  376. style="margin-left: 6px"
  377. type="text"
  378. v-if="scope.row[item.prop].length > 1"
  379. size="mini"
  380. >更多</el-button
  381. >
  382. </el-popover>
  383. </ul>
  384. <ul v-else-if="item.scope === 'mapTypesBUS'" class="ulAuto">
  385. <template v-for="(itm, inds) in scope.row[item.prop]">
  386. <li :key="inds" v-if="inds === 0">
  387. {{
  388. itm.educationName +
  389. "-" +
  390. itm.projectName +
  391. "-" +
  392. itm.businessName
  393. }}
  394. </li>
  395. </template>
  396. <el-popover :key="Math.random()" placement="right" trigger="click">
  397. <ul>
  398. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  399. {{ inds + 1 }}、
  400. {{
  401. itm.educationName +
  402. "-" +
  403. itm.projectName +
  404. "-" +
  405. itm.businessName
  406. }}
  407. </li>
  408. </ul>
  409. <el-button
  410. slot="reference"
  411. style="margin-left: 6px"
  412. type="text"
  413. v-if="scope.row[item.prop].length > 1"
  414. size="mini"
  415. >更多</el-button
  416. >
  417. </el-popover>
  418. </ul>
  419. <div v-else-if="item.scope === 'splits'" class="dis_sdt">
  420. <ul>
  421. <template v-for="(itm, inds) in scope.row[item.prop]">
  422. <li :key="inds" v-if="inds < 2">
  423. {{ itm }}
  424. </li>
  425. </template>
  426. </ul>
  427. <el-popover :key="Math.random()" placement="right" trigger="click">
  428. <ul>
  429. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  430. {{ inds + 1 }}、
  431. {{ itm }}
  432. </li>
  433. </ul>
  434. <el-button
  435. slot="reference"
  436. style="margin-left: 6px"
  437. type="text"
  438. v-if="scope.row[item.prop].length > 2"
  439. size="mini"
  440. >更多</el-button
  441. >
  442. </el-popover>
  443. </div>
  444. <ul v-else-if="item.scope === 'classNums'" class="ulAutos">
  445. <li
  446. style="font-size: 12px; cursor: pointer; color: #1890ff"
  447. v-if="!scope.row[item.prop].length"
  448. >
  449. 班级({{ scope.row[item.prop].length }})
  450. </li>
  451. <el-popover :key="Math.random()" placement="right" trigger="click">
  452. <ul class="max-heightStyles">
  453. <li
  454. v-for="(itm, inds) in scope.row[item.prop]"
  455. :key="inds"
  456. class="jumpClass"
  457. @click="jumpClass(itm)"
  458. >
  459. {{ inds + 1 }}、
  460. {{ itm.gradeName }}
  461. </li>
  462. </ul>
  463. <el-button
  464. v-if="scope.row[item.prop].length"
  465. slot="reference"
  466. type="text"
  467. size="mini"
  468. >班级({{ scope.row[item.prop].length }})</el-button
  469. >
  470. </el-popover>
  471. </ul>
  472. <div v-else-if="item.scope === 'goodsList'" class="ulAuto">
  473. <ul>
  474. <template v-for="(itm, inds) in scope.row[item.prop]">
  475. <li :key="inds" v-if="inds === 0">
  476. {{ itm.goodsName }}
  477. </li>
  478. </template>
  479. </ul>
  480. <el-popover :key="Math.random()" placement="right" trigger="click">
  481. <ul>
  482. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  483. {{ inds + 1 }}、
  484. {{ itm.goodsName }}
  485. </li>
  486. </ul>
  487. <el-button
  488. slot="reference"
  489. style="margin-left: 6px"
  490. type="text"
  491. v-if="scope.row[item.prop].length > 1"
  492. size="mini"
  493. >更多</el-button
  494. >
  495. </el-popover>
  496. </div>
  497. <div v-else-if="item.scope === 'aboutChapter'" class="ulAuto">
  498. <ul>
  499. <template v-for="(itm, inds) in scope.row[item.prop]">
  500. <li
  501. class="jumpStys"
  502. :key="inds"
  503. v-if="inds === 0"
  504. @click="jumpPages(itm, item.int)"
  505. >
  506. {{ itm[item.prop1] }}
  507. </li>
  508. </template>
  509. </ul>
  510. <el-popover :key="Math.random()" placement="right" trigger="click">
  511. <ul>
  512. <li
  513. v-for="(itm, inds) in scope.row[item.prop]"
  514. :key="inds"
  515. class="jumpStys"
  516. @click="jumpPages(itm, item.int)"
  517. >
  518. {{ inds + 1 }}、
  519. {{ itm[item.prop1] }}
  520. </li>
  521. </ul>
  522. <el-button
  523. slot="reference"
  524. style="margin-left: 6px"
  525. type="text"
  526. v-if="scope.row[item.prop].length > 1"
  527. size="mini"
  528. >更多</el-button
  529. >
  530. </el-popover>
  531. </div>
  532. <ul v-else-if="item.scope === 'mapTypesMores'" class="ulAuto">
  533. <template v-for="(itm, inds) in scope.row[item.prop]">
  534. <li :key="inds" v-if="inds === 0">
  535. {{
  536. itm.educationName +
  537. "-" +
  538. itm.projectName +
  539. "-" +
  540. itm.businessName +
  541. "-" +
  542. itm.subjectName
  543. }}
  544. </li>
  545. </template>
  546. <el-popover :key="Math.random()" placement="right" trigger="click">
  547. <ul style="overflow: auto; max-height: 500px">
  548. <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
  549. {{ inds + 1 }}、
  550. {{
  551. itm.educationName +
  552. "-" +
  553. itm.projectName +
  554. "-" +
  555. itm.businessName +
  556. "-" +
  557. itm.subjectName
  558. }}
  559. </li>
  560. </ul>
  561. <el-button
  562. slot="reference"
  563. style="margin-left: 6px"
  564. type="text"
  565. v-if="scope.row[item.prop].length > 1"
  566. size="mini"
  567. >更多</el-button
  568. >
  569. </el-popover>
  570. </ul>
  571. <span v-else-if="item.scope === 'statusRe'">{{
  572. Number(scope.row[item.prop]) === 0
  573. ? "已删除"
  574. : Number(scope.row[item.prop]) === 1 &&
  575. Number(scope.row["reStatus"]) === 1
  576. ? "待发布"
  577. : Number(scope.row[item.prop]) === 1 &&
  578. Number(scope.row["reStatus"]) === 0
  579. ? "未发布"
  580. : Number(scope.row[item.prop]) === 2
  581. ? "已撤回"
  582. : Number(scope.row[item.prop]) === 3
  583. ? "已发布"
  584. : Number(scope.row[item.prop]) === 4
  585. ? "已到期"
  586. : "未知"
  587. }}</span>
  588. <span v-else-if="item.scope === 'TimeVoBtn'">
  589. <el-popover :key="Math.random()" placement="left" trigger="click">
  590. <div
  591. v-for="(items, indexs) in scope.row[item.prop]"
  592. :key="indexs"
  593. style="margin-bottom: 6px"
  594. >
  595. {{ $methodsTools.onlyForma(items.startTime) }} ~
  596. {{ $methodsTools.onlyForma(items.endTime) }}
  597. </div>
  598. <el-button slot="reference" size="mini">查看</el-button>
  599. </el-popover>
  600. </span>
  601. <div v-else-if="item.scope === 'video'">
  602. <i
  603. v-if="scope.row[item.prop][item.prop1] !== null"
  604. class="el-icon-video-play cvideo"
  605. @click="
  606. openVideo(
  607. $methodsTools.splitImgHost(scope.row[item.prop][item.prop1])
  608. )
  609. "
  610. ></i>
  611. </div>
  612. <div
  613. v-else-if="item.scope === 'PDF'"
  614. style="display: flex; align-items: center"
  615. >
  616. <a
  617. v-if="scope.row[item.prop][item.prop1] !== null"
  618. :href="
  619. $methodsTools.splitImgHost(scope.row[item.prop][item.prop1])
  620. "
  621. target="_blank"
  622. style="
  623. display: block;
  624. width: 35px;
  625. height: 45px;
  626. margin-right: 10px;
  627. "
  628. >
  629. <img class="imgHover" src="@/assets/images/pdf@3x.png" alt="" />
  630. </a>
  631. <div>{{ scope.row[item.prop][item.prop2] }}</div>
  632. </div>
  633. <span v-else-if="item.scope === 'Salary'">
  634. {{ scope.row[item.prop1] === 1 ? "月薪" : "年薪" }}
  635. {{
  636. scope.row[item.prop2] === scope.row[item.prop3]
  637. ? scope.row[item.prop2]
  638. : scope.row[item.prop2] + "~" + scope.row[item.prop3]
  639. }}
  640. </span>
  641. <div v-else-if="item.scope === 'changAdress'">
  642. <div>{{ scope.row[item.prop1] }}</div>
  643. <div>
  644. {{ $methodsTools.onlyForma(scope.row[item.prop2], false) }}
  645. <span
  646. >{{ scope.row[item.prop3] }}-{{ scope.row[item.prop4] }}</span
  647. >
  648. </div>
  649. </div>
  650. <span v-else-if="item.scope === 'activityType'">{{
  651. Number(scope.row[item.prop]) === 0
  652. ? "优惠券"
  653. : Number(scope.row[item.prop]) === 1
  654. ? "折扣券"
  655. : Number(scope.row[item.prop]) === 2
  656. ? "线上直播"
  657. : Number(scope.row[item.prop]) === 3
  658. ? "定价"
  659. : Number(scope.row[item.prop]) === 4
  660. ? "优惠"
  661. : Number(scope.row[item.prop]) === 5
  662. ? "折扣"
  663. : Number(scope.row[item.prop]) === 6
  664. ? "线下活动"
  665. : "未知"
  666. }}</span>
  667. <span v-else-if="item.scope === 'activityRemarks'">{{
  668. Number(scope.row[item.prop]) === 0
  669. ? "金额:¥" + scope.row["price"]
  670. : Number(scope.row[item.prop]) === 1
  671. ? "折扣:" + scope.row["price"] + "折"
  672. : Number(scope.row[item.prop]) === 2
  673. ? "直播内容:" + scope.row["liveContent"]
  674. : Number(scope.row[item.prop]) === 3
  675. ? "商品金额:¥" + scope.row["price"]
  676. : Number(scope.row[item.prop]) === 4
  677. ? "优惠金额:¥" + scope.row["price"]
  678. : Number(scope.row[item.prop]) === 5
  679. ? "商品折扣:" + scope.row["price"] + "折"
  680. : Number(scope.row[item.prop]) === 6
  681. ? "活动地点:" + scope.row["liveAdress"]
  682. : "未知"
  683. }}</span>
  684. <span v-else-if="item.scope === 'isUrgent'">{{
  685. scope.row[item.prop] === 0
  686. ? "不是"
  687. : scope.row[item.prop] === 1
  688. ? "是"
  689. : "未知"
  690. }}</span>
  691. <span v-else-if="item.scope === 'convert'">{{
  692. $methodsTools.secondToDate(scope.row[item.prop], false)
  693. }}</span>
  694. <div v-else-if="item.scope === 'studentServicePeriod'">
  695. <span v-if="scope.row[item.prop1] === 1"
  696. >{{ scope.row[item.prop2] }}年</span
  697. >
  698. <span v-if="scope.row[item.prop1] === 2"
  699. >{{ scope.row[item.prop2] }}月</span
  700. >
  701. <span v-if="scope.row[item.prop1] === 3"
  702. >{{ scope.row[item.prop2] }}日</span
  703. >
  704. <span v-if="scope.row[item.prop1] === 4">
  705. {{ $methodsTools.onlyForma(scope.row[item.prop3]) }}
  706. {{ scope.row[item.prop3] && scope.row[item.prop4] ? "至" : "" }}
  707. {{ $methodsTools.onlyForma(scope.row[item.prop4]) }}
  708. </span>
  709. </div>
  710. <span v-else-if="item.scope === 'gfStatus'">{{
  711. scope.row[item.prop] === 0
  712. ? "否"
  713. : scope.row[item.prop] === 1
  714. ? "是"
  715. : "未知"
  716. }}</span>
  717. <span v-else-if="item.scope === 'refundPrice'">
  718. {{
  719. scope.row["goodsRealPrice"] >= 0 &&
  720. scope.row["goodsReceived"] >= 0
  721. ? Number(scope.row["goodsRealPrice"]) -
  722. Number(scope.row["goodsReceived"]) +
  723. "元"
  724. : ""
  725. }}
  726. </span>
  727. <div v-else-if="item.scope === 'periodStatusShow'">
  728. {{
  729. scope.row[item.prop] === 2
  730. ? "同意,待退款"
  731. : scope.row[item.prop] === 3
  732. ? "同意,已退款"
  733. : "待审核"
  734. }}
  735. </div>
  736. <span v-else-if="item.scope === 'peopleNum'">{{
  737. scope.row[item.prop] === 0 ? "不限制" : scope.row[item.prop]
  738. }}</span>
  739. <span v-else-if="item.scope === 'address'"
  740. >{{
  741. scope.row[item.prop1] +
  742. scope.row[item.prop2] +
  743. scope.row[item.prop3]
  744. }}{{ scope.row[item.prop4] ? scope.row[item.prop4] : "" }}</span
  745. >
  746. <span v-else-if="item.scope === 'statusActivity'">{{
  747. Number(scope.row[item.prop]) === 0
  748. ? "已删除"
  749. : Number(scope.row[item.prop]) === 1
  750. ? "已结束"
  751. : Number(scope.row[item.prop]) === 2
  752. ? "已撤回"
  753. : Number(scope.row[item.prop]) === 3
  754. ? "已开始"
  755. : Number(scope.row[item.prop]) === 4
  756. ? "未开始"
  757. : "未知"
  758. }}</span>
  759. <span v-else-if="item.scope === 'sex'">
  760. {{
  761. scope.row[item.prop] == 1
  762. ? "男"
  763. : scope.row[item.prop] == 2
  764. ? "女"
  765. : "未知"
  766. }}
  767. </span>
  768. <span v-else-if="item.scope === 'statusFB'">{{
  769. scope.row[item.prop] === 0
  770. ? "删除"
  771. : scope.row[item.prop] === 1
  772. ? "发布"
  773. : scope.row[item.prop] === 2
  774. ? "撤回"
  775. : scope.row[item.prop] === 3
  776. ? "未发布"
  777. : "未知"
  778. }}</span>
  779. <span v-else-if="item.scope === 'typeStatus'">{{
  780. scope.row[item.prop] === 0
  781. ? "报名指引"
  782. : scope.row[item.prop] === 1
  783. ? "打印准考证"
  784. : scope.row[item.prop] === 2
  785. ? "成绩查询指引"
  786. : "未知"
  787. }}</span>
  788. <span v-else-if="item.scope === 'typeId'">{{
  789. scope.row[item.prop] === 1
  790. ? "普通练习"
  791. : scope.row[item.prop] === 2
  792. ? "押题试卷"
  793. : scope.row[item.prop] === 3
  794. ? "真题试卷"
  795. : "未知"
  796. }}</span>
  797. <span v-else-if="item.scope === 'taskType'">{{
  798. scope.row[item.prop] === 0
  799. ? "每日签到"
  800. : scope.row[item.prop] === 1
  801. ? "完善信息"
  802. : scope.row[item.prop] === 2
  803. ? "邀请好友"
  804. : scope.row[item.prop] === 3
  805. ? "每日分享"
  806. : scope.row[item.prop] === 4
  807. ? "视频学习"
  808. : scope.row[item.prop] === 5
  809. ? "模拟考试"
  810. : "未知"
  811. }}</span>
  812. <span v-else-if="item.scope === 'releaseType'">{{
  813. scope.row[item.prop] === 0
  814. ? "手动发布"
  815. : scope.row[item.prop] === 1
  816. ? "定时发布"
  817. : "未知"
  818. }}</span>
  819. <span v-else-if="item.scope === 'releaseStatus'">{{
  820. scope.row[item.prop] === 0
  821. ? "删除"
  822. : scope.row[item.prop] === 1
  823. ? "待发布"
  824. : scope.row[item.prop] === 2
  825. ? "撤回"
  826. : scope.row[item.prop] === 3
  827. ? "发布成功"
  828. : scope.row[item.prop] === 4
  829. ? "未发布"
  830. : scope.row[item.prop] === 5
  831. ? "已结束"
  832. : "未知"
  833. }}</span>
  834. <div v-else-if="item.scope === 'knowledge'" class="overSty">
  835. <el-button
  836. type="success"
  837. size="small"
  838. v-for="(items, ks) in scope.row[item.prop]"
  839. :key="ks"
  840. >
  841. {{ items.knowledgeName }}
  842. </el-button>
  843. </div>
  844. <span v-else-if="item.scope === 'numberAll'">{{
  845. scope.row[item.prop1] + scope.row[item.prop2]
  846. }}</span>
  847. <span v-else-if="item.scope === 'moreLists'">{{
  848. scope.row[item.prop1] + " ~ " + scope.row[item.prop2]
  849. }}</span>
  850. <span v-else-if="item.scope === 'resultType'">
  851. {{ scope.row[item.prop1] }}
  852. <span
  853. :style="
  854. scope.row[item.prop2] === 1
  855. ? 'color:purple'
  856. : scope.row[item.prop2] === 0
  857. ? 'color:red;'
  858. : ''
  859. "
  860. >
  861. {{
  862. scope.row[item.prop2] === 1
  863. ? "通过"
  864. : scope.row[item.prop2] === 0
  865. ? "不通过"
  866. : ""
  867. }}
  868. </span>
  869. </span>
  870. <span v-else-if="item.scope === 'TimeLists'"
  871. >{{ $methodsTools.onlyForma(scope.row[item.prop1], item.Diszing) }}
  872. {{
  873. $methodsTools.onlyForma(scope.row[item.prop2], item.Diszing)
  874. }}</span
  875. >
  876. <span v-else-if="item.scope === 'aTimeList'">{{
  877. scope.row[item.prop] === null
  878. ? "--"
  879. : $methodsTools.onlyForma(scope.row[item.prop])
  880. }}</span>
  881. <div v-else-if="item.scope === 'inputs'">
  882. <el-input-number
  883. style="width: 50px"
  884. size="small"
  885. :controls="false"
  886. v-model="scope.row[item.prop]"
  887. controls-position="right"
  888. :min="0"
  889. ></el-input-number>
  890. </div>
  891. <span v-else-if="item.scope === 'topic'">{{
  892. scope.row[item.prop] === 1
  893. ? "单选题"
  894. : scope.row[item.prop] === 2
  895. ? "多选题"
  896. : scope.row[item.prop] === 3
  897. ? "判断题"
  898. : scope.row[item.prop] === 4
  899. ? "案例题"
  900. : scope.row[item.prop] === 5
  901. ? "简答题"
  902. : "未知"
  903. }}</span>
  904. <span v-else-if="item.scope === 'typeStatusName'">{{
  905. scope.row[item.prop] === 1
  906. ? "扫码支付"
  907. : scope.row[item.prop] === 2
  908. ? "刷卡支付"
  909. : scope.row[item.prop] === 3
  910. ? "现金支付"
  911. : scope.row[item.prop] === 4
  912. ? "转账"
  913. : "未知"
  914. }}</span>
  915. <span v-else-if="item.scope === 'teachers'">
  916. <span v-for="(itm, indm) in scope.row[item.prop]" :key="indm"
  917. >{{ itm.nickName
  918. }}{{ indm !== scope.row[item.prop].length - 1 ? "," : "" }}</span
  919. >
  920. </span>
  921. <span v-else-if="item.scope === 'streamType'">{{
  922. scope.row[item.prop] === 1
  923. ? "正式"
  924. : scope.row[item.prop] === 2
  925. ? "测试"
  926. : "未知"
  927. }}</span>
  928. <span
  929. v-else-if="item.scope === 'statusPeriods'"
  930. :style="scope.row[item.prop] === 1 ? 'color:red' : ''"
  931. >
  932. {{
  933. scope.row[item.prop] === -1
  934. ? "不可审核"
  935. : scope.row[item.prop] === 2
  936. ? "待审核"
  937. : scope.row[item.prop] === 0
  938. ? "未通过"
  939. : scope.row[item.prop] === 1
  940. ? "已通过"
  941. : scope.row[item.prop] === 3
  942. ? "审核中"
  943. : ""
  944. }}
  945. </span>
  946. <span
  947. v-else-if="item.scope === 'statusPeriod'"
  948. :style="scope.row[item.prop] === 2 ? 'color:red' : ''"
  949. >
  950. {{
  951. scope.row[item.prop] === -1
  952. ? "不可审核"
  953. : scope.row[item.prop] === 2
  954. ? "待审核"
  955. : scope.row[item.prop] === 0
  956. ? "未通过"
  957. : scope.row[item.prop] === 1
  958. ? "已通过"
  959. : scope.row[item.prop] === 3
  960. ? "审核中"
  961. : ""
  962. }}
  963. </span>
  964. <div v-else-if="item.scope === 'changeCLS'">
  965. <div
  966. v-if="!scope.row['interfacePushId'] && !scope.row['periodPlush']"
  967. >
  968. <div v-if="scope.row[item.prop] === 1" style="color: red">
  969. 有变更<span
  970. style="margin-left: 6px; color: blue; cursor: pointer"
  971. @click="isShowBoxsFun(scope.row)"
  972. >查看</span
  973. >
  974. </div>
  975. <span v-else> 正常 </span>
  976. </div>
  977. <template v-else>
  978. <div
  979. v-if="
  980. scope.row['interfacePushId'] === 1 &&
  981. !scope.row['periodPlush']
  982. "
  983. >
  984. <div v-if="scope.row[item.prop] === 1">
  985. <div
  986. v-if="
  987. scope.row['officialStatusTime'] &&
  988. scope.row['userUpdates'][0].createTime <
  989. scope.row['officialStatusTime']
  990. "
  991. >
  992. 正常
  993. </div>
  994. <div v-else style="color: red">
  995. 有变更<span
  996. style="margin-left: 6px; color: blue; cursor: pointer"
  997. @click="isShowBoxsFun(scope.row)"
  998. >查看</span
  999. >
  1000. </div>
  1001. </div>
  1002. <span v-else> 正常 </span>
  1003. </div>
  1004. <div
  1005. v-if="
  1006. scope.row['interfacePushId'] === 1 &&
  1007. scope.row['periodPlush'] === 1
  1008. "
  1009. >
  1010. <div v-if="scope.row[item.prop] === 1">
  1011. <div
  1012. v-if="
  1013. scope.row['officialStatusTime'] &&
  1014. scope.row['userUpdates'][0].createTime <
  1015. scope.row['officialStatusTime']
  1016. "
  1017. >
  1018. 正常
  1019. </div>
  1020. <div v-else style="color: purple">
  1021. 有变更<span
  1022. style="margin-left: 6px; color: blue; cursor: pointer"
  1023. @click="isShowBoxsFun(scope.row)"
  1024. >查看</span
  1025. >
  1026. </div>
  1027. </div>
  1028. <span v-else> 正常 </span>
  1029. </div>
  1030. </template>
  1031. </div>
  1032. <div v-else-if="item.scope === 'rebuy'">
  1033. <span>{{ scope.row[item.prop] === 1 ? "是" : "" }}</span>
  1034. <span
  1035. v-if="scope.row[item.prop] === 1"
  1036. style="margin-left: 6px; color: blue; cursor: pointer"
  1037. @click="isShowRebuy(scope.row)"
  1038. >查看</span
  1039. >
  1040. </div>
  1041. <span
  1042. v-else-if="item.scope === 'finishStatus'"
  1043. :style="scope.row[item.prop] === 0 ? 'color:red' : ''"
  1044. >
  1045. {{
  1046. scope.row[item.prop] === 0
  1047. ? "未学完"
  1048. : scope.row[item.prop] === 1
  1049. ? "已学完"
  1050. : ""
  1051. }}
  1052. </span>
  1053. <span v-else-if="item.scope === 'computer'">
  1054. {{ scope.row[item.prop1] + "/" + scope.row[item.prop2] }}
  1055. {{
  1056. scope.row[item.prop1] == 0 && scope.row[item.prop2] == 0
  1057. ? "0%"
  1058. : (
  1059. (scope.row[item.prop1] / scope.row[item.prop2]) *
  1060. 100
  1061. ).toFixed(2) + "%"
  1062. }}
  1063. </span>
  1064. <div v-else-if="item.scope === 'payGoodsList'">
  1065. <span
  1066. style="margin-right: 6px"
  1067. class="goodsListStyle"
  1068. @click="openGoodsListBoxs(scope.row, 1)"
  1069. >视频({{
  1070. scope.row[item.prop1] ? scope.row[item.prop1] : 0
  1071. }})</span
  1072. >
  1073. <span
  1074. class="goodsListStyle"
  1075. @click="openGoodsListBoxs(scope.row, 2)"
  1076. >题库({{
  1077. scope.row[item.prop2] ? scope.row[item.prop2] : 0
  1078. }})</span
  1079. >
  1080. </div>
  1081. <span v-else-if="item.scope === 'statusOrder'">{{
  1082. scope.row[item.prop] === -2
  1083. ? "超时关闭"
  1084. : scope.row[item.prop] === -1
  1085. ? "手动关闭"
  1086. : scope.row[item.prop] === 0
  1087. ? "待付款"
  1088. : scope.row[item.prop] === 1
  1089. ? "已付款"
  1090. : scope.row[item.prop] === 3
  1091. ? "成功"
  1092. : "未知"
  1093. }}</span>
  1094. <span v-else-if="item.scope === 'cType'">
  1095. <el-tag
  1096. type="success"
  1097. v-if="
  1098. compType(scope.row[item.prop], scope.row['requestMethod']) ===
  1099. '新增'
  1100. "
  1101. >
  1102. {{
  1103. compType(scope.row[item.prop], scope.row["requestMethod"])
  1104. }}</el-tag
  1105. >
  1106. <el-tag
  1107. v-if="
  1108. compType(scope.row[item.prop], scope.row['requestMethod']) ===
  1109. '修改'
  1110. "
  1111. >
  1112. {{
  1113. compType(scope.row[item.prop], scope.row["requestMethod"])
  1114. }}</el-tag
  1115. >
  1116. <el-tag
  1117. type="warning"
  1118. v-if="
  1119. compType(scope.row[item.prop], scope.row['requestMethod']) ===
  1120. '查询'
  1121. "
  1122. >
  1123. {{
  1124. compType(scope.row[item.prop], scope.row["requestMethod"])
  1125. }}</el-tag
  1126. >
  1127. </span>
  1128. <span v-else-if="item.scope === 'time'">{{
  1129. numTime(scope.row[item.prop])
  1130. }}</span>
  1131. <span v-else-if="item.scope === 'timeBtn'"
  1132. >{{ numTime(scope.row[item.prop]) }}
  1133. <el-button type="text" @click="getxq(scope.row)">详情</el-button>
  1134. </span>
  1135. <span
  1136. class="editInfoSty"
  1137. v-else-if="item.scope === 'editInfo'"
  1138. @click="editInfo(scope.row)"
  1139. >{{ scope.row[item.prop] }}
  1140. </span>
  1141. <span
  1142. class="editInfoSty"
  1143. v-else-if="item.scope === 'editInfoMore'"
  1144. @click="editInfo(scope.row)"
  1145. >{{ scope.row[item.prop1] }} - {{ scope.row[item.prop2] }}
  1146. </span>
  1147. <span v-else-if="item.scope === 'InfoMore'"
  1148. >{{ scope.row[item.prop1] }} - {{ scope.row[item.prop2] }}
  1149. </span>
  1150. <div v-else-if="item.scope === 'realAndIdcard'">
  1151. {{ scope.row[item.prop1] }}<br />{{ scope.row[item.prop2] }}
  1152. </div>
  1153. <el-button
  1154. v-else-if="item.scope === 'aboutTrees'"
  1155. slot="reference"
  1156. @click="activesBoxszing(scope.row[item.prop])"
  1157. >查看</el-button
  1158. >
  1159. <div
  1160. class="editInfoSty"
  1161. v-else-if="item.scope === 'editInfoHTML'"
  1162. @click="editInfo(scope.row)"
  1163. >
  1164. {{ getSimpleText(scope.row[item.prop]) }}
  1165. </div>
  1166. <div v-else-if="item.scope === 'editInfoHTMLs'">
  1167. {{ getSimpleText(scope.row[item.prop]) }}
  1168. </div>
  1169. <span v-else-if="item.scope === 'minute'">{{
  1170. numTimeminute(scope.row[item.prop])
  1171. }}</span>
  1172. <span
  1173. v-else-if="item.scope === 'jumpPage'"
  1174. @click="jumpPage(scope.row)"
  1175. style="color: #409eff; cursor: pointer"
  1176. >{{ scope.row[item.prop] }}</span
  1177. >
  1178. <span v-else-if="item.scope === 'objType'">
  1179. {{
  1180. scope.row[item.objProp].length
  1181. ? scope.row[item.objProp][0][item.prop]
  1182. : ""
  1183. }}
  1184. </span>
  1185. <span v-else-if="item.scope === 'isOKs'" style="color: red"
  1186. >审核通过</span
  1187. >
  1188. <span v-else-if="item.scope === 'classTypes'">
  1189. {{
  1190. scope.row[item.prop] === 1
  1191. ? `已开班:${scope.row[item.prop1]}`
  1192. : scope.row[item.prop] === 0
  1193. ? "预报名(未开班)"
  1194. : ""
  1195. }}
  1196. </span>
  1197. <span v-else-if="item.scope === 'classTimeTypes'">
  1198. {{
  1199. scope.row[item.prop] === 1
  1200. ? "即刻"
  1201. : scope.row[item.prop] === 2
  1202. ? "待定"
  1203. : scope.row[item.prop] === 3
  1204. ? $methodsTools.onlyForma(scope.row[item.prop1])
  1205. : "未知"
  1206. }}
  1207. </span>
  1208. <div v-else-if="item.scope === 'objTypeYW'">
  1209. <span v-if="scope.row[item.objProp].length">
  1210. {{ scope.row[item.objProp][0][item.prop1] }}-{{
  1211. scope.row[item.objProp][0][item.prop2]
  1212. }}-{{ scope.row[item.objProp][0][item.prop3] }}
  1213. </span>
  1214. </div>
  1215. <div v-else-if="item.scope === 'againStudent'">
  1216. <span :style="scope.row[item.prop] ? 'color:blue' : ''">{{
  1217. scope.row[item.prop]
  1218. }}</span>
  1219. <span
  1220. style="color: red; margin-left: 10px"
  1221. v-if="scope.row[item.prop]"
  1222. >已重修{{ scope.row[item.prop1] }}节</span
  1223. >
  1224. </div>
  1225. <span v-else-if="item.scope === 'eduTypes'">
  1226. {{
  1227. scope.row[item.prop1] +
  1228. "-" +
  1229. scope.row[item.prop2] +
  1230. "-" +
  1231. scope.row[item.prop3]
  1232. }}{{ scope.row[item.prop4] ? "-" + scope.row[item.prop4] : "" }}
  1233. </span>
  1234. <span v-else-if="item.scope === 'outStandingAmount'">
  1235. ¥{{ (scope.row[item.prop1] - scope.row[item.prop2]).toFixed(2) }}
  1236. </span>
  1237. <span
  1238. v-else-if="item.scope === 'sendStatus'"
  1239. :style="scope.row[item.prop] === 0 ? 'color:red;' : ''"
  1240. >
  1241. {{
  1242. scope.row[item.prop] === 1
  1243. ? "发送成功"
  1244. : scope.row[item.prop] === 0
  1245. ? "发送失败"
  1246. : "--"
  1247. }}
  1248. </span>
  1249. <span v-else-if="item.scope === 'peopleNums'">
  1250. {{ scope.row[item.prop1] }} / {{ scope.row[item.prop2] }}
  1251. </span>
  1252. <span
  1253. v-else-if="item.scope === 'jumpPageLabel'"
  1254. @click="jumpPageLabel(scope.row)"
  1255. style="color: #409eff; cursor: pointer"
  1256. >{{ scope.row[item.prop] }}</span
  1257. >
  1258. <span v-else-if="item.scope === 'urlStatus'">
  1259. {{
  1260. scope.row[item.prop] === 1
  1261. ? scope.row[item.prop1]
  1262. : scope.row[item.prop] === 2
  1263. ? scope.row[item.prop2]
  1264. : scope.row[item.prop] === 3
  1265. ? scope.row[item.prop3]
  1266. : ""
  1267. }}
  1268. </span>
  1269. <div v-else-if="item.scope === 'morePeople'">
  1270. <span
  1271. v-for="(itm, idm) in scope.row[item.prop].split(',').map(Number)"
  1272. :key="idm"
  1273. >
  1274. {{ itm === 1 ? "非补考学员" : itm === 2 ? "补考学员" : "" }}
  1275. </span>
  1276. </div>
  1277. <span
  1278. v-else-if="item.scope === 'jumpPageLabelProfess'"
  1279. @click="jumpPageLabelProfess(scope.row)"
  1280. style="color: #409eff; cursor: pointer"
  1281. >{{ scope.row[item.prop] }}</span
  1282. >
  1283. <span
  1284. v-else-if="item.scope === 'infoJump'"
  1285. @click="jumpinfoJump(scope.row)"
  1286. style="color: #409eff; cursor: pointer"
  1287. >详情</span
  1288. >
  1289. <div v-else-if="item.scope === 'learnStatus'">
  1290. <div v-if="scope.row.learnStatus === 0" style="color: red">
  1291. 未开通
  1292. </div>
  1293. <div v-if="scope.row.learnStatus === 1">已开通</div>
  1294. <div v-if="scope.row.learnStatus === 2">
  1295. 标记失败
  1296. <el-popover placement="right" trigger="click" width="360">
  1297. <div>
  1298. <p>账号开通状态为:标记失败</p>
  1299. <p>失败原因:<br />{{ scope.row.reason }}</p>
  1300. </div>
  1301. <el-button type="text" slot="reference">原因</el-button>
  1302. </el-popover>
  1303. </div>
  1304. </div>
  1305. <span v-else-if="item.scope === 'ptai'">{{
  1306. scope.row[item.prop] == 1 ? "微信小程序" : "未知"
  1307. }}</span>
  1308. <span v-else-if="item.scope === 'diffTime'"
  1309. >{{
  1310. scope.row["sectionType"] === 2
  1311. ? scope.row[item.prop1]
  1312. : scope.row[item.prop2]
  1313. }}分钟</span
  1314. >
  1315. <div v-else-if="item.scope === 'isOptions'">
  1316. <template v-for="(itemt, indext) in item.options">
  1317. <span
  1318. :key="indext"
  1319. v-if="itemt.value === scope.row[item.prop]"
  1320. :style="itemt.style ? itemt.style : ''"
  1321. >{{ itemt.label }}
  1322. <el-button
  1323. type="text"
  1324. v-if="itemt.click"
  1325. @click="backFunc(scope.row)"
  1326. >查看</el-button
  1327. ></span
  1328. >
  1329. </template>
  1330. </div>
  1331. <div v-else-if="item.scope === 'orderGoodsStatus'">
  1332. {{
  1333. scope.row[item.prop] === -1
  1334. ? "关闭"
  1335. : scope.row[item.prop] === 0
  1336. ? "待支付"
  1337. : scope.row[item.prop] === 1
  1338. ? `已支付(¥${scope.row["goodsReceived"]})`
  1339. : scope.row[item.prop] === 2
  1340. ? `已退款(¥${scope.row["goodsReceived"]})`
  1341. : ""
  1342. }}
  1343. </div>
  1344. <div v-else-if="item.scope === 'isOptionsDZYQ'">
  1345. <template v-for="(itemt, indext) in item.options">
  1346. <span
  1347. :key="indext"
  1348. v-if="itemt.value === scope.row[item.prop]"
  1349. :style="itemt.style ? itemt.style : ''"
  1350. >{{
  1351. scope.row["subscribeStatus"] === 1 ? itemt.label : ""
  1352. }}</span
  1353. >
  1354. </template>
  1355. </div>
  1356. <ul v-else-if="item.scope === 'orderSnList'">
  1357. <li v-for="(ty, index) in scope.row[item.prop]" :key="index">
  1358. <span v-if="ty">
  1359. {{ ty.goodsName + " - " + ty.orderSn }}
  1360. </span>
  1361. </li>
  1362. </ul>
  1363. <div v-else-if="item.scope === 'priceRed'" style="color: red">
  1364. ¥{{ scope.row[item.prop] ? scope.row[item.prop] : 0 }}
  1365. </div>
  1366. <span v-else
  1367. >{{ scope.row[item.prop] }}
  1368. {{
  1369. (scope.row[item.prop] || scope.row[item.prop] === 0) && item.ch
  1370. ? item.ch
  1371. : ""
  1372. }}</span
  1373. >
  1374. </template>
  1375. </af-table-column>
  1376. <el-table-column
  1377. label="官方信息推送状态"
  1378. align="center"
  1379. width="180px"
  1380. v-if="navText.gftsStatus"
  1381. >
  1382. <template slot-scope="scope">
  1383. {{
  1384. scope.row.officialStatus === 1
  1385. ? `是(${scope.row.officialStatusNum})`
  1386. : "否"
  1387. }}
  1388. </template>
  1389. </el-table-column>
  1390. <el-table-column
  1391. label="官方学时推送状态"
  1392. align="center"
  1393. width="180px"
  1394. v-if="navText.gfxsStatus"
  1395. >
  1396. <template slot-scope="scope">
  1397. {{
  1398. scope.row.periodPlush === 1
  1399. ? `是(${scope.row.periodStatusNum})`
  1400. : "否"
  1401. }}
  1402. </template>
  1403. </el-table-column>
  1404. <el-table-column
  1405. label="官方账号开通状态"
  1406. align="center"
  1407. width="180px"
  1408. v-if="navText.gfUserStatus"
  1409. >
  1410. <template slot-scope="scope">
  1411. <div v-if="scope.row.learnStatus === 0" style="color: red">
  1412. 未开通
  1413. </div>
  1414. <div v-if="scope.row.learnStatus === 1">已开通</div>
  1415. <div v-if="scope.row.learnStatus === 2">
  1416. 标记失败
  1417. <el-popover placement="right" trigger="click" width="360">
  1418. <div>
  1419. <p>账号开通状态为:标记失败</p>
  1420. <p>失败原因:<br />{{ scope.row.reason }}</p>
  1421. </div>
  1422. <el-button type="text" slot="reference">原因</el-button>
  1423. </el-popover>
  1424. </div>
  1425. </template>
  1426. </el-table-column>
  1427. <el-table-column
  1428. label="操作"
  1429. align="center"
  1430. fixed="right"
  1431. :width="navText.changeWidth ? navText.changeWidth : '180px'"
  1432. v-if="!navText.tableHide"
  1433. >
  1434. <template slot-scope="scope">
  1435. <slot name="btn" :scope="scope"></slot>
  1436. </template>
  1437. </el-table-column>
  1438. </el-table>
  1439. <el-dialog
  1440. :visible.sync="diaBox"
  1441. width="500px"
  1442. :show-close="false"
  1443. :destroy-on-close="true"
  1444. >
  1445. <div slot="title" class="hearders">
  1446. <div class="leftTitle">详情</div>
  1447. <div class="rightBoxs">
  1448. <img
  1449. src="@/assets/images/Close@2x.png"
  1450. alt=""
  1451. @click="closeBeforefs"
  1452. />
  1453. </div>
  1454. </div>
  1455. <el-row class="contentBox" :gutter="30">
  1456. <div style="width: 100%; height: 100%">
  1457. <video
  1458. controls
  1459. preload
  1460. style="width: 100%; height: 100%"
  1461. :src="$methodsTools.splitImgHost(videoUrls)"
  1462. ></video>
  1463. </div>
  1464. </el-row>
  1465. <div slot="footer" class="dialog-footer">
  1466. <el-button @click="closeBeforefs">关闭</el-button>
  1467. </div>
  1468. </el-dialog>
  1469. <el-dialog
  1470. :visible.sync="dialogVisible"
  1471. width="560px"
  1472. :show-close="false"
  1473. :close-on-click-modal="false"
  1474. >
  1475. <div slot="title" class="hearders">
  1476. <div class="leftTitle">课程树形图</div>
  1477. <div class="rightBoxs">
  1478. <img src="@/assets/images/Close@2x.png" alt="" @click="closes" />
  1479. </div>
  1480. </div>
  1481. <div>
  1482. <el-tree
  1483. :key="Math.random()"
  1484. :props="props"
  1485. :load="loadNode"
  1486. lazy
  1487. ></el-tree>
  1488. </div>
  1489. <span slot="footer" class="dialog-footer">
  1490. <el-button @click="closes">取 消</el-button>
  1491. </span>
  1492. </el-dialog>
  1493. <el-dialog
  1494. :visible.sync="diaviosOpen"
  1495. width="560px"
  1496. :show-close="false"
  1497. :close-on-click-modal="false"
  1498. >
  1499. <div slot="title" class="hearders">
  1500. <div class="leftTitle">商品树形图</div>
  1501. <div class="rightBoxs">
  1502. <img
  1503. src="@/assets/images/Close@2x.png"
  1504. alt=""
  1505. @click="diaviosOpen = false"
  1506. />
  1507. </div>
  1508. </div>
  1509. <div style="max-height: 600px; overflow: auto">
  1510. <el-tree
  1511. default-expand-all
  1512. :key="Math.random()"
  1513. :props="props1"
  1514. :load="loadNode1"
  1515. lazy
  1516. ></el-tree>
  1517. </div>
  1518. <span slot="footer" class="dialog-footer">
  1519. <el-button @click="diaviosOpen = false">取 消</el-button>
  1520. </span>
  1521. </el-dialog>
  1522. <el-dialog
  1523. :visible.sync="isShowBoxs"
  1524. width="400px"
  1525. :show-close="false"
  1526. :close-on-click-modal="false"
  1527. >
  1528. <div slot="title" class="hearders">
  1529. <div class="leftTitle">资料变更详情</div>
  1530. <div class="rightBoxs">
  1531. <img
  1532. src="@/assets/images/Close@2x.png"
  1533. alt=""
  1534. @click="isShowBoxs = false"
  1535. />
  1536. </div>
  1537. </div>
  1538. <div style="max-height: 400px; overflow: auto">
  1539. <ul>
  1540. <li
  1541. v-for="(items, indexs) in listBoxsGET"
  1542. :key="indexs"
  1543. style="margin-bottom: 30px"
  1544. >
  1545. <p>{{ $methodsTools.onlyForma(items.createTime) }}</p>
  1546. <p style="padding-left: 14px; color: #999">
  1547. 姓名:{{ items.realname }}
  1548. </p>
  1549. <p style="padding-left: 14px; color: #999">
  1550. 身份证号码:{{ items.idCard }}
  1551. </p>
  1552. <p style="padding-left: 14px; color: #999">
  1553. 绑定手机号码:{{ items.telphone }}
  1554. </p>
  1555. </li>
  1556. </ul>
  1557. </div>
  1558. <span slot="footer" class="dialog-footer">
  1559. <el-button @click="isShowBoxs = false">取 消</el-button>
  1560. </span>
  1561. </el-dialog>
  1562. <el-dialog
  1563. :visible.sync="isShowBoxRebuy"
  1564. width="600px"
  1565. :show-close="false"
  1566. :close-on-click-modal="false"
  1567. >
  1568. <div slot="title" class="hearders">
  1569. <div class="leftTitle">复购-学时冲突提示</div>
  1570. <div class="rightBoxs">
  1571. <img
  1572. src="@/assets/images/Close@2x.png"
  1573. alt=""
  1574. @click="isShowBoxRebuy = false"
  1575. />
  1576. </div>
  1577. </div>
  1578. <div style="max-height: 400px; overflow: auto">
  1579. <ul>
  1580. <li
  1581. v-for="(item, index) in rebuyInfos"
  1582. :key="index"
  1583. style="margin-bottom: 10px"
  1584. >
  1585. 学员曾购买过此商品【<span style="color: red"
  1586. >{{ item.orderSn }} - {{ item.goodsName }}</span
  1587. >】,所在班级【{{
  1588. item.gradeName
  1589. }}】的【官方学时推送状态为:是】,如为重复申报学时请及时联系学员并关闭订单。
  1590. </li>
  1591. </ul>
  1592. </div>
  1593. <span slot="footer" class="dialog-footer">
  1594. <el-button @click="isShowBoxRebuy = false">取 消</el-button>
  1595. </span>
  1596. </el-dialog>
  1597. <el-dialog
  1598. :visible.sync="diaviosTKOpen"
  1599. width="560px"
  1600. :show-close="false"
  1601. :close-on-click-modal="false"
  1602. >
  1603. <div slot="title" class="hearders">
  1604. <div class="leftTitle">商品树形图</div>
  1605. <div class="rightBoxs">
  1606. <img
  1607. src="@/assets/images/Close@2x.png"
  1608. alt=""
  1609. @click="diaviosTKOpen = false"
  1610. />
  1611. </div>
  1612. </div>
  1613. <div style="max-height: 600px; overflow: auto">
  1614. <el-tree
  1615. default-expand-all
  1616. :key="Math.random()"
  1617. :props="props2"
  1618. :load="loadNode2"
  1619. lazy
  1620. ></el-tree>
  1621. </div>
  1622. <span slot="footer" class="dialog-footer">
  1623. <el-button @click="diaviosTKOpen = false">取 消</el-button>
  1624. </span>
  1625. </el-dialog>
  1626. <el-dialog
  1627. :visible.sync="goosListBoxs"
  1628. width="560px"
  1629. :show-close="false"
  1630. :close-on-click-modal="false"
  1631. >
  1632. <div slot="title" class="hearders">
  1633. <div class="leftTitle">所购商品</div>
  1634. <div class="rightBoxs">
  1635. <img
  1636. src="@/assets/images/Close@2x.png"
  1637. alt=""
  1638. @click="goosListBoxs = false"
  1639. />
  1640. </div>
  1641. </div>
  1642. <div>
  1643. <div class="zdyBoxStyle">
  1644. <div
  1645. class="zdyBtnstyle"
  1646. style="margin-right: 20px"
  1647. :class="goodsActiveIndex === 1 ? 'goodsActiveStyle' : ''"
  1648. @click="getGoodsAboutList(1)"
  1649. >
  1650. 视频商品
  1651. </div>
  1652. <div
  1653. class="zdyBtnstyle"
  1654. :class="goodsActiveIndex === 2 ? 'goodsActiveStyle' : ''"
  1655. @click="getGoodsAboutList(2)"
  1656. >
  1657. 题库商品
  1658. </div>
  1659. </div>
  1660. <ul class="overBoxs" v-if="goodsList.length">
  1661. <li v-for="(item, index) in goodsList" :key="index" class="liSYTS">
  1662. <div style="margin-bottom: 10px">
  1663. 支付时间:{{ $methodsTools.onlyForma(item.createTime) }}
  1664. </div>
  1665. <div style="margin-bottom: 10px">商品编码:{{ item.code }}</div>
  1666. <div>商品名称:{{ item.goodsName }}</div>
  1667. </li>
  1668. </ul>
  1669. <div v-else style="text-align: center; margin-top: 20px">
  1670. 暂无相关商品
  1671. </div>
  1672. </div>
  1673. <span slot="footer" class="dialog-footer">
  1674. <el-button @click="goosListBoxs = false">取 消</el-button>
  1675. </span>
  1676. </el-dialog>
  1677. </div>
  1678. </template>
  1679. <script>
  1680. export default {
  1681. props: ["tableSets", "tableData", "navText", "rowKey", "loading"],
  1682. data: function () {
  1683. return {
  1684. diaviosOpen: false,
  1685. diaviosTKOpen: false,
  1686. dialogVisible: false,
  1687. goosListBoxs: false,
  1688. goodsActiveIndex: 1,
  1689. goodsList: [],
  1690. rebuyInfos: [],
  1691. tableSet: this.tableSets,
  1692. allCheckData: [], //表格多选
  1693. checkAll: true,
  1694. checkedCities: [], //自定义列 选中数组
  1695. cities: [], //自定义列 总数组
  1696. isIndeterminate: false,
  1697. videoUrls: "",
  1698. diaBox: false,
  1699. isShowBoxs: false,
  1700. isShowBoxRebuy: false,
  1701. listBoxsGET: [],
  1702. props: {
  1703. label(data, node) {
  1704. return data.menuName || data.name;
  1705. },
  1706. isLeaf(data, node) {
  1707. return data.hasChildren ? false : true;
  1708. },
  1709. },
  1710. props1: {
  1711. label(data, node) {
  1712. return data.courseName || data.menuName || data.name;
  1713. },
  1714. isLeaf(data, node) {
  1715. return data.hasChildren ? false : true;
  1716. },
  1717. },
  1718. props2: {
  1719. label(data, node) {
  1720. return data.examName || data.menuName || data.name;
  1721. },
  1722. isLeaf(data, node) {
  1723. return data.hasChildren ? false : true;
  1724. },
  1725. },
  1726. treeDatas: [],
  1727. treeDatas1: [],
  1728. treeDatas2: [],
  1729. };
  1730. },
  1731. computed: {
  1732. compTableSet: function () {
  1733. return function (options) {
  1734. var arrays = options.filter((item) => {
  1735. return item.hidden;
  1736. });
  1737. return arrays;
  1738. };
  1739. },
  1740. numTime: function () {
  1741. return function (res) {
  1742. return Number(res / 3600).toFixed(2);
  1743. };
  1744. },
  1745. numTimeminute: function () {
  1746. return function (res) {
  1747. return Number(res / 60).toFixed(2);
  1748. };
  1749. },
  1750. compType: function () {
  1751. return function (res, data) {
  1752. if (data === "POST") {
  1753. if (res.indexOf("edit") !== -1 || res.indexOf("update") !== -1) {
  1754. return "修改";
  1755. } else {
  1756. return "新增";
  1757. }
  1758. } else if (data === "GET") {
  1759. return "查询";
  1760. }
  1761. };
  1762. },
  1763. },
  1764. created() {
  1765. this.inittableSet = JSON.stringify(this.tableSet);
  1766. this.initTR();
  1767. },
  1768. mounted() {},
  1769. methods: {
  1770. /**
  1771. * 学习账号标记跳转班级
  1772. */
  1773. backClassView(row){
  1774. this.$emit("classView",row)
  1775. },
  1776. blurBackData(row) {
  1777. this.$emit("sortFunc", row);
  1778. },
  1779. backFunc(row) {
  1780. this.$emit("backFunc", row);
  1781. },
  1782. /**
  1783. * 清除多选框
  1784. */
  1785. clearMoreActive() {
  1786. this.allCheckData = [];
  1787. this.$refs.pagerset.clearSelection();
  1788. },
  1789. /**
  1790. * @param {Array} 学员数据— 学员管理-所购商品
  1791. */
  1792. openGoodsListBoxs(option, int) {
  1793. this.goosListBoxs = true;
  1794. this.copyUserInfo = option;
  1795. this.$api
  1796. .inquireOrderList({ goodsType: int, userId: option.userId })
  1797. .then((res) => {
  1798. this.goodsActiveIndex = int;
  1799. this.goodsList = res.rows;
  1800. });
  1801. },
  1802. /**
  1803. * 点击商品类型切换请求新数据
  1804. */
  1805. getGoodsAboutList(int) {
  1806. this.$api
  1807. .inquireOrderList({ goodsType: int, userId: this.copyUserInfo.userId })
  1808. .then((res) => {
  1809. this.goodsActiveIndex = int;
  1810. this.goodsList = res.rows;
  1811. });
  1812. },
  1813. isShowBoxsFun(item) {
  1814. this.$api.inquireuserUpdateListsy({ userId: item.userId }).then((res) => {
  1815. this.listBoxsGET = res.rows;
  1816. this.isShowBoxs = true;
  1817. // this.$api
  1818. // .editgradestudentuserUpdate({ userId: item.userId, status: 1 })
  1819. // .then((result) => {});
  1820. });
  1821. },
  1822. /**
  1823. * 查看复购信息
  1824. */
  1825. isShowRebuy(item) {
  1826. this.$api
  1827. .inquireOrderRebuyInfo({
  1828. orderGoodsId: item.orderGoodsId,
  1829. userId: item.userId,
  1830. goodsId: item.goodsId,
  1831. })
  1832. .then((res) => {
  1833. this.rebuyInfos = res.rows;
  1834. this.isShowBoxRebuy = true;
  1835. });
  1836. },
  1837. sortMethods(a, b) {
  1838. if (a.classGradeUserGoodsVoList && b.classGradeUserGoodsVoList) {
  1839. return a.classGradeUserGoodsVoList.length >
  1840. b.classGradeUserGoodsVoList.length
  1841. ? -1
  1842. : 1;
  1843. } else {
  1844. return a.sort > b.sort ? -1 : 1;
  1845. }
  1846. },
  1847. /**
  1848. *
  1849. * @param {Number} id 商品ID
  1850. * @remards 关联班级数量触发事件
  1851. */
  1852. openClassNumDio(id, num) {
  1853. if (!num) {
  1854. this.$message.warning("暂无关联班级");
  1855. return;
  1856. }
  1857. this.$emit("openClassNum", id);
  1858. },
  1859. /**
  1860. * int: 1 节列表-关联章 2 章列表-关联模块 3 模块列表-关联课程 4 课程列表-关联商品 5 题目列表-关联试卷 6 试卷列表-关联商品 7 章卷列表-关联商品 8 模块列表-关联商品
  1861. */
  1862. jumpPages(v, int) {
  1863. if (int === 1) {
  1864. const jump = () => {
  1865. this.$router.push({
  1866. path: "/resource/videoManagement/chapterEdit",
  1867. query: {
  1868. id: v.chapterId,
  1869. },
  1870. });
  1871. };
  1872. const statusPage = this.$store.state.tagsView.visitedViews.some(
  1873. (item) => {
  1874. return item.name == "ChapterEdit";
  1875. }
  1876. );
  1877. if (statusPage) {
  1878. this.$store
  1879. .dispatch("tagsView/delCachedView", {
  1880. name: "ChapterEdit",
  1881. })
  1882. .then((res) => {
  1883. jump();
  1884. });
  1885. } else {
  1886. jump();
  1887. }
  1888. }
  1889. if (int === 2) {
  1890. const jump = () => {
  1891. this.$router.push({
  1892. path: "/resource/videoManagement/moduleManagementEdit",
  1893. query: {
  1894. id: v.moduleId,
  1895. },
  1896. });
  1897. };
  1898. const statusPage = this.$store.state.tagsView.visitedViews.some(
  1899. (item) => {
  1900. return item.name == "ModuleManagementEdit";
  1901. }
  1902. );
  1903. if (statusPage) {
  1904. this.$store
  1905. .dispatch("tagsView/delCachedView", {
  1906. name: "ModuleManagementEdit",
  1907. })
  1908. .then((res) => {
  1909. jump();
  1910. });
  1911. } else {
  1912. jump();
  1913. }
  1914. }
  1915. if (int === 3) {
  1916. const jump = () => {
  1917. this.$router.push({
  1918. path: "/resource/videoManagement/editCourse",
  1919. query: {
  1920. id: v.courseId,
  1921. },
  1922. });
  1923. };
  1924. const statusPage = this.$store.state.tagsView.visitedViews.some(
  1925. (item) => {
  1926. return item.name == "EditCourse";
  1927. }
  1928. );
  1929. if (statusPage) {
  1930. this.$store
  1931. .dispatch("tagsView/delCachedView", {
  1932. name: "EditCourse",
  1933. })
  1934. .then((res) => {
  1935. jump();
  1936. });
  1937. } else {
  1938. jump();
  1939. }
  1940. }
  1941. if (int === 4) {
  1942. const jump = () => {
  1943. this.$router.push({
  1944. path: "/Marketing/goods/commodityManageMentEdit",
  1945. query: {
  1946. id: v.goodsId,
  1947. },
  1948. });
  1949. };
  1950. const statusPage = this.$store.state.tagsView.visitedViews.some(
  1951. (item) => {
  1952. return item.name == "CommodityManageMentEdit";
  1953. }
  1954. );
  1955. if (statusPage) {
  1956. this.$store
  1957. .dispatch("tagsView/delCachedView", {
  1958. name: "CommodityManageMentEdit",
  1959. })
  1960. .then((res) => {
  1961. jump();
  1962. });
  1963. } else {
  1964. jump();
  1965. }
  1966. }
  1967. if (int === 5) {
  1968. const jump = () => {
  1969. this.$router.push({
  1970. path: "/resource/bankManagement/editPaper",
  1971. query: {
  1972. id: v.examId,
  1973. },
  1974. });
  1975. };
  1976. const statusPage = this.$store.state.tagsView.visitedViews.some(
  1977. (item) => {
  1978. return item.name == "EditPaper";
  1979. }
  1980. );
  1981. if (statusPage) {
  1982. this.$store
  1983. .dispatch("tagsView/delCachedView", {
  1984. name: "EditPaper",
  1985. })
  1986. .then((res) => {
  1987. jump();
  1988. });
  1989. } else {
  1990. jump();
  1991. }
  1992. }
  1993. if (int === 6) {
  1994. const jump = () => {
  1995. this.$router.push({
  1996. path: "/Marketing/goods/commodityManageMentEdit",
  1997. query: {
  1998. id: v.goodsId,
  1999. },
  2000. });
  2001. };
  2002. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2003. (item) => {
  2004. return item.name == "CommodityManageMentEdit";
  2005. }
  2006. );
  2007. if (statusPage) {
  2008. this.$store
  2009. .dispatch("tagsView/delCachedView", {
  2010. name: "CommodityManageMentEdit",
  2011. })
  2012. .then((res) => {
  2013. jump();
  2014. });
  2015. } else {
  2016. jump();
  2017. }
  2018. }
  2019. if (int === 7) {
  2020. const jump = () => {
  2021. this.$router.push({
  2022. path: "/Marketing/goods/commodityManageMentEdit",
  2023. query: {
  2024. id: v.goodsId,
  2025. },
  2026. });
  2027. };
  2028. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2029. (item) => {
  2030. return item.name == "CommodityManageMentEdit";
  2031. }
  2032. );
  2033. if (statusPage) {
  2034. this.$store
  2035. .dispatch("tagsView/delCachedView", {
  2036. name: "CommodityManageMentEdit",
  2037. })
  2038. .then((res) => {
  2039. jump();
  2040. });
  2041. } else {
  2042. jump();
  2043. }
  2044. }
  2045. if (int === 8) {
  2046. const jump = () => {
  2047. this.$router.push({
  2048. path: "/Marketing/goods/commodityManageMentEdit",
  2049. query: {
  2050. id: v.goodsId,
  2051. },
  2052. });
  2053. };
  2054. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2055. (item) => {
  2056. return item.name == "CommodityManageMentEdit";
  2057. }
  2058. );
  2059. if (statusPage) {
  2060. this.$store
  2061. .dispatch("tagsView/delCachedView", {
  2062. name: "CommodityManageMentEdit",
  2063. })
  2064. .then((res) => {
  2065. jump();
  2066. });
  2067. } else {
  2068. jump();
  2069. }
  2070. }
  2071. },
  2072. jumpClass(v) {
  2073. const jump = () => {
  2074. this.$router.push({
  2075. path: "/education/classManageMent/studentMenu",
  2076. query: {
  2077. id: v.gradeId,
  2078. goodsId: v.id,
  2079. },
  2080. });
  2081. };
  2082. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2083. (item) => {
  2084. return item.name == "StudentMenu";
  2085. }
  2086. );
  2087. if (statusPage) {
  2088. this.$store
  2089. .dispatch("tagsView/delCachedView", {
  2090. name: "StudentMenu",
  2091. })
  2092. .then((res) => {
  2093. jump();
  2094. });
  2095. } else {
  2096. jump();
  2097. }
  2098. },
  2099. getSimpleText(html) {
  2100. var re1 = new RegExp("<.+?>", "g"); //匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
  2101. var msg = html.replace(re1, ""); //执行替换成空字符
  2102. return msg;
  2103. },
  2104. //树形图关闭
  2105. closes() {
  2106. this.dialogVisible = false;
  2107. },
  2108. activesBoxszing(ids) {
  2109. this.$api.inquireCoursemenuListS({ courseId: ids }).then((res) => {
  2110. res.rows.forEach((item) => {
  2111. item.TypeId = item.type + "-" + item.menuId;
  2112. });
  2113. this.treeDatas = res.rows;
  2114. this.dialogVisible = true;
  2115. });
  2116. },
  2117. loadNode(node, resolve) {
  2118. if (node.level === 0) {
  2119. this.treeDatas.forEach((item) => {
  2120. if (item.type === 1) {
  2121. item.hasChildren = true;
  2122. }
  2123. if (item.type === 2) {
  2124. item.hasChildren = true;
  2125. }
  2126. if (item.type === 3) {
  2127. item.hasChildren = false;
  2128. }
  2129. });
  2130. return resolve(this.treeDatas);
  2131. } else {
  2132. if (node.data.type === 1) {
  2133. this.$api
  2134. .inquireCourseListmodulechapter(node.data.menuId)
  2135. .then((res) => {
  2136. res.data.forEach((item) => {
  2137. item.TypeId = 2 + "-" + item.chapterId;
  2138. item.hasChildren = true;
  2139. item.menuId = item.chapterId;
  2140. item.type = 2;
  2141. });
  2142. return resolve(res.data);
  2143. });
  2144. }
  2145. if (node.data.type === 2) {
  2146. this.$api
  2147. .inquireCoursechaptersectionlist(node.data.menuId)
  2148. .then((res) => {
  2149. res.data.forEach((item) => {
  2150. item.TypeId = 3 + "-" + item.sectionId;
  2151. item.type = 3;
  2152. });
  2153. return resolve(res.data);
  2154. });
  2155. }
  2156. if (node.data.type === 3) {
  2157. return resolve([]);
  2158. }
  2159. }
  2160. },
  2161. diavios(ids) {
  2162. this.$api.obtainCourseSgoodsId(ids).then((res) => {
  2163. res.rows.forEach((item) => {
  2164. item.TypeId = "0-" + item.courseId;
  2165. item.type = 0;
  2166. item.hasChildren = true;
  2167. });
  2168. this.treeDatas1 = res.rows;
  2169. this.diaviosOpen = true;
  2170. });
  2171. },
  2172. loadNode1(node, resolve) {
  2173. if (node.level === 0) {
  2174. return resolve(this.treeDatas1);
  2175. } else {
  2176. if (node.data.type === 0) {
  2177. this.$api
  2178. .inquireCoursemenuListS({ courseId: node.data.courseId })
  2179. .then((res) => {
  2180. res.rows.forEach((item) => {
  2181. item.TypeId = 1 + "-" + item.menuId;
  2182. item.hasChildren = item.type === 3 ? false : true;
  2183. item.menuId = item.menuId;
  2184. });
  2185. return resolve(res.rows);
  2186. });
  2187. }
  2188. if (node.data.type === 1) {
  2189. this.$api
  2190. .inquireCourseListmodulechapter(node.data.menuId)
  2191. .then((res) => {
  2192. res.data.forEach((item) => {
  2193. item.TypeId = 2 + "-" + item.chapterId;
  2194. item.hasChildren = true;
  2195. item.menuId = item.chapterId;
  2196. item.type = 2;
  2197. });
  2198. return resolve(res.data);
  2199. });
  2200. }
  2201. if (node.data.type === 2) {
  2202. this.$api
  2203. .inquireCoursechaptersectionlist(node.data.menuId)
  2204. .then((res) => {
  2205. res.data.forEach((item) => {
  2206. item.TypeId = 3 + "-" + item.sectionId;
  2207. item.type = 3;
  2208. });
  2209. return resolve(res.data);
  2210. });
  2211. }
  2212. if (node.data.type === 3) {
  2213. return resolve([]);
  2214. }
  2215. }
  2216. },
  2217. diaviosTK(ids) {
  2218. this.$api.inquireGoodsbanklist({ goodsId: ids }).then((res) => {
  2219. res.data.forEach((item) => {
  2220. item.TypeId = item.type + "-" + item.majorId;
  2221. item.hasChildren = item.type === 3 ? false : true;
  2222. });
  2223. this.treeDatas2 = res.data;
  2224. this.diaviosTKOpen = true;
  2225. });
  2226. },
  2227. loadNode2(node, resolve) {
  2228. if (node.level === 0) {
  2229. return resolve(this.treeDatas2);
  2230. } else {
  2231. if (node.data.type === 1) {
  2232. this.$api
  2233. .inquireBankchapterModule({ moduleExamId: node.data.majorId })
  2234. .then((res) => {
  2235. res.data.forEach((item) => {
  2236. item.TypeId = 2 + "-" + item.chapterExamId;
  2237. item.menuId = item.chapterExamId;
  2238. item.type = 2;
  2239. });
  2240. return resolve(res.data);
  2241. });
  2242. }
  2243. if (node.data.type === 2) {
  2244. this.$api
  2245. .inquirebankchapterexamList({
  2246. chapterExamId: node.data.majorId,
  2247. })
  2248. .then((res) => {
  2249. res.data.forEach((item) => {
  2250. item.TypeId = 3 + "-" + item.examId;
  2251. item.type = 3;
  2252. });
  2253. return resolve(res.data);
  2254. });
  2255. }
  2256. if (node.data.type === 3) {
  2257. return resolve([]);
  2258. }
  2259. }
  2260. },
  2261. timeStyle(column) {
  2262. if (column.columnIndex === 0 && this.navText.firstColLeft) {
  2263. return "text-align:left!important; padding-left: 40px;";
  2264. }
  2265. },
  2266. //初始化
  2267. initTR() {
  2268. this.cities = [];
  2269. this.checkedCities = [];
  2270. this.checkAll = true;
  2271. this.isIndeterminate = false;
  2272. this.tableSet.forEach((item, index) => {
  2273. this.cities.push(item.label);
  2274. if (item.hidden) {
  2275. this.checkedCities.push(item.label);
  2276. }
  2277. });
  2278. this.tableSet = [];
  2279. this.$nextTick(() => {
  2280. this.tableSet = JSON.parse(this.inittableSet);
  2281. });
  2282. if (this.checkedCities.length === 0) {
  2283. this.isIndeterminate = false;
  2284. } else if (this.checkedCities.length === this.cities.length) {
  2285. this.isIndeterminate = false;
  2286. this.checkAll = true;
  2287. } else {
  2288. this.isIndeterminate = true;
  2289. this.checkAll = false;
  2290. }
  2291. },
  2292. //自定义列全选按钮触发
  2293. handleCheckAllChange(val) {
  2294. this.checkedCities = val ? this.cities : [];
  2295. this.isIndeterminate = false;
  2296. if (val) {
  2297. this.tableSet = [];
  2298. this.$nextTick(() => {
  2299. this.tableSet = JSON.parse(this.inittableSet);
  2300. });
  2301. } else {
  2302. this.tableSet.forEach((item, index) => {
  2303. item.hidden = false;
  2304. });
  2305. }
  2306. },
  2307. // 勾选自定义列子选项
  2308. handleCheckedCitiesChange(value) {
  2309. var copyTable = JSON.parse(JSON.stringify(this.tableSet));
  2310. let checkedCount = value.length;
  2311. this.checkAll = checkedCount === this.cities.length;
  2312. this.isIndeterminate =
  2313. checkedCount > 0 && checkedCount < this.cities.length;
  2314. this.tableSet = [];
  2315. this.$nextTick(() => {
  2316. this.tableSet = copyTable;
  2317. });
  2318. },
  2319. checkboxChange(v, e) {
  2320. var copyTable = JSON.parse(JSON.stringify(this.tableSet));
  2321. copyTable.forEach((item) => {
  2322. if (item.label === v) {
  2323. item.hidden = e;
  2324. }
  2325. });
  2326. this.tableSet = [];
  2327. this.$nextTick(() => {
  2328. this.tableSet = copyTable;
  2329. });
  2330. },
  2331. //自定义列重置
  2332. initVue() {
  2333. // this.$emit("initTableset");
  2334. this.tableSet = JSON.parse(this.inittableSet);
  2335. this.initTR();
  2336. },
  2337. // 下移
  2338. downMove(option, index) {
  2339. if (index !== this.tableSet.length - 1) {
  2340. this.tableSet[index] = this.tableSet.splice(
  2341. index + 1,
  2342. 1,
  2343. this.tableSet[index]
  2344. )[0];
  2345. this.cities[index] = this.cities.splice(
  2346. index + 1,
  2347. 1,
  2348. this.cities[index]
  2349. )[0];
  2350. } else {
  2351. this.tableSet.unshift(this.tableSet.splice(index, 1)[0]);
  2352. this.cities.unshift(this.cities.splice(index, 1)[0]);
  2353. }
  2354. var copyTable = JSON.parse(JSON.stringify(this.tableSet));
  2355. this.tableSet = [];
  2356. this.$nextTick(() => {
  2357. this.tableSet = copyTable;
  2358. });
  2359. },
  2360. // 上移
  2361. upMove(option, index) {
  2362. if (index != 0) {
  2363. this.tableSet[index] = this.tableSet.splice(
  2364. index - 1,
  2365. 1,
  2366. this.tableSet[index]
  2367. )[0];
  2368. this.cities[index] = this.cities.splice(
  2369. index - 1,
  2370. 1,
  2371. this.cities[index]
  2372. )[0];
  2373. } else {
  2374. this.tableSet.push(this.tableSet.shift());
  2375. this.cities.push(this.cities.shift());
  2376. }
  2377. var copyTable = JSON.parse(JSON.stringify(this.tableSet));
  2378. this.tableSet = [];
  2379. this.$nextTick(() => {
  2380. this.tableSet = copyTable;
  2381. });
  2382. },
  2383. //跳转页面
  2384. jumpPage(options) {
  2385. const jump = () => {
  2386. this.$router.push({
  2387. path: "dictData",
  2388. query: {
  2389. dictId: options.dictId,
  2390. dictType: options.dictType,
  2391. },
  2392. });
  2393. };
  2394. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2395. (item) => {
  2396. return item.name == "DictData";
  2397. }
  2398. );
  2399. if (statusPage) {
  2400. this.$store
  2401. .dispatch("tagsView/delCachedView", {
  2402. name: "DictData",
  2403. })
  2404. .then((res) => {
  2405. jump();
  2406. });
  2407. } else {
  2408. jump();
  2409. }
  2410. },
  2411. //跳转页面
  2412. jumpPageLabel(options) {
  2413. const jump = () => {
  2414. this.$router.push({
  2415. path: "labelInfos",
  2416. query: {
  2417. id: options.id,
  2418. },
  2419. });
  2420. };
  2421. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2422. (item) => {
  2423. return item.name == "LabelInfos";
  2424. }
  2425. );
  2426. if (statusPage) {
  2427. this.$store
  2428. .dispatch("tagsView/delCachedView", {
  2429. name: "LabelInfos",
  2430. })
  2431. .then((res) => {
  2432. jump();
  2433. });
  2434. } else {
  2435. jump();
  2436. }
  2437. }, //跳转页面
  2438. jumpPageLabelProfess(options) {
  2439. const jump = () => {
  2440. this.$router.push({
  2441. path: "labelInfos",
  2442. query: {
  2443. id: options.labelId,
  2444. },
  2445. });
  2446. };
  2447. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2448. (item) => {
  2449. return item.name == "LabelInfos";
  2450. }
  2451. );
  2452. if (statusPage) {
  2453. this.$store
  2454. .dispatch("tagsView/delCachedView", {
  2455. name: "LabelInfos",
  2456. })
  2457. .then((res) => {
  2458. jump();
  2459. });
  2460. } else {
  2461. jump();
  2462. }
  2463. },
  2464. jumpinfoJump(options) {
  2465. const jump = () => {
  2466. this.$router.push({
  2467. path: "beneficiaryInfos",
  2468. query: {
  2469. id: options.payeeId,
  2470. },
  2471. });
  2472. };
  2473. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2474. (item) => {
  2475. return item.name == "BeneficiaryInfos";
  2476. }
  2477. );
  2478. if (statusPage) {
  2479. this.$store
  2480. .dispatch("tagsView/delCachedView", {
  2481. name: "BeneficiaryInfos",
  2482. })
  2483. .then((res) => {
  2484. jump();
  2485. });
  2486. } else {
  2487. jump();
  2488. }
  2489. },
  2490. //新增按钮
  2491. addClick() {
  2492. this.$emit("addClick");
  2493. },
  2494. //将选中值传回调用组件
  2495. backFather() {
  2496. this.$emit("emitData", this.allCheckData);
  2497. },
  2498. edit() {},
  2499. selectAll(value) {
  2500. this.allCheckData = value;
  2501. },
  2502. select(value) {
  2503. this.allCheckData = value;
  2504. },
  2505. load(tree, treeNode, resolve) {
  2506. this.$emit("load", tree, treeNode, resolve);
  2507. },
  2508. editInfo(option, int) {
  2509. if (int === 3) {
  2510. this.$emit("aboutGoods", option);
  2511. } else {
  2512. this.$emit("editInfo", option);
  2513. }
  2514. },
  2515. jumpPeolpe(item, type) {
  2516. if (type === 1) {
  2517. const jump = () => {
  2518. this.$router.push({
  2519. path: "applicationData",
  2520. query: {
  2521. id: item.applyId,
  2522. type: type,
  2523. },
  2524. });
  2525. };
  2526. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2527. (item) => {
  2528. return item.name == "ApplicationData";
  2529. }
  2530. );
  2531. if (statusPage) {
  2532. this.$store
  2533. .dispatch("tagsView/delCachedView", {
  2534. name: "ApplicationData",
  2535. })
  2536. .then((res) => {
  2537. jump();
  2538. });
  2539. } else {
  2540. jump();
  2541. }
  2542. }
  2543. if (type === 2) {
  2544. const jump = () => {
  2545. this.$router.push({
  2546. path: "applicationData",
  2547. query: {
  2548. id: item.beforeId,
  2549. type: type,
  2550. },
  2551. });
  2552. };
  2553. const statusPage = this.$store.state.tagsView.visitedViews.some(
  2554. (item) => {
  2555. return item.name == "ApplicationData";
  2556. }
  2557. );
  2558. if (statusPage) {
  2559. this.$store
  2560. .dispatch("tagsView/delCachedView", {
  2561. name: "ApplicationData",
  2562. })
  2563. .then((res) => {
  2564. jump();
  2565. });
  2566. } else {
  2567. jump();
  2568. }
  2569. }
  2570. },
  2571. getxq(option) {
  2572. this.$emit("getxq", option.userId);
  2573. },
  2574. openVideo(url) {
  2575. this.videoUrls = url;
  2576. this.diaBox = true;
  2577. },
  2578. closeBeforefs() {
  2579. this.diaBox = false;
  2580. },
  2581. },
  2582. };
  2583. </script>
  2584. <style lang="less">
  2585. .el-table .cell.el-tooltip {
  2586. transition: all 0.3s;
  2587. }
  2588. .max-heightStyles {
  2589. max-height: 500px;
  2590. overflow-y: auto;
  2591. }
  2592. .overSty {
  2593. white-space: nowrap;
  2594. overflow-x: auto;
  2595. &::-webkit-scrollbar {
  2596. width: 14px;
  2597. height: 14px;
  2598. }
  2599. &::-webkit-scrollbar-track,
  2600. &::-webkit-scrollbar-thumb {
  2601. border-radius: 999px;
  2602. border: 5px solid transparent;
  2603. }
  2604. &::-webkit-scrollbar-track {
  2605. box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2) inset;
  2606. }
  2607. &::-webkit-scrollbar-thumb {
  2608. min-height: 20px;
  2609. background-clip: content-box;
  2610. box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2) inset;
  2611. }
  2612. &::-webkit-scrollbar-corner {
  2613. background: transparent;
  2614. }
  2615. }
  2616. .slotPopper {
  2617. padding: 0px !important;
  2618. }
  2619. </style>
  2620. <style lang="less" scoped>
  2621. #tableList {
  2622. padding: 0px 16px 16px;
  2623. border-radius: 8px;
  2624. box-shadow: 0px 0px 9px 1px rgba(28, 41, 90, 0.1);
  2625. background: #ffffff;
  2626. .headerNavTool {
  2627. height: 72px;
  2628. display: flex;
  2629. justify-content: space-between;
  2630. align-items: center;
  2631. .rightBtnBox {
  2632. display: flex;
  2633. align-items: center;
  2634. }
  2635. }
  2636. }
  2637. .goodsListStyle {
  2638. cursor: pointer;
  2639. color: blue;
  2640. }
  2641. .popoverDis {
  2642. display: flex;
  2643. flex-direction: column;
  2644. align-items: flex-start;
  2645. font-size: 14px;
  2646. .checkboxHeader {
  2647. height: 40px;
  2648. display: flex;
  2649. align-items: center;
  2650. justify-content: space-between;
  2651. padding-left: 13px;
  2652. padding-right: 15px;
  2653. width: 100%;
  2654. .initbtns {
  2655. color: #47a6ff;
  2656. cursor: pointer;
  2657. }
  2658. }
  2659. .checkboxGroup {
  2660. display: flex;
  2661. flex-direction: column;
  2662. width: 100%;
  2663. .checkboxchild {
  2664. width: 100%;
  2665. justify-content: space-between;
  2666. height: 40px;
  2667. display: flex;
  2668. align-items: center;
  2669. padding: 0px 15px 0px 13px;
  2670. transition: all 0.4s;
  2671. &:hover {
  2672. background-color: #ecf5ff;
  2673. }
  2674. &:hover .icon-right {
  2675. display: flex;
  2676. }
  2677. .icon-right {
  2678. display: flex;
  2679. align-items: center;
  2680. width: 30px;
  2681. height: 30px;
  2682. color: #666;
  2683. font-size: 14px;
  2684. display: none;
  2685. i {
  2686. cursor: pointer;
  2687. margin: 0px 3px;
  2688. &:hover {
  2689. color: #47a6ff;
  2690. }
  2691. }
  2692. }
  2693. }
  2694. }
  2695. }
  2696. /deep/.el-checkbox__input.is-checked + .el-checkbox__label {
  2697. color: #666;
  2698. }
  2699. .imgboxsq {
  2700. margin: 0 auto;
  2701. height: 60px;
  2702. max-height: 60px;
  2703. .el_images {
  2704. /deep/.el-image__inner {
  2705. width: auto;
  2706. }
  2707. }
  2708. }
  2709. .imgHover {
  2710. width: 100%;
  2711. height: 100%;
  2712. cursor: pointer;
  2713. }
  2714. .cvideo {
  2715. transition: all 0.2s;
  2716. color: #333;
  2717. cursor: pointer;
  2718. font-size: 30px;
  2719. }
  2720. .cvideo:hover {
  2721. color: #47a6ff;
  2722. }
  2723. .editInfoSty {
  2724. cursor: pointer;
  2725. color: blue;
  2726. }
  2727. .ulAuto {
  2728. display: flex;
  2729. justify-content: center;
  2730. align-items: center;
  2731. & > ul {
  2732. margin: 0px;
  2733. }
  2734. }
  2735. .ulAutos {
  2736. display: flex;
  2737. align-items: center;
  2738. justify-content: center;
  2739. }
  2740. .el-popover > ul {
  2741. margin: 0px;
  2742. }
  2743. .dis_sdt {
  2744. display: flex;
  2745. align-items: flex-end;
  2746. ul {
  2747. margin: 0px;
  2748. li {
  2749. text-align: left;
  2750. }
  2751. }
  2752. }
  2753. .jumpClass {
  2754. color: #333;
  2755. cursor: pointer;
  2756. }
  2757. .jumpStys {
  2758. color: blue;
  2759. cursor: pointer;
  2760. }
  2761. .zdyBoxStyle {
  2762. display: flex;
  2763. align-items: center;
  2764. justify-content: center;
  2765. .zdyBtnstyle {
  2766. padding: 4px 16px;
  2767. border-radius: 4px;
  2768. border: 1px solid #666;
  2769. color: #666;
  2770. cursor: pointer;
  2771. }
  2772. .goodsActiveStyle {
  2773. color: #fff;
  2774. background-color: #409eff;
  2775. border-color: #409eff;
  2776. }
  2777. }
  2778. .liSYTS {
  2779. padding: 10px;
  2780. margin-bottom: 16px;
  2781. background: #eee;
  2782. width: 96%;
  2783. }
  2784. .overBoxs {
  2785. max-height: 500px;
  2786. overflow-y: auto;
  2787. }
  2788. </style>