You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1455 lines
44 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. <template>
  2. <div style="padding:10px;">
  3. <!-- 搜索栏 -->
  4. <div class="search">
  5. <el-form :inline="true">
  6. <el-form-item label="剧本标题:" style="margin-right:50px;">
  7. <el-input
  8. v-model="queryParams.query.title"
  9. style="height:30px;"
  10. placeholder="请输入剧本标题"
  11. />
  12. </el-form-item>
  13. <el-form-item label="工作室:" style="margin-right:50px;">
  14. <el-input
  15. v-model="queryParams.query.studioName"
  16. style="height:30px;"
  17. placeholder="请输入工作室"
  18. />
  19. </el-form-item>
  20. <el-form-item label="标签:" style="margin-right:50px;">
  21. <el-input
  22. v-model="queryParams.query.labelName"
  23. style="height:30px;"
  24. placeholder="请输入标签"
  25. />
  26. </el-form-item>
  27. </el-form>
  28. <div class="search-button">
  29. <el-button
  30. size="medium"
  31. type="primary"
  32. style="height:36px;width:100px;"
  33. @click="search"
  34. >搜索</el-button
  35. >
  36. <el-button
  37. size="medium"
  38. style="margin-left:20px;height:36px;width:100px;"
  39. @click="refresh"
  40. >重置</el-button
  41. >
  42. </div>
  43. </div>
  44. <div class="add-button">
  45. <el-button
  46. size="medium"
  47. type="primary"
  48. style="height:36px;width:100px;"
  49. @click="handleAdd"
  50. >新建</el-button
  51. >
  52. </div>
  53. <!-- 列表 -->
  54. <div class="content">
  55. <el-table
  56. v-loading="loading"
  57. ref="singleTable"
  58. :data="tableData"
  59. border
  60. style="width: 100%"
  61. >
  62. <el-table-column align="center" type="index" label="序号" width="50" />
  63. <el-table-column align="center" property="title" label="剧本标题" />
  64. <el-table-column align="center" property="studioName" label="工作室" />
  65. <el-table-column align="center" property="labelName" label="标签" />
  66. <el-table-column
  67. align="center"
  68. property="createTime"
  69. label="创建时间"
  70. />
  71. <el-table-column align="center" label="操作">
  72. <template slot-scope="scope">
  73. <el-button type="text" size="mini" @click="handleView(scope.row)"
  74. >查看</el-button
  75. >
  76. <el-button type="text" size="mini" @click="handleEdit(scope.row)"
  77. >编辑</el-button
  78. >
  79. <el-button type="text" size="mini" @click="handleTips(scope.row)"
  80. >Tips维护</el-button
  81. >
  82. <el-button type="text" size="mini" @click="hanDel(scope.row)"
  83. >删除</el-button
  84. >
  85. </template>
  86. </el-table-column>
  87. </el-table>
  88. <pagination
  89. v-show="total > 0"
  90. :total="total"
  91. :page.sync="queryParams.pageNum"
  92. :limit.sync="queryParams.pageSize"
  93. @pagination="queryList"
  94. />
  95. </div>
  96. <!-- 新增表单 -->
  97. <el-dialog :title="dialog.title" :visible.sync="dialog.Visible" width="1000px">
  98. <el-form
  99. ref="ruleForm"
  100. :model="ruleForm"
  101. :rules="rules"
  102. :inline="true"
  103. label-width="100px"
  104. class="demo-ruleForm"
  105. >
  106. <h3 class="form-title">基本信息</h3>
  107. <el-form-item label="剧本标题:" prop="title" style="width:45%">
  108. <el-input :disabled='disabled' v-model="ruleForm.title" style="width:300px;" />
  109. </el-form-item>
  110. <el-form-item label="工作室:" prop="studioName" style="width:45%">
  111. <el-input :disabled='disabled' v-model="ruleForm.studioName" style="width:300px;" />
  112. </el-form-item>
  113. <el-form-item label="标签:" prop="labelName" style="width:100%">
  114. <el-input :disabled='disabled' v-model="ruleForm.labelName" style="width:300px;" />
  115. </el-form-item>
  116. <h3 class="form-title">剧本图片</h3>
  117. <el-form-item label="封面" prop="cover">
  118. <el-upload
  119. class="avatar-uploader"
  120. action
  121. :show-file-list="false"
  122. :auto-upload="false"
  123. :on-change="uploadImg"
  124. :on-success="handleAvatar"
  125. :before-upload="beforeAvatarUpload"
  126. >
  127. <img v-if="ruleForm.cover" :src="ruleForm.cover" class="avatar" />
  128. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  129. </el-upload>
  130. </el-form-item>
  131. <el-form-item label="其它图片" style="width:100%">
  132. <el-upload
  133. action
  134. class="avatar-uploader"
  135. list-type="picture-card"
  136. :auto-upload="false"
  137. :on-change="changeImgs"
  138. :on-success="handleAvatarSuccess"
  139. :before-upload="beforeAvatarUpload"
  140. >
  141. <i class="el-icon-plus" />
  142. </el-upload>
  143. <el-dialog :visible.sync="dialogVisible">
  144. <img width="100%" :src="dialogImageUrl" alt="" />
  145. </el-dialog>
  146. </el-form-item>
  147. <h3 class="form-title">剧本简介</h3>
  148. <el-form-item label="简介" style="width:100%">
  149. <!-- <el-input
  150. v-model="ruleForm.desc"
  151. style="width:500px"
  152. rows="10"
  153. type="textarea"
  154. /> -->
  155. <Tinymce
  156. ref="editor"
  157. v-model="ruleForm.introduction"
  158. :height="400"
  159. :width="700"
  160. />
  161. </el-form-item>
  162. <h3 class="form-title">开本流程</h3>
  163. <el-table
  164. v-if="type != 'view'"
  165. :header-cell-style="{ background: '#eee', color: '#606266' }"
  166. :data="ruleForm.processesList"
  167. border
  168. style="width: 90%;margin-left:30px;"
  169. >
  170. <el-table-column
  171. align="center"
  172. type="index"
  173. label="序号"
  174. width="50"
  175. />
  176. <el-table-column align="center" property="title" label="流程标题">
  177. <template slot-scope="scope">
  178. <el-input v-model="ruleForm.processesList[scope.$index].title" />
  179. </template>
  180. </el-table-column>
  181. <el-table-column align="center" property="code" label="流程编号">
  182. <template slot-scope="scope">
  183. <el-input v-model="ruleForm.processesList[scope.$index].code" />
  184. </template>
  185. </el-table-column>
  186. <el-table-column align="center" property="introduction" label="简介">
  187. <template slot-scope="scope">
  188. <el-input
  189. v-model="ruleForm.processesList[scope.$index].introduction"
  190. />
  191. </template>
  192. </el-table-column>
  193. <el-table-column align="center" property="sort" label="排序">
  194. <template slot-scope="scope">
  195. <el-input v-model="ruleForm.processesList[scope.$index].sort" />
  196. </template>
  197. </el-table-column>
  198. <el-table-column align="center" label="操作">
  199. <template slot-scope="scope">
  200. <el-button type="text" size="mini" @click="Del(scope.$index)"
  201. >删除</el-button
  202. >
  203. </template>
  204. </el-table-column>
  205. </el-table>
  206. <el-table
  207. v-if="type == 'view'"
  208. :header-cell-style="{ background: '#eee', color: '#606266' }"
  209. :data="ruleForm.processesList"
  210. border
  211. style="width: 90%;margin-left:30px;"
  212. >
  213. <el-table-column
  214. align="center"
  215. type="index"
  216. label="序号"
  217. width="50"
  218. />
  219. <el-table-column align="center" property="title" label="流程标题">
  220. </el-table-column>
  221. <el-table-column align="center" property="code" label="流程编号">
  222. </el-table-column>
  223. <el-table-column align="center" property="introduction" label="简介">
  224. </el-table-column>
  225. <el-table-column align="center" property="sort" label="排序">
  226. </el-table-column>
  227. </el-table>
  228. <div style="margin-top:15px;" v-if="type != 'view'">
  229. <el-button
  230. type="success"
  231. style="height:36px;width:100px;margin-left:30px;color:#fff;background:#33DB99"
  232. @click="handleAddK"
  233. >新增</el-button
  234. >
  235. </div>
  236. <h3 class="form-title">剧本资源</h3>
  237. <el-form-item label="图片" prop="imgUrls" style="width: 100%;">
  238. <el-radio-group :disabled='disabled' v-model="radioImg" @change="changeImg">
  239. <el-radio :label="1">本地上传</el-radio>
  240. <el-radio :label="2">网易云地址</el-radio>
  241. </el-radio-group>
  242. </el-form-item>
  243. <el-form-item v-if="radioImg == 1">
  244. <div v-for="(item, i) in imgData" :key="i" class="imgdata">
  245. <el-image
  246. style="width: 146px; height: 146px"
  247. :src="item.url"
  248. fit="fill"
  249. >
  250. </el-image>
  251. <div class="imgdialog">
  252. <p>
  253. <i
  254. class="el-icon-delete"
  255. @click="deldialogimg(item, i, 'img')"
  256. style="font-size: 20px; padding-left: 30px"
  257. ></i>
  258. </p>
  259. </div>
  260. <div class="sz_container" style="text-align:center">
  261. <span>{{ item.processName }}</span>
  262. </div>
  263. <div v-if="type != 'view'" class="sz_container" style="text-align:center">
  264. <el-button size="mini" type="text" @click="setLc(item, i, 'img')"
  265. >关联流程</el-button
  266. >
  267. </div>
  268. </div>
  269. <el-upload
  270. v-if="type != 'view'"
  271. class="avatar-uploader"
  272. style="float:left;margin-left:60px"
  273. action
  274. list-type="picture-card"
  275. :show-file-list="false"
  276. :http-request="labeluploadimg"
  277. >
  278. <i class="el-icon-plus"></i>
  279. </el-upload>
  280. <el-dialog :visible.sync="dialogVisible">
  281. <img width="100%" :src="dialogImageUrl" alt="" />
  282. </el-dialog>
  283. </el-form-item>
  284. <el-form-item
  285. v-if="radioImg == 2"
  286. style="width: 100%;"
  287. class="urlTable"
  288. >
  289. <el-table
  290. v-if="type != 'view'"
  291. :data="ruleForm.radioImg"
  292. border
  293. style="width: 80%;margin-left:100px;"
  294. >
  295. <el-table-column
  296. align="center"
  297. type="index"
  298. label="序号"
  299. width="50"
  300. />
  301. <el-table-column align="center" property="date" label="资源标题">
  302. <template slot-scope="scope">
  303. <el-input v-model="ruleForm.radioImg[scope.$index].title" />
  304. </template>
  305. </el-table-column>
  306. <el-table-column align="center" property="url" label="资源URL">
  307. <template slot-scope="scope">
  308. <el-input v-model="ruleForm.radioImg[scope.$index].url" />
  309. </template>
  310. </el-table-column>
  311. <el-table-column
  312. align="center"
  313. property="processId"
  314. label="关联流程"
  315. >
  316. <template slot-scope="scope">
  317. <el-select
  318. v-model="ruleForm.radioImg[scope.$index].processId"
  319. clearable
  320. multiple
  321. @change="changePro('img')"
  322. placeholder="请选择流程"
  323. >
  324. <el-option
  325. v-for="item in ruleForm.processesList"
  326. :key="item.value"
  327. :label="item.title"
  328. :value="item.code"
  329. >
  330. </el-option>
  331. </el-select>
  332. </template>
  333. </el-table-column>
  334. <el-table-column align="center" label="操作">
  335. <template slot-scope="scope">
  336. <el-button type="text" size="mini" @click="DelImg(scope.$index)"
  337. >删除</el-button
  338. >
  339. </template>
  340. </el-table-column>
  341. </el-table>
  342. <el-table
  343. v-if="type == 'view'"
  344. :data="ruleForm.radioImg"
  345. border
  346. style="width: 80%;margin-left:100px;"
  347. >
  348. <el-table-column
  349. align="center"
  350. type="index"
  351. label="序号"
  352. width="50"
  353. />
  354. <el-table-column align="center" property="title" label="资源标题" />
  355. <el-table-column align="center" property="url" label="资源URL" />
  356. <el-table-column
  357. align="center"
  358. property="processId"
  359. label="关联流程"
  360. >
  361. <template slot-scope="scope">
  362. {{ mapForChannel(scope.row.processId) }}
  363. </template>
  364. </el-table-column>
  365. </el-table>
  366. <div style="margin-top:15px;" v-if="type != 'view'">
  367. <el-button
  368. type="success"
  369. style="height:36px;width:100px;margin-left:30px;color:#fff;background:#33DB99"
  370. @click="handleAddImg"
  371. >新增</el-button
  372. >
  373. </div>
  374. </el-form-item>
  375. <el-form-item label="音频" prop="imgUrls" style="width: 100%;">
  376. <el-radio-group :disabled='disabled' v-model="radioMusic" @change="changeMusic">
  377. <el-radio :label="1">本地上传</el-radio>
  378. <el-radio :label="2">网易云地址</el-radio>
  379. </el-radio-group>
  380. </el-form-item>
  381. <el-form-item v-if="radioMusic == 1">
  382. <div v-for="(item, i) in musicData" :key="i" class="imgdata">
  383. <el-image
  384. style="width: 146px; height: 146px"
  385. :src="item.url"
  386. fit="fill"
  387. >
  388. </el-image>
  389. <div class="imgdialog">
  390. <p>
  391. <i class="el-icon-zoom-in" style="font-size: 20px"></i>
  392. <i
  393. class="el-icon-delete"
  394. @click="deldialogimg(item, i, 'music')"
  395. style="font-size: 20px; padding-left: 30px"
  396. ></i>
  397. </p>
  398. </div>
  399. <div class="sz_container" style="text-align:center">
  400. <span>{{ item.processName }}</span>
  401. </div>
  402. <div v-if="type != 'view'" class="sz_container" style="text-align:center">
  403. <el-button
  404. size="mini"
  405. type="text"
  406. @click="setLc(item, i, 'music')"
  407. >关联流程</el-button
  408. >
  409. </div>
  410. </div>
  411. <el-upload
  412. v-if="type != 'view'"
  413. class="avatar-uploader"
  414. style="float:left;margin-left:60px"
  415. action
  416. list-type="picture-card"
  417. :show-file-list="false"
  418. :http-request="labeluploadmusic"
  419. >
  420. <i class="el-icon-plus"></i>
  421. </el-upload>
  422. <el-dialog :visible.sync="dialogVisible">
  423. <img width="100%" :src="dialogImageUrl" alt="" />
  424. </el-dialog>
  425. </el-form-item>
  426. <el-form-item
  427. v-if="radioMusic == 2"
  428. style="width: 100%;"
  429. class="urlTable"
  430. >
  431. <el-table
  432. v-if="type != 'view'"
  433. :data="ruleForm.radioMusic"
  434. border
  435. style="width: 80%;margin-left:100px;"
  436. >
  437. <el-table-column
  438. align="center"
  439. type="index"
  440. label="序号"
  441. width="50"
  442. />
  443. <el-table-column align="center" property="title" label="资源标题">
  444. <template slot-scope="scope">
  445. <el-input v-model="ruleForm.radioMusic[scope.$index].title" />
  446. </template>
  447. </el-table-column>
  448. <el-table-column align="center" property="url" label="资源URL">
  449. <template slot-scope="scope">
  450. <el-input v-model="ruleForm.radioMusic[scope.$index].url" />
  451. </template>
  452. </el-table-column>
  453. <el-table-column
  454. align="center"
  455. property="processId"
  456. label="关联流程"
  457. >
  458. <template slot-scope="scope">
  459. <el-select
  460. v-model="ruleForm.radioMusic[scope.$index].processId"
  461. clearable
  462. multiple
  463. @change="changePro('music')"
  464. placeholder="请选择流程"
  465. >
  466. <el-option
  467. v-for="item in ruleForm.processesList"
  468. :key="item.value"
  469. :label="item.title"
  470. :value="item.code"
  471. >
  472. </el-option>
  473. </el-select>
  474. </template>
  475. </el-table-column>
  476. <el-table-column align="center" label="操作">
  477. <template slot-scope="scope">
  478. <el-button
  479. type="text"
  480. size="mini"
  481. @click="DelMusic(scope.$index)"
  482. >删除</el-button
  483. >
  484. </template>
  485. </el-table-column>
  486. </el-table>
  487. <el-table
  488. v-if="type == 'view'"
  489. :data="ruleForm.radioMusic"
  490. border
  491. style="width: 80%;margin-left:100px;"
  492. >
  493. <el-table-column
  494. align="center"
  495. type="index"
  496. label="序号"
  497. width="50"
  498. />
  499. <el-table-column align="center" property="title" label="资源标题" />
  500. <el-table-column align="center" property="url" label="资源URL" />
  501. <el-table-column
  502. align="center"
  503. property="processId"
  504. label="关联流程"
  505. >
  506. <template slot-scope="scope">
  507. {{ mapForChannel(scope.row.processId) }}
  508. </template>
  509. </el-table-column>
  510. </el-table>
  511. <div style="margin-top:15px;" v-if="type != 'view'">
  512. <el-button
  513. type="success"
  514. style="height:36px;width:100px;margin-left:30px;color:#fff;background:#33DB99"
  515. @click="handleAddMusic"
  516. >新增</el-button
  517. >
  518. </div>
  519. </el-form-item>
  520. <el-form-item label="视频" prop="imgUrls" style="width: 100%;">
  521. <el-radio-group :disabled='disabled' v-model="radioVideo" @change="changeVideo">
  522. <el-radio :label="1">本地上传</el-radio>
  523. <el-radio :label="2">网易云地址</el-radio>
  524. </el-radio-group>
  525. </el-form-item>
  526. <el-form-item v-if="radioVideo == 1">
  527. <div v-for="(item, i) in videoData" :key="i" class="imgdata">
  528. <el-image
  529. style="width: 146px; height: 146px"
  530. :src="item.url"
  531. fit="fill"
  532. >
  533. </el-image>
  534. <div class="imgdialog">
  535. <p>
  536. <i class="el-icon-zoom-in" style="font-size: 20px"></i>
  537. <i
  538. class="el-icon-delete"
  539. @click="deldialogimg(item, i, 'video')"
  540. style="font-size: 20px; padding-left: 30px"
  541. ></i>
  542. </p>
  543. </div>
  544. <div class="sz_container" style="text-align:center">
  545. <span>{{ item.processName }}</span>
  546. </div>
  547. <div v-if="type != 'view'" class="sz_container" style="text-align:center">
  548. <el-button
  549. size="mini"
  550. type="text"
  551. @click="setLc(item, i, 'video')"
  552. >关联流程</el-button
  553. >
  554. </div>
  555. </div>
  556. <el-upload
  557. v-if="type != 'view'"
  558. class="avatar-uploader"
  559. style="float:left;margin-left:60px"
  560. action
  561. list-type="picture-card"
  562. :show-file-list="false"
  563. :http-request="labeluploadvideo"
  564. >
  565. <i class="el-icon-plus"></i>
  566. </el-upload>
  567. <el-dialog :visible.sync="dialogVisible">
  568. <img width="100%" :src="dialogImageUrl" alt="" />
  569. </el-dialog>
  570. </el-form-item>
  571. <el-form-item
  572. v-if="radioVideo == 2"
  573. style="width: 100%;"
  574. class="urlTable"
  575. >
  576. <el-table
  577. v-if="type != 'view'"
  578. :data="ruleForm.radioVideo"
  579. border
  580. style="width: 80%;margin-left:100px;"
  581. >
  582. <el-table-column
  583. align="center"
  584. type="index"
  585. label="序号"
  586. width="50"
  587. />
  588. <el-table-column align="center" property="title" label="资源标题">
  589. <template slot-scope="scope">
  590. <el-input v-model="ruleForm.radioVideo[scope.$index].title" />
  591. </template>
  592. </el-table-column>
  593. <el-table-column align="center" property="url" label="资源URL">
  594. <template slot-scope="scope">
  595. <el-input v-model="ruleForm.radioVideo[scope.$index].url" />
  596. </template>
  597. </el-table-column>
  598. <el-table-column
  599. align="center"
  600. property="processId"
  601. label="关联流程"
  602. >
  603. <template slot-scope="scope">
  604. <el-select
  605. v-model="ruleForm.radioVideo[scope.$index].processId"
  606. clearable
  607. multiple
  608. @change="changePro('video')"
  609. placeholder="请选择流程"
  610. >
  611. <el-option
  612. v-for="item in ruleForm.processesList"
  613. :key="item.value"
  614. :label="item.title"
  615. :value="item.code"
  616. >
  617. </el-option>
  618. </el-select>
  619. </template>
  620. </el-table-column>
  621. <el-table-column align="center" label="操作">
  622. <template slot-scope="scope">
  623. <el-button
  624. type="text"
  625. size="mini"
  626. @click="DelVideo(scope.$index)"
  627. >删除</el-button
  628. >
  629. </template>
  630. </el-table-column>
  631. </el-table>
  632. <el-table
  633. v-if="type == 'view'"
  634. :data="ruleForm.radioVideo"
  635. border
  636. style="width: 80%;margin-left:100px;"
  637. >
  638. <el-table-column
  639. align="center"
  640. type="index"
  641. label="序号"
  642. width="50"
  643. />
  644. <el-table-column align="center" property="title" label="资源标题" />
  645. <el-table-column align="center" property="url" label="资源URL" />
  646. <el-table-column
  647. align="center"
  648. property="processId"
  649. label="关联流程"
  650. >
  651. <template slot-scope="scope">
  652. {{ mapForChannel(scope.row.processId) }}
  653. </template>
  654. </el-table-column>
  655. </el-table>
  656. <div v-if="type != 'view'" style="margin-top:15px;">
  657. <el-button
  658. type="success"
  659. style="height:36px;width:100px;margin-left:30px;color:#fff;background:#33DB99"
  660. @click="handleAddVideo"
  661. >新增</el-button
  662. >
  663. </div>
  664. </el-form-item>
  665. <!-- <el-form-item>
  666. <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
  667. <el-button @click="resetForm('ruleForm')">重置</el-button>
  668. </el-form-item> -->
  669. </el-form>
  670. <span slot="footer" class="dialog-footer">
  671. <el-button @click="dialog.Visible = false"> </el-button>
  672. <el-button v-if="type != 'view'" type="primary" @click="subMit"
  673. > </el-button
  674. >
  675. </span>
  676. </el-dialog>
  677. <!-- 关联流程 -->
  678. <el-dialog
  679. title="关联流程"
  680. :visible.sync="process.Visible"
  681. width="30%"
  682. center
  683. >
  684. <el-form>
  685. <el-form-item label="关联流程">
  686. <el-select
  687. v-model="processId"
  688. clearable
  689. multiple
  690. placeholder="请选择流程"
  691. >
  692. <el-option
  693. v-for="item in ruleForm.processesList"
  694. :key="item.value"
  695. :label="item.title"
  696. :value="item.code"
  697. >
  698. </el-option>
  699. </el-select>
  700. </el-form-item>
  701. </el-form>
  702. <span slot="footer" class="dialog-footer">
  703. <el-button @click="process.Visible = false"> </el-button>
  704. <el-button type="primary" @click="subMitLc"> </el-button>
  705. </span>
  706. </el-dialog>
  707. </div>
  708. </template>
  709. <script>
  710. import Tinymce from "@/components/Tinymce";
  711. import {
  712. queryJbInfo,
  713. addJbInfo,
  714. updateJbInfo,
  715. queryJbDetail,
  716. deleteJbInfo,
  717. queryFindList
  718. } from "@/api/sce/sce.js";
  719. import { uploadFile, delFile } from "@/api/upload/upload.js";
  720. const baseUrl = process.env.VUE_APP_BASE_API;
  721. export default {
  722. components: { Tinymce },
  723. data() {
  724. return {
  725. baseUrl,
  726. loading: true,
  727. queryParams: {
  728. pageNum: 1,
  729. pageSize: 15,
  730. query: {
  731. title: undefined,
  732. studioName: undefined,
  733. labelName: undefined
  734. }
  735. },
  736. tableData: [],
  737. rules: {
  738. title: [{ required: true, message: "请输入标题名称", trigger: "blur" }],
  739. labelName: [
  740. { required: true, message: "请输入标签名称", trigger: "blur" }
  741. ],
  742. cover: [{ required: true, message: "请选择封面", trigger: "blur" }]
  743. },
  744. dialog: {
  745. title: "新增剧本",
  746. Visible: false
  747. },
  748. ruleForm: {
  749. processesList: [],
  750. imgUrl: "",
  751. imgUrls: [],
  752. radioImg: [],
  753. radioMusic: [],
  754. radioVideo: [],
  755. resourcesList: []
  756. },
  757. dialogVisible: false,
  758. active: "",
  759. imageUrl: "",
  760. total: 0,
  761. dialogVisible: false,
  762. dialogImageUrl: "",
  763. dataImg: [],
  764. lcData: [],
  765. radioImg: "1",
  766. radioMusic: "1",
  767. radioVideo: "1",
  768. type: "add",
  769. imgData: [],
  770. musicData: [],
  771. videoData: [],
  772. processId: [],
  773. process: {
  774. Visible: false
  775. },
  776. list: {},
  777. typeUrl: "",
  778. imgType: false,
  779. musicType: false,
  780. videoType: false,
  781. imgIndex: "",
  782. musicIdnex: "",
  783. videoIndex: "",
  784. dataList: {},
  785. disabled:false
  786. };
  787. },
  788. mounted() {
  789. this.queryList();
  790. this.queryFindList();
  791. },
  792. methods: {
  793. mapForChannel(e) {
  794. for (var i = 0; i < this.lcData.length; i++) {
  795. if (this.lcData[i].id == e) {
  796. return this.lcData[i].title;
  797. }
  798. }
  799. },
  800. ForChannel(e) {
  801. var a = e.split(",");
  802. var tmp = [];
  803. for (var i = 0; i < this.ruleForm.processesList.length; i++) {
  804. for (var s = 0; s < a.length; s++) {
  805. if (this.ruleForm.processesList[i].code == e[s]) {
  806. tmp.push(this.ruleForm.processesList[i].title);
  807. return tmp;
  808. }
  809. }
  810. }
  811. },
  812. //获取列表
  813. async queryList() {
  814. this.loading = true;
  815. try {
  816. let res = await queryJbInfo(this.queryParams);
  817. console.log(res);
  818. this.tableData = res.data.rows;
  819. this.total = res.data.total;
  820. this.loading = false;
  821. } catch (err) {
  822. console.log(err);
  823. }
  824. },
  825. //搜索
  826. search() {
  827. this.queryList();
  828. },
  829. //重置
  830. refresh() {
  831. this.queryParams = {
  832. pageNum: 1,
  833. pageSize: 15,
  834. query: {
  835. title: undefined,
  836. studioName: undefined,
  837. labelName: undefined
  838. }
  839. };
  840. this.queryList();
  841. },
  842. //跳转Tips维护
  843. handleTips(row) {
  844. this.$router.push({
  845. name: "Tips/index",
  846. query: { scenarioId: row.id, type: "sceinfo" }
  847. });
  848. },
  849. //获取流程
  850. async queryFindList() {
  851. try {
  852. let res = await queryFindList({});
  853. // console.log(res.data, "流程列表");
  854. this.lcData = res.data;
  855. } catch (err) {
  856. console.log(err);
  857. }
  858. },
  859. //获取详情
  860. async queryListDetail(id) {
  861. try {
  862. this.ruleForm = {
  863. studioName: "",
  864. title: "",
  865. labelName: "",
  866. imgUrl: "",
  867. cover: "",
  868. introduction: "",
  869. processesList: [],
  870. imgUrl: "",
  871. radioImg: [],
  872. radioMusic: [],
  873. radioVideo: [],
  874. resourcesList: []
  875. };
  876. let res = await queryJbDetail(id);
  877. console.log(res, "详情");
  878. this.ruleForm = res.data;
  879. res.data.resourcesList.map(n => {
  880. var a = [];
  881. var b = [];
  882. var c = [];
  883. if (n.mediaType == 1 && n.sourceType == 2) {
  884. a.push(n);
  885. this.ruleForm.radioImg = a.map(n => {
  886. return {
  887. mediaType: n.mediaType,
  888. sourceType: n.sourceType,
  889. title: n.title,
  890. url: n.url,
  891. processId: n.processId.split(",")
  892. };
  893. });
  894. this.radioImg = n.sourceType;
  895. } else if (n.mediaType == 1 && n.sourceType == 1) {
  896. a.push(n);
  897. var tmp = []
  898. this.imgData = a
  899. this.radioImg = n.sourceType;
  900. }
  901. if (n.mediaType == 2 && n.sourceType == 1) {
  902. b.push(n);
  903. this.musicData = b;
  904. this.radioMusic = n.sourceType;
  905. } else if (n.mediaType == 2 && n.sourceType == 2) {
  906. console.log("进来了1");
  907. b.push(n);
  908. this.ruleForm.radioMusic = b.map(n => {
  909. return {
  910. mediaType: n.mediaType,
  911. sourceType: n.sourceType,
  912. title: n.title,
  913. url: n.url,
  914. processId: n.processId.split(",")
  915. };
  916. });
  917. this.radioMusic = n.sourceType;
  918. }
  919. if (n.mediaType == 3 && n.sourceType == 1) {
  920. c.push(n);
  921. this.videoData = c;
  922. this.radioVideo = n.sourceType;
  923. } else if (n.mediaType == 3 && n.sourceType == 2) {
  924. c.push(n);
  925. this.ruleForm.radioVideo = c.map(n => {
  926. return {
  927. mediaType: n.mediaType,
  928. sourceType: n.sourceType,
  929. title: n.title,
  930. url: n.url,
  931. processId: n.processId.split(",")
  932. };
  933. });
  934. this.radioVideo = n.sourceType;
  935. }
  936. });
  937. console.log(
  938. this.ruleForm,
  939. this.musicData,
  940. this.imgData,
  941. this.videoData,
  942. "处理后详情"
  943. );
  944. } catch (err) {
  945. console.log(err);
  946. }
  947. },
  948. // 新增
  949. handleAdd() {
  950. this.ruleForm = {
  951. studioName: "",
  952. title: "",
  953. labelName: "",
  954. imgUrl: "",
  955. cover: "",
  956. introduction: "",
  957. processesList: [],
  958. imgUrl: "",
  959. radioImg: [],
  960. radioMusic: [],
  961. radioVideo: [],
  962. resourcesList: []
  963. };
  964. this.imgData = []
  965. this.musicData = []
  966. this.videoData = []
  967. this.radioMusic = 1;
  968. this.radioVideo = 1;
  969. this.radioImg = 1;
  970. this.dialog.Visible = true;
  971. this.disabled = false
  972. this.type = "add";
  973. this.dialog.title = "新增剧本";
  974. },
  975. async subMit() {
  976. console.log(this.imgType, this.musicType, this.videoType);
  977. console.log(this.radioImg, this.radioMusic, this.radioVideo);
  978. if (this.imgType == true && this.radioImg == 1) {
  979. this.$message({
  980. message: "请绑定图片相关流程",
  981. type: "error"
  982. });
  983. return false;
  984. }
  985. if (this.musicType == true && this.radioMusic == 1) {
  986. this.$message({
  987. message: "请绑定音频相关流程",
  988. type: "error"
  989. });
  990. return false;
  991. }
  992. if (this.videoType == true && this.radioVideo == 1) {
  993. this.$message({
  994. message: "请绑定视频相关流程",
  995. type: "error"
  996. });
  997. return false;
  998. }
  999. this.ruleForm.imgUrl = this.dataImg.join(",");
  1000. if (this.radioImg == 1) {
  1001. this.ruleForm.radioImg = this.imgData;
  1002. }
  1003. if (this.radioMusic == 1) {
  1004. this.ruleForm.radioMusic = this.musicData;
  1005. }
  1006. if (this.radioVideo == 1) {
  1007. this.ruleForm.radioVideo = this.videoData;
  1008. }
  1009. let data = this.ruleForm.radioImg
  1010. .concat(this.ruleForm.radioMusic)
  1011. .concat(this.ruleForm.radioVideo);
  1012. let b = this.ruleForm.processesList.map((n)=>{
  1013. if(n.title != ''){
  1014. this.ruleForm.processesList.push(n)
  1015. }
  1016. })
  1017. let list = [];
  1018. data.map(n => {
  1019. if (n.url != "") {
  1020. list.push(n);
  1021. }
  1022. });
  1023. this.ruleForm.resourcesList = list.map(n => {
  1024. return {
  1025. mediaType: n.mediaType,
  1026. sourceType: n.sourceType,
  1027. title: n.title,
  1028. url: n.url,
  1029. processId: n.processId.join(",")
  1030. };
  1031. });
  1032. console.log(this.imgData, "有变化吗");
  1033. console.log(this.ruleForm, "参数");
  1034. try {
  1035. this.$refs["ruleForm"].validate(async valid => {
  1036. if (valid) {
  1037. if (this.type == "add") {
  1038. var res = await addJbInfo(this.ruleForm);
  1039. } else if (this.type == "edit") {
  1040. var res = await updateJbInfo(this.ruleForm);
  1041. }
  1042. if (res.code == 200) {
  1043. this.$message.success("新增成功");
  1044. this.dialog.Visible = false;
  1045. this.queryList();
  1046. } else {
  1047. this.$message({
  1048. message: res.msg,
  1049. type: "error"
  1050. });
  1051. }
  1052. }
  1053. });
  1054. } catch (err) {
  1055. console.log(err);
  1056. }
  1057. },
  1058. dealRdata(attchments, keyname) {
  1059. //attchments:数组,键值
  1060. let list = [...attchments];
  1061. let result = [];
  1062. let obj = {};
  1063. for (let i = 0; i < list.length; i++) {
  1064. if (!obj[list[i][keyname]]) {
  1065. result.push(list[i]);
  1066. obj[list[i].wjDx] = true;
  1067. }
  1068. }
  1069. return result;
  1070. },
  1071. // 编辑
  1072. handleEdit(row) {
  1073. this.queryListDetail(row.id);
  1074. this.dialog.Visible = true;
  1075. this.type = "edit";
  1076. this.disabled = false
  1077. this.dialog.title = "编辑剧本";
  1078. },
  1079. // 查看
  1080. handleView(row) {
  1081. this.queryListDetail(row.id);
  1082. this.type = "view";
  1083. this.disabled = true
  1084. this.dialog.Visible = true;
  1085. },
  1086. // 删除
  1087. async hanDel(row) {
  1088. try {
  1089. await this.$confirm("此操作将永久删除该剧本,是否继续?", "提示", {
  1090. confirmButtonText: "确定",
  1091. cancelButtonText: "取消",
  1092. type: "warning"
  1093. });
  1094. let res = await deleteJbInfo(row.id);
  1095. if (res.code == 200) {
  1096. this.$message.success("删除成功");
  1097. this.queryList();
  1098. } else {
  1099. this.$message({
  1100. message: res.msg,
  1101. type: "error"
  1102. });
  1103. }
  1104. } catch (err) {
  1105. console.log(err);
  1106. }
  1107. },
  1108. handleAvatar(res, file, fileList) {
  1109. console.log(res, file, "整个");
  1110. },
  1111. handleAvatarSuccess(res, file) {
  1112. console.log(res, file, "成功了吗");
  1113. },
  1114. //上传图片
  1115. async uploadImg(file, fileList) {
  1116. try {
  1117. let formData = new FormData();
  1118. let type = file.raw.type;
  1119. formData.append("file", file.raw);
  1120. formData.append("type", type);
  1121. let res = await uploadFile(formData);
  1122. // this.ruleForm.cover = res.data.wjUrl;
  1123. this.$set(this.ruleForm, "cover", res.data.wjUrl);
  1124. console.log(this.ruleForm.cover);
  1125. } catch (err) {
  1126. console.log(err);
  1127. }
  1128. },
  1129. async changeImgs(file, fileList) {
  1130. try {
  1131. let formData = new FormData();
  1132. let type = file.raw.type;
  1133. formData.append("file", file.raw);
  1134. formData.append("type", type);
  1135. let res = await uploadFile(formData);
  1136. console.log(res, 142131);
  1137. this.dataImg.push(res.data.wjUrl);
  1138. } catch (err) {
  1139. console.log(err);
  1140. }
  1141. },
  1142. beforeAvatarUpload(file) {
  1143. console.log(file, 41231);
  1144. const isJPG = file.type;
  1145. const isLt2M = file.size / 1024 / 1024 < 2;
  1146. if (!isLt2M) {
  1147. this.$message.error("上传头像图片大小不能超过 2MB!");
  1148. }
  1149. return isJPG && isLt2M;
  1150. },
  1151. // 开本流程新增
  1152. handleAddK() {
  1153. this.ruleForm.processesList.push({
  1154. title: "",
  1155. code: "",
  1156. introduction: "",
  1157. sort: ""
  1158. });
  1159. },
  1160. // 开本流程删除
  1161. Del(index) {
  1162. this.ruleForm.processesList.splice(index, 1);
  1163. },
  1164. // 图片预览
  1165. dialogimg(e) {
  1166. console.log(e);
  1167. this.dialogVisible = true;
  1168. this.dialogImageUrl = this.ruleForm.imgUrls[e];
  1169. },
  1170. //资源删除
  1171. DelImg(index) {
  1172. this.ruleForm.radioImg.splice(index, 1);
  1173. },
  1174. DelMusic(index) {
  1175. this.ruleForm.radioMusic.splice(index, 1);
  1176. },
  1177. DelVideo(index) {
  1178. this.ruleForm.radioVideo.splice(index, 1);
  1179. },
  1180. // 图片删除
  1181. deldialogimg(index) {
  1182. this.ruleForm.imgUrls.splice(index, 1);
  1183. var img = this.ruleForm.imgUrl[index];
  1184. // proUpdate({ wjUrl: img }).then((res) => {
  1185. // if (res.code == 200) {
  1186. // that.back();
  1187. // }
  1188. // });
  1189. },
  1190. changeImg(val) {
  1191. this.radioImg = val;
  1192. this.ruleForm.radioImg = [];
  1193. this.imgData = [];
  1194. },
  1195. changeMusic(val) {
  1196. this.radioMusic = val;
  1197. this.ruleForm.radioMusic = [];
  1198. this.musicData = [];
  1199. },
  1200. changeVideo(val) {
  1201. this.radioVideo = val;
  1202. this.ruleForm.radioVideo = [];
  1203. this.videoData = [];
  1204. },
  1205. changePro(type) {
  1206. if (type == "img") {
  1207. this.imgType = false;
  1208. } else if (type == "music") {
  1209. this.musicType = false;
  1210. } else if (type == "video") {
  1211. this.videoType = false;
  1212. }
  1213. },
  1214. //新增图片资源
  1215. handleAddImg() {
  1216. this.ruleForm.radioImg.push({
  1217. title: "",
  1218. url: "",
  1219. processId: [],
  1220. mediaType: 1,
  1221. sourceType: this.radioImg
  1222. });
  1223. },
  1224. handleAddMusic() {
  1225. this.ruleForm.radioMusic.push({
  1226. title: "",
  1227. url: "",
  1228. processId: [],
  1229. mediaType: 2,
  1230. sourceType: this.radioMusic
  1231. });
  1232. },
  1233. handleAddVideo() {
  1234. this.ruleForm.radioVideo.push({
  1235. title: "",
  1236. url: "",
  1237. processId: [],
  1238. mediaType: 3,
  1239. sourceType: this.radioVideo
  1240. });
  1241. },
  1242. // 上传资源蹄片
  1243. labeluploadimg({ file }) {
  1244. const formdata = new FormData();
  1245. formdata.append("file", file);
  1246. formdata.append("type", "product");
  1247. uploadFile(formdata).then(res => {
  1248. this.imgData.push({
  1249. url: res.data.wjUrl,
  1250. processName: "",
  1251. title: res.data.wjDx
  1252. });
  1253. this.imgType = true;
  1254. });
  1255. },
  1256. labeluploadmusic({ file }) {
  1257. const formdata = new FormData();
  1258. formdata.append("file", file);
  1259. formdata.append("type", "product");
  1260. uploadFile(formdata).then(res => {
  1261. this.musicData.push({
  1262. url: res.data.wjUrl,
  1263. processName: "",
  1264. title: res.data.wjDx
  1265. });
  1266. this.musicType = true;
  1267. });
  1268. },
  1269. labeluploadvideo({ file }) {
  1270. const formdata = new FormData();
  1271. formdata.append("file", file);
  1272. formdata.append("type", "product");
  1273. uploadFile(formdata).then(res => {
  1274. this.videoData.push({
  1275. url: res.data.wjUrl,
  1276. processName: "",
  1277. title: res.data.wjDx
  1278. });
  1279. this.radioType = true;
  1280. });
  1281. },
  1282. // 图片删除
  1283. deldialogimg(item, index, type) {
  1284. console.log(index, type);
  1285. if (type == "img") {
  1286. this.imgData.splice(index, 1);
  1287. }
  1288. if (type == "music") {
  1289. this.musicData.splice(index, 1);
  1290. }
  1291. if (type == "video") {
  1292. this.videoData.splice(index, 1);
  1293. }
  1294. console.log(item);
  1295. delFile({ wjUrl: item.url }).then(res => {
  1296. if (res.code == 200) {
  1297. this.$message.success("删除成功");
  1298. }
  1299. });
  1300. },
  1301. //关联流程
  1302. setLc(item, i, type) {
  1303. console.log(item, i, this.imgData);
  1304. if (this.ruleForm.processesList.length == 0) {
  1305. this.$message({
  1306. message: "请新建流程",
  1307. type: "error"
  1308. });
  1309. return false;
  1310. }
  1311. if (type == "img") {
  1312. this.imgIndex = i;
  1313. } else if (type == "music") {
  1314. this.musicIndex = i;
  1315. } else if (type == "video") {
  1316. this.videoIndex = i;
  1317. }
  1318. this.list = item;
  1319. this.typeUrl = type;
  1320. this.processId = "";
  1321. this.process.Visible = true;
  1322. },
  1323. subMitLc() {
  1324. this.process.Visible = false;
  1325. if (this.typeUrl == "img") {
  1326. this.imgType = false;
  1327. var tmp = [];
  1328. for (var i = 0; i < this.ruleForm.processesList.length; i++) {
  1329. for (var s = 0; s < this.processId.length; s++) {
  1330. if (this.ruleForm.processesList[i].code == this.processId[s]) {
  1331. tmp.push(this.ruleForm.processesList[i].title);
  1332. }
  1333. }
  1334. }
  1335. this.imgData[this.imgIndex].processName = tmp.join(",");
  1336. this.imgData[this.imgIndex].processId = this.processId;
  1337. this.imgData[this.imgIndex].mediaType = 1;
  1338. this.imgData[this.imgIndex].sourceType = this.radioImg;
  1339. console.log(this.imgData, "处理后img数据");
  1340. }
  1341. if (this.typeUrl == "music") {
  1342. this.musicType = false;
  1343. var tmp = [];
  1344. for (var i = 0; i < this.ruleForm.processesList.length; i++) {
  1345. for (var s = 0; s < this.processId.length; s++) {
  1346. if (this.ruleForm.processesList[i].code == this.processId[s]) {
  1347. tmp.push(this.ruleForm.processesList[i].title);
  1348. }
  1349. }
  1350. }
  1351. this.musicData[this.musicIndex].processName = tmp.join(",");
  1352. this.musicData[this.musicIndex].processId = this.processId;
  1353. this.musicData[this.musicIndex].mediaType = 2;
  1354. this.musicData[this.musicIndex].sourceType = this.radioMusic;
  1355. }
  1356. if (this.typeUrl == "video") {
  1357. this.videoType = false;
  1358. var tmp = [];
  1359. for (var i = 0; i < this.ruleForm.processesList.length; i++) {
  1360. for (var s = 0; s < this.processId.length; s++) {
  1361. if (this.ruleForm.processesList[i].code == this.processId[s]) {
  1362. tmp.push(this.ruleForm.processesList[i].title);
  1363. }
  1364. }
  1365. }
  1366. this.videoData[this.videoIndex].processName = tmp.join(",");
  1367. this.videoData[this.videoIndex].processId = this.processId;
  1368. this.videoData[this.videoIndex].mediaType = 3;
  1369. this.videoData[this.videoIndex].sourceType = this.radioVideo;
  1370. }
  1371. }
  1372. }
  1373. };
  1374. </script>
  1375. <style scoped>
  1376. .content {
  1377. background: #fff;
  1378. margin-top: 15px;
  1379. }
  1380. .add-button {
  1381. margin-top: 15px;
  1382. }
  1383. /deep/ .el-input__inner {
  1384. height: 30px;
  1385. }
  1386. .search-button {
  1387. display: flex;
  1388. }
  1389. .form-title {
  1390. margin-left: 30px;
  1391. padding-bottom: 10px;
  1392. border-bottom: 1px solid #000;
  1393. }
  1394. /deep/ .avatar-uploader .el-upload {
  1395. border: 1px dashed #000;
  1396. border-radius: 6px;
  1397. cursor: pointer;
  1398. position: relative;
  1399. overflow: hidden;
  1400. }
  1401. /deep/ .avatar-uploader .el-upload:hover {
  1402. border-color: #409eff;
  1403. }
  1404. .avatar-uploader-icon {
  1405. font-size: 28px;
  1406. color: #8c939d;
  1407. width: 178px;
  1408. height: 178px;
  1409. line-height: 178px;
  1410. text-align: center;
  1411. }
  1412. .avatar {
  1413. width: 178px;
  1414. height: 178px;
  1415. display: block;
  1416. }
  1417. .urlTable /deep/ .el-form-item__content {
  1418. width: 100%;
  1419. }
  1420. </style>
  1421. <style lang="scss" scope>
  1422. .imgdata {
  1423. position: relative;
  1424. // display: inline-block;
  1425. float: left;
  1426. margin-left: 60px;
  1427. .imgdialog {
  1428. width: 146px;
  1429. height: 146px;
  1430. display: none;
  1431. position: absolute;
  1432. background: rgba(127, 127, 127, 0.5);
  1433. top: 0;
  1434. left: 0;
  1435. justify-content: space-between;
  1436. align-content: center;
  1437. p {
  1438. margin: auto;
  1439. i {
  1440. cursor: pointer;
  1441. color: white;
  1442. }
  1443. }
  1444. }
  1445. }
  1446. .imgdata:hover .imgdialog {
  1447. display: flex !important;
  1448. }
  1449. </style>