tableList.vue 87 KB

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