classifylist.vue 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959
  1. <template>
  2. <div id="classifylist">
  3. <el-card class="box-card">
  4. <div slot="header" class="header">
  5. <div class="type-box">
  6. <span class="act" v-permission="permissionBtn.classifyBtn.classifyList_cnClassify">{{this.$t('ReportManage.CategoryList.chinese_tabs')}}</span>
  7. <span @click="$emit('typeChange','2')" v-permission="permissionBtn.enClassifyBtn.classifyList_enClassify">{{this.$t('ReportManage.CategoryList.english_tabs')}}</span>
  8. </div>
  9. <el-form :inline="true" :model="searchform" @submit.native.prevent>
  10. <el-form-item label="">
  11. <el-button v-permission="permissionBtn.classifyBtn.classifyList_cnClassify_classifyAdd"
  12. type="primary" size="small" @click="aeDialogTrue">{{$t('ReportManage.CategoryList.add_category_btn')}}</el-button>
  13. </el-form-item>
  14. <el-form-item>
  15. <el-input :placeholder="$t('ReportManage.CategoryList.category_name_ipt')" @change="search" v-model="searchform.key_word" clearable size="small">
  16. <i class="el-icon-search" slot="prefix" @click="search"></i>
  17. </el-input>
  18. </el-form-item>
  19. </el-form>
  20. </div>
  21. <template>
  22. <el-table v-if="isTableShow"
  23. style="border:1px solid #eaeaea;" :data="tableData" v-loading="listLoading" :row-class-name="tableRowClassName" :element-loading-text="$t('Table.data_loading')" :default-expand-all='isexpand' row-key="Id" :tree-props="{children:'children',hasChildren:'hasChildren'}">
  24. <!-- <el-table-column prop="id" label="序号" width="100px" align="left">
  25. <template slot-scope="scope">
  26. <span>{{scope.row.ischild?'':scope.row.id}}</span>
  27. </template>
  28. </el-table-column> -->
  29. <el-table-column prop="classify_name" :label="$t('ReportManage.CategoryList.one_category_table')">
  30. <template slot-scope="scope">
  31. <span>{{scope.row.ischild?'':scope.row.ClassifyName}}</span>
  32. <img style="width:16px;position: relative;top:3px" src="../../assets/img/icons/ppt-icon.png" alt="" v-if="!scope.row.ischild&&scope.row.HasTeleconference">
  33. </template>
  34. </el-table-column>
  35. <el-table-column prop="classify_name" :label="$t('ReportManage.CategoryList.two_category_table')">
  36. <template slot-scope="scope">
  37. <span>{{scope.row.ischild?scope.row.ClassifyName:''}}</span>
  38. <img style="width:16px;position: relative;top:3px" src="../../assets/img/icons/ppt-icon.png" alt="" v-if="scope.row.ischild&&scope.row.HasTeleconference">
  39. </template>
  40. </el-table-column>
  41. <el-table-column :label="$t('Table.column_operations')" align="center">
  42. <template slot-scope="scope">
  43. <div style="color:#4099ef; font-size:24px;">
  44. <span class="editsty" v-permission="permissionBtn.classifyBtn.classifyList_cnClassify_chapterSetting"
  45. v-if="scope.row.ClassifyName=='晨报' || scope.row.ClassifyName=='周报'" @click="chapterSetting(scope.row)">{{$t('ReportManage.CategoryList.settings_chapter_btn')}}</span>
  46. <span class="editsty" v-permission="permissionBtn.classifyBtn.classifyList_cnClassify_authSetting"
  47. :class="{'editedsty' : editedItems.includes(scope.row.Id)}" v-if="scope.row.ischild" @click="configitem(scope.row)">{{$t('ReportManage.CategoryList.configuration_btn')}}</span>
  48. &nbsp;&nbsp;
  49. <!-- <i class="el-icon-edit-outline" @click="edititem(scope.row)"></i> -->
  50. <span class="editsty" v-permission="permissionBtn.classifyBtn.classifyList_cnClassify_classifyAdd"
  51. @click="edititem(scope.row)">{{$t('Table.edit_btn')}}</span>
  52. &nbsp;&nbsp;
  53. <!-- <i class="el-icon-delete" @click="checkdeleteitem(scope.row)"></i> -->
  54. <span v-permission="permissionBtn.classifyBtn.classifyList_cnClassify_classifyDel"
  55. class="deletesty" @click="checkdeleteitem(scope.row)">{{$t('Table.delete_btn')}}</span>
  56. </div>
  57. </template>
  58. </el-table-column>
  59. </el-table>
  60. </template>
  61. <el-col :span="24" class="toolbar" v-if="isTableShow">
  62. <el-pagination v-if="ispage" layout="total,prev,pager,next,jumper" background @current-change="handleCurrentChange" :page-size="pageSize" @size-change="handleSizeChange" :total="total" style="float:right;"></el-pagination>
  63. </el-col>
  64. </el-card>
  65. <!-- 添加分类弹框 -->
  66. <el-dialog :modal-append-to-body='false' :title="isadd? $t('ReportManage.CategoryList.add_category_btn') : $t('ReportManage.CategoryList.edit_category_btn') " :visible.sync="aeDialog" :close-on-click-modal="false" :center="true" v-dialogDrag custom-class="dialogclassLog" width="700px">
  67. <div slot="title" style="display:flex;alignItems:center;">
  68. <img :src="isadd?$icons.add:$icons.edit" style="color:#fff;width:16px;height:16px;marginRight:5px;">
  69. <span style="fontSize:16px;">{{isadd? $t('ReportManage.CategoryList.add_category_btn'): $t('ReportManage.CategoryList.edit_category_btn')}}</span>
  70. </div>
  71. <el-form :model="aeForm" :rules="aerules" ref="aeForm" label-position="right" label-width="140px" class="aeForm" @submit.native.prevent>
  72. <el-form-item prop="classify_name" :label="$t('ReportManage.CategoryList.category_name_ipt')">
  73. <el-input type="text" v-model="aeForm.classify_name" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;"></el-input>
  74. </el-form-item>
  75. <el-form-item prop="parent_id" :label="$t('ReportManage.CategoryList.parent_category_label')">
  76. <el-select v-model="aeForm.parent_id" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;" @change="parentSelectChange(aeForm.parent_id)">
  77. <el-option label="无" :value="0"></el-option>
  78. <el-option v-for="(item,index) in classifyparentArr" :key="index" :label="item.ClassifyName" :value="item.Id"></el-option>
  79. </el-select>
  80. </el-form-item>
  81. <!-- 下面的表单项除了后台排序,都合成一个buttoncode判断:classifyList_cnClassify_childMenu -->
  82. <template v-if="permissionBtn.checkPermissionBtn(permissionBtn.classifyBtn.classifyList_cnClassify_childMenu)">
  83. <!-- 一级目录子目录 -->
  84. <el-form-item :label="$t('ReportManage.CategoryList.subdirectory_label')"
  85. v-if="aeForm.parent_id==0&&aeForm.showType==1">
  86. <draggable v-model="ClassifyMenuList" animation="300">
  87. <div style="display:inline-block;margin-right:5px" v-for="(item,index) in ClassifyMenuList" :key="item">
  88. <el-input
  89. v-if="item.inputVisible"
  90. v-model="item.MenuName"
  91. ref="itemINput"
  92. size="small"
  93. style="width: 90px;"
  94. :autofocus="true"
  95. @keyup.enter.native="item.inputVisible=false"
  96. @blur="item.inputVisible=false"
  97. ></el-input>
  98. <el-tag
  99. v-else
  100. closable
  101. :disable-transitions="false"
  102. @click="showInput(index)"
  103. @close="handleClose(index)">
  104. {{item.MenuName}}
  105. </el-tag>
  106. </div>
  107. </draggable>
  108. <div>
  109. <el-input
  110. v-if="inputVisible"
  111. v-model="inputValue"
  112. ref="saveTagInput"
  113. size="small"
  114. @keyup.enter.native="handleInputConfirm"
  115. @blur="handleInputConfirm"
  116. style="width: 90px;"
  117. >
  118. </el-input>
  119. <el-button v-else size="small" @click="showInput(-1)">+ {{$t('ReportManage.CategoryList.click_to_add_btn')}}</el-button>
  120. </div>
  121. </el-form-item>
  122. <!-- 二级目录子目录 -->
  123. <el-form-item :label="$t('ReportManage.CategoryList.subdirectory_label')"
  124. v-if="aeForm.parent_id!=0">
  125. <el-select v-model="aeForm.ClassifyMenuId" clearable :placeholder="$t('ReportManage.CategoryList.please_select')" style="width:400px;">
  126. <el-option
  127. :label="item.MenuName"
  128. :value="item.MenuId"
  129. v-for="item in selectMenuOpt"
  130. :key="item.MenuId"
  131. ></el-option>
  132. </el-select>
  133. </el-form-item>
  134. </template>
  135. <template v-if="permissionBtn.checkPermissionBtn(permissionBtn.classifyBtn.classifyList_cnClassify_childMenu)">
  136. <el-form-item prop="label" :label="$t('ReportManage.CategoryList.category_tag_label')" v-if="aeForm.parent_id!=0">
  137. <el-input type="textarea" autosize v-model="aeForm.label" :placeholder="$t('ReportManage.CategoryList.please_select')" size="small" style="width:400px;font-size:14px;"></el-input>
  138. </el-form-item>
  139. <el-form-item :label="$t('ReportManage.CategoryList.display_form_label')"
  140. prop="showType" v-if="aeForm.parent_id==0">
  141. <el-select v-model="aeForm.showType" :placeholder="$t('ReportManage.CategoryList.please_select')" style="width:400px;">
  142. <el-option :label="$t('ReportManage.CategoryList.form_list_option')" :value="1"></el-option>
  143. <el-option :label="$t('ReportManage.CategoryList.form_column_option')" :value="2"></el-option>
  144. <el-option :label="$t('ReportManage.CategoryList.form_product_option')" :value="3"></el-option>
  145. </el-select>
  146. </el-form-item>
  147. </template>
  148. <el-form-item :label="$t('ReportManage.CategoryList.backend_sorting_label')"
  149. prop="Sort" v-if="aeForm.parent_id==0&&permissionBtn.checkPermissionBtn(permissionBtn.classifyBtn.classifyList_cnClassify_backSort)">
  150. <el-input-number v-model="aeForm.Sort" :placeholder="$t('ReportManage.CategoryList.please_number_input')"></el-input-number>
  151. </el-form-item>
  152. <template v-if="permissionBtn.checkPermissionBtn(permissionBtn.classifyBtn.classifyList_cnClassify_childMenu)">
  153. <el-form-item :label="$t('ReportManage.CategoryList.page_sorting_label')"
  154. prop="YbFiccSort" v-if="aeForm.parent_id==0">
  155. <el-input-number v-model="aeForm.YbFiccSort" :placeholder="$t('ReportManage.CategoryList.please_number_input')"></el-input-number>
  156. </el-form-item>
  157. <el-form-item :label="$t('ReportManage.CategoryList.page_icon_label')"
  158. v-if="aeForm.parent_id==0" prop="YbFiccIcon">
  159. <input type="file" size="small" name="file" @change="fileSelected(6)" id="file6" class="true-file" style="display:none;">
  160. <el-input readonly type="text" v-model="aeForm.YbFiccIcon" placeholder="上传FICC页icon" size="medium" style="width:400px;">
  161. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(6)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  162. </el-input>
  163. </el-form-item>
  164. <el-form-item :label="$t('ReportManage.CategoryList.collection_report_label')"
  165. v-if="aeForm.parent_id==0&&aeForm.showType!==2" prop="YbRightBanner">
  166. <input type="file" size="small" name="file" @change="fileSelected(11)" id="file11" class="true-file" style="display:none;">
  167. <el-input readonly type="text" v-model="aeForm.YbRightBanner" :placeholder="$t('ReportManage.CategoryList.up_collection_report_lable')" size="medium" style="width:400px;">
  168. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(11)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  169. </el-input>
  170. </el-form-item>
  171. <el-form-item :label="$t('ReportManage.CategoryList.share_link_label')"
  172. prop="YbShareBgImg" v-if="aeForm.parent_id==0">
  173. <input type="file" size="small" name="file" @change="fileSelected(10)" id="file10" class="true-file" style="display:none;">
  174. <el-input readonly type="text" v-model="aeForm.YbShareBgImg" :placeholder="$t('ReportManage.CategoryList.up_share_link_label')" size="medium" style="width:400px;">
  175. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(10)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  176. </el-input>
  177. </el-form-item>
  178. <el-form-item :label="$t('ReportManage.CategoryList.pc_bg_label')"
  179. prop="YbFiccPcIcon" v-if="aeForm.parent_id==0">
  180. <el-select v-model="aeForm.YbFiccPcIcon" :placeholder="$t('ReportManage.CategoryList.select_bg_label')" style="width:400px;">
  181. <el-option :label="item.label" :value="item.val" v-for="item in YbFiccPcIconList" :key="item.label"></el-option>
  182. </el-select>
  183. </el-form-item>
  184. <el-form-item :label="$t('ReportManage.CategoryList.mini_hidden_label')"
  185. prop="IsShow" v-if="aeForm.parent_id==0">
  186. <el-switch v-model="aeForm.IsShow" inactive-color="#ededed"></el-switch>
  187. </el-form-item>
  188. <el-form-item label="PPT转报告" prop="hasTel" v-if="aeForm.parent_id!=0">
  189. <el-select v-model="aeForm.hasTel" :placeholder="$t('ReportManage.CategoryList.please_select')" style="width:400px;">
  190. <el-option label="无" :value="0"></el-option>
  191. <el-option label="有" :value="1"></el-option>
  192. </el-select>
  193. </el-form-item>
  194. <el-form-item :label="$t('ReportManage.CategoryList.related_settings_label')"
  195. prop="relate" v-if="!['晨报','周报'].includes(aeForm.classify_name)">
  196. <el-select v-model="aeForm.relate" multiple :placeholder="$t('ReportManage.CategoryList.please_select')" style="width:400px;">
  197. <el-option :label="$t('ReportManage.CategoryList.teleconference_label')" :value="1"></el-option>
  198. <el-option :label="$t('ReportManage.CategoryList.relate_videp_label')" :value="2"></el-option>
  199. </el-select>
  200. </el-form-item>
  201. </template>
  202. <!-- 这里开始是二级目录选项 -->
  203. <template v-if="permissionBtn.checkPermissionBtn(permissionBtn.classifyBtn.classifyList_cnClassify_childMenu)">
  204. <el-form-item :label="$t('ReportManage.CategoryList.share_desctription_label')" v-if="aeForm.parent_id!=0">
  205. <el-input type="textarea" autosize v-model="aeForm.descript" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;font-size:14px;"></el-input>
  206. </el-form-item>
  207. <el-form-item :label="$t('ReportManage.CategoryList.section_author_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="author">
  208. <el-input type="text" v-model="aeForm.author" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;"></el-input>
  209. </el-form-item>
  210. <el-form-item :label="$t('ReportManage.CategoryList.author_introduction_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="authorDsec">
  211. <el-input type="text" v-model="aeForm.authorDsec" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;"></el-input>
  212. </el-form-item>
  213. <el-form-item :label="$t('ReportManage.CategoryList.author_title_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="authorTag">
  214. <el-input type="text" v-model="aeForm.authorTag" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;"></el-input>
  215. </el-form-item>
  216. <el-form-item :label="$t('ReportManage.CategoryList.section_author_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="classifyDsec">
  217. <el-input type="textarea" v-model="aeForm.classifyDsec" :placeholder="$t('ReportManage.CategoryList.please_input')" size="small" style="width:400px;font-size:14px;" autosize></el-input>
  218. </el-form-item>
  219. <el-form-item :label="$t('ReportManage.CategoryList.share_link_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="YbShareBgImg">
  220. <input type="file" size="small" name="file" @change="fileSelected(10)" id="file10" class="true-file" style="display:none;">
  221. <el-input readonly type="text" v-model="aeForm.YbShareBgImg" :placeholder="$t('ReportManage.CategoryList.up_share_link_label')" size="medium" style="width:400px;">
  222. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(10)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  223. </el-input>
  224. </el-form-item>
  225. <el-form-item :label="$t('ReportManage.CategoryList.homepage_illustrations_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="classifyImg">
  226. <input type="file" size="small" name="file" @change="fileSelected(1)" id="file1" class="true-file" style="display:none;">
  227. <el-input type="text" v-model="aeForm.classifyImg" :placeholder="$t('ReportManage.CategoryList.up_homepage_illustrations')" size="medium" style="width:400px;">
  228. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(1)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  229. </el-input>
  230. </el-form-item>
  231. <el-form-item :label="$t('ReportManage.CategoryList.report_illustrations_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="reportImg">
  232. <input type="file" size="small" name="file" @change="fileSelected(5)" id="file5" class="true-file" style="display:none;">
  233. <el-input type="text" v-model="aeForm.reportImg" :placeholder="$t('ReportManage.CategoryList.up_report_illustrations')" size="medium" style="width:400px;">
  234. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(5)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  235. </el-input>
  236. </el-form-item>
  237. <el-form-item :label="$t('ReportManage.CategoryList.column_illustration_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="columImg">
  238. <input type="file" size="small" name="file" @change="fileSelected(4)" id="file4" class="true-file" style="display:none;">
  239. <el-input type="text" v-model="aeForm.columImg" :placeholder="$t('ReportManage.CategoryList.up_scolumn_illustration')" size="medium" style="width:400px;">
  240. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(4)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  241. </el-input>
  242. </el-form-item>
  243. <el-form-item :label="$t('ReportManage.CategoryList.banner_head_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="bannerImg">
  244. <input type="file" size="small" name="file" @change="fileSelected(2)" id="file2" class="true-file" style="display:none;">
  245. <el-input type="text" v-model="aeForm.bannerImg" :placeholder="$t('ReportManage.CategoryList.up_banner_head')" size="medium" style="width:400px;">
  246. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(2)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  247. </el-input>
  248. </el-form-item>
  249. <el-form-item :label="$t('ReportManage.CategoryList.img_author_label')" v-if="aeForm.parent_id!=0&&!parentIsList&&!parentIsVariety" prop="avatar">
  250. <input type="file" size="small" name="file" @change="fileSelected(3)" id="file3" class="true-file" style="display:none;">
  251. <el-input type="text" v-model="aeForm.avatar" :placeholder="$t('ReportManage.CategoryList.up_img_author')" size="medium" style="width:400px;">
  252. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(3)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  253. </el-input>
  254. </el-form-item>
  255. <el-form-item :label="$t('ReportManage.CategoryList.list_background_image_label')" v-if="aeForm.parent_id!=0&&(parentIsList||parentIsVariety)" prop="YbListImg">
  256. <input type="file" size="small" name="file" @change="fileSelected(9)" id="file9" class="true-file" style="display:none;">
  257. <el-input readonly type="text" v-model="aeForm.YbListImg" :placeholder="$t('ReportManage.CategoryList.up_list_background_image')" size="medium" style="width:400px;">
  258. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(9)">{{$t('ReportManage.CategoryList.select_img_btn')}}</el-button>
  259. </el-input>
  260. </el-form-item>
  261. <!-- 列表、品种的二级分类 展示分享链接配图 但是不是必填的 -->
  262. <el-form-item :label="$t('ReportManage.CategoryList.share_link_label')" prop="YbShareBgImg_" v-if="aeForm.parent_id!=0&&(parentIsList||parentIsVariety)">
  263. <input type="file" size="small" name="file" @change="fileSelected(12)" id="file12" class="true-file" style="display:none;">
  264. <el-input readonly type="text" v-model="aeForm.YbShareBgImg_" :placeholder="$t('ReportManage.CategoryList.xxxxx')" size="medium" style="width:400px;">
  265. <el-button slot="append" type="primary" size="mini" @click.native="clickinput(12)">{{$t('ReportManage.CategoryList.up_share_link_label')}}</el-button>
  266. </el-input>
  267. </el-form-item>
  268. </template>
  269. </el-form>
  270. <div slot="footer" class="dialog-footer" style="text-align:right;">
  271. <el-button type="primary" plain size="small" @click.native="aeDialog=false">{{$t('Dialog.cancel_btn')}}</el-button>
  272. <el-button type="primary" size="small" @click.native="saveDialog">{{$t('Dialog.confirm_save_btn')}}</el-button>
  273. </div>
  274. </el-dialog>
  275. <!-- 权限配置弹窗 -->
  276. <PermissionDialog :isShow.sync="isShowPermissionDia" :id="classifyPermissionId" @saveConfig="saveConfig"/>
  277. </div>
  278. </template>
  279. <script>
  280. import { classifylist,classifyparent,classifyadd,classifydelete,classifyedit,checkDeleteClassify,bannerupload } from 'api/api.js';
  281. import PermissionDialog from './components/PermissionDialog.vue'
  282. import draggable from 'vuedraggable';
  283. export default{
  284. computed:{
  285. parentIsList(){
  286. //当前上级分类是否为列表
  287. let flag=false
  288. if(this.aeDialog){
  289. this.classifyparentArr.forEach(item=>{
  290. if(item.Id==this.aeForm.parent_id){
  291. if(item.ShowType==1){
  292. flag=true
  293. }
  294. }
  295. })
  296. }
  297. return flag
  298. },
  299. parentIsVariety(){
  300. //当前上级分类是否为品种
  301. let flag=false
  302. if(this.aeDialog){
  303. this.classifyparentArr.forEach(item=>{
  304. if(item.Id==this.aeForm.parent_id){
  305. if(item.ShowType==3){
  306. flag=true
  307. }
  308. }
  309. })
  310. }
  311. return flag
  312. },
  313. selectMenuOpt(){
  314. let arr=[]
  315. if(this.aeDialog){
  316. this.classifyparentArr.forEach(item=>{
  317. if(item.Id==this.aeForm.parent_id){
  318. arr=item.ClassifyMenuList||[]
  319. }
  320. })
  321. }
  322. return arr
  323. },
  324. //通过计算属性判断是否展示
  325. //当没有中文分类页面权限时,啥都不展示
  326. isTableShow(){
  327. return this.permissionBtn.checkPermissionBtn(
  328. this.permissionBtn.classifyBtn.classifyList_cnClassify
  329. )
  330. },
  331. aerules(){
  332. return {
  333. classify_name:[{
  334. required:true,
  335. message:this.$t('ReportManage.CategoryList.please_input_name'),
  336. trigger:'blur'
  337. }],
  338. parent_id:[{
  339. required:true,
  340. message:this.$t('ReportManage.CategoryList.please_select_category'),
  341. trigger:'change'
  342. }],
  343. abstract:[{
  344. required:true,
  345. message:this.$t('ReportManage.CategoryList.please_input_introduction'),
  346. trigger:'blur'
  347. }],
  348. descript:[{
  349. required:true,
  350. message:this.$t('ReportManage.CategoryList.please_input_description'),
  351. trigger:'blur'
  352. }],
  353. author:[{
  354. required:true,
  355. message:this.$t('ReportManage.CategoryList.please_author_ipt'),
  356. trigger:'blur'
  357. }],
  358. authorDsec:[{
  359. required:true,
  360. message:this.$t('ReportManage.CategoryList.please_author_introduction_ipt'),
  361. trigger:'blur'
  362. }],
  363. classifyDsec:[{
  364. required:true,
  365. message:this.$t('ReportManage.CategoryList.please_input_column_introduction'),
  366. trigger:'blur'
  367. }],
  368. classifyImg:[{
  369. required:true,
  370. message:this.$t('ReportManage.CategoryList.up_homepage_illustrations'),
  371. trigger:'blur'
  372. }],
  373. reportImg:[{
  374. required:true,
  375. message:this.$t('ReportManage.CategoryList.up_report_illustrations'),
  376. trigger:'blur'
  377. }],
  378. bannerImg:[{
  379. required:true,
  380. message:this.$t('ReportManage.CategoryList.up_banner_head'),
  381. trigger:'blur'
  382. }],
  383. avatar:[{
  384. required:true,
  385. message:this.$t('ReportManage.CategoryList.up_img_author'),
  386. trigger:'blur'
  387. }],
  388. columImg:[{
  389. required:true,
  390. message:this.$t('ReportManage.CategoryList.up_scolumn_illustration'),
  391. trigger:'blur'
  392. }],
  393. label:[{
  394. required:true,
  395. message:this.$t('ReportManage.CategoryList.please_classification_label'),
  396. trigger:'blur'
  397. }],
  398. hasTel:[{
  399. required:true,
  400. message:this.$t('ReportManage.CategoryList.please_select'),
  401. trigger:'change'
  402. }],
  403. showType:[{
  404. required:true,
  405. message:this.$t('ReportManage.CategoryList.please_display_format'),
  406. trigger:'change'
  407. }],
  408. Sort:[{
  409. required:true,
  410. message:this.$t('ReportManage.CategoryList.please_number_input'),
  411. trigger:'blur'
  412. }],
  413. YbFiccSort:[{
  414. required:true,
  415. message:this.$t('ReportManage.CategoryList.please_number_input'),
  416. trigger:'blur'
  417. }],
  418. YbFiccIcon:[{
  419. required:true,
  420. message:this.$t('ReportManage.CategoryList.up_page_icon_label'),
  421. trigger:'change'
  422. }],
  423. YbRightBanner:[{
  424. required:true,
  425. message:this.$t('ReportManage.CategoryList.up_collection_report_lable'),
  426. trigger:'change'
  427. }],
  428. YbFiccPcIcon:[{
  429. required:true,
  430. message:this.$t('ReportManage.CategoryList.select_bg_label'),
  431. trigger:'change'
  432. }],
  433. IsShow:[{
  434. required:true,
  435. message:this.$t('ReportManage.CategoryList.mini_hidden_label'),
  436. trigger:'change'
  437. }],
  438. YbListImg:[{
  439. required:true,
  440. message:this.$t('ReportManage.CategoryList.please_upload_label'),
  441. trigger:'change'
  442. }],
  443. YbShareBgImg:[{
  444. required:true,
  445. message:this.$t('ReportManage.CategoryList.please_upload_label'),
  446. trigger:'change'
  447. }],
  448. }
  449. },
  450. YbFiccPcIconList(){
  451. return [
  452. {
  453. label:this.$t('ReportManage.CategoryList.blue_color'),
  454. val:'https://hzstatic.hzinsights.com/static/yb_wx/ficc_classify_bg_blue.png'
  455. },
  456. {
  457. label:this.$t('ReportManage.CategoryList.green_color'),
  458. val:'https://hzstatic.hzinsights.com/static/yb_wx/ficc_classify_bg_green.png'
  459. },
  460. {
  461. label:this.$t('ReportManage.CategoryList.red_color'),
  462. val:'https://hzstatic.hzinsights.com/static/yb_wx/ficc_classify_bg_orange.png'
  463. },
  464. ]
  465. },
  466. },
  467. data(){
  468. return {
  469. PageIndex:0,
  470. total:0,
  471. pageSize:15,
  472. ispage:true,
  473. listLoading:false,
  474. tableData:[],
  475. searchform:{
  476. key_word:'',
  477. },
  478. aeDialog:false,
  479. aeForm:{
  480. classify_name:'',
  481. parent_id:0,
  482. abstract:'',
  483. descript:'',
  484. author:'',
  485. authorDsec:'',
  486. classifyDsec:'',
  487. authorTag:'',
  488. classifyImg:'',
  489. reportImg:'',
  490. columImg:'',
  491. bannerImg:'',
  492. avatar:'',
  493. label:"",
  494. hasTel:0,//是否有电话会:0-否 1-是
  495. showType:1,//展示形式 1-列表 2-专栏 3-品种
  496. Sort:'',
  497. YbFiccSort:'',
  498. YbFiccIcon:'',
  499. YbIconUrl:'',
  500. YbBgUrl:'',
  501. YbFiccPcIcon:'',
  502. IsShow:false,//是否在小程序端展示:0-隐藏 1-显示
  503. YbListImg:'',//小程序研报列表封面图
  504. YbShareBgImg:'',
  505. ClassifyMenuId:'',
  506. YbRightBanner:'',//报告合集配图
  507. relate:[],
  508. },
  509. isadd:true,
  510. classifyparentArr:[],
  511. isexpand:false,
  512. isShowPermissionDia: false, //是否显示权限管理弹窗
  513. classifyPermissionId: 0, //进行权限管理的分类id
  514. editedItems:[], //修改过权限的分类
  515. inputVisible:false,
  516. inputValue:'',
  517. ClassifyMenuList:[],
  518. }
  519. },
  520. components: {
  521. PermissionDialog,
  522. draggable
  523. },
  524. mounted(){
  525. this.getlist();
  526. // document.onkeydown=e=>{
  527. // let keyval=window.event.keyCode;
  528. // if( keyval===13 && this.$route.path === '/classifylist'){
  529. // this.getlist();
  530. // }
  531. // }
  532. this.setPermissRules()
  533. },
  534. methods:{
  535. showInput(index){
  536. if(index!=-1){
  537. this.ClassifyMenuList[index].inputVisible=true
  538. this.$nextTick(_ => {
  539. this.$refs.itemINput[0].$refs.input.focus();
  540. })
  541. return
  542. }
  543. this.inputVisible = true;
  544. this.$nextTick(_ => {
  545. this.$refs.saveTagInput.$refs.input.focus();
  546. });
  547. },
  548. handleInputConfirm() {
  549. let inputValue = this.inputValue;
  550. if (inputValue) {
  551. this.ClassifyMenuList.push({MenuId:0,MenuName:inputValue,inputVisible:false});
  552. }
  553. this.inputVisible = false;
  554. this.inputValue = '';
  555. },
  556. handleClose(index){
  557. this.ClassifyMenuList.splice(index,1)
  558. },
  559. tableRowClassName({row,rowIndex}) {
  560. if( row.ischild ){
  561. return 'success-row';
  562. }else{
  563. return '';
  564. }
  565. },
  566. edititem(item){ //去编辑
  567. classifyparent({}).then((res) => {
  568. if( res.Ret==200 ){
  569. this.classifyparentArr=[];
  570. res.Data.forEach((child,i)=>{
  571. // if(child.ClassifyName!=item.ClassifyName){
  572. child.Id=parseInt(child.Id);
  573. //如果没有子项
  574. if(!item.Child){
  575. this.classifyparentArr.push(child);
  576. }
  577. // }
  578. });
  579. }
  580. });
  581. console.log(item);
  582. // this.aeForm={classify_id:parseInt(item.id),classify_name:item.classify_name,parent_id:parseInt(item.parent_id),abstract:item.abstract,descript:item.descript};
  583. this.aeForm={
  584. classify_id:parseInt(item.Id),
  585. classify_name:item.ClassifyName,
  586. parent_id:item.ParentId,
  587. descript:item.Descript,
  588. author:item.ReportAuthor,
  589. authorDsec:item.AuthorDescript,
  590. classifyDsec:item.Abstract,
  591. authorTag:item.VipTitle,
  592. classifyImg:item.ReportImgUrl,
  593. reportImg:item.HomeImgUrl,
  594. columImg:item.ColumnImgUrl,
  595. bannerImg:item.HeadImgUrl,
  596. avatar:item.AvatarImgUrl,
  597. label:item.ClassifyLabel,
  598. hasTel:item.HasTeleconference,
  599. showType:item.ShowType,
  600. Sort:item.Sort,
  601. YbFiccSort:item.YbFiccSort,
  602. YbFiccIcon:item.YbFiccIcon,
  603. YbIconUrl:item.YbIconUrl,
  604. YbBgUrl:item.YbBgUrl,
  605. YbFiccPcIcon:item.YbFiccPcIcon,
  606. IsShow:item.IsShow==0?true:false,//是否在小程序端展示:0-隐藏 1-显示
  607. YbListImg:item.YbListImg,
  608. YbShareBgImg:item.YbShareBgImg,
  609. ClassifyMenuId:item.ClassifyMenuId||'',
  610. YbRightBanner:item.YbRightBanner||'',
  611. relate:[item.RelateTel==1?1:null,item.RelateVideo==1?2:null],
  612. };
  613. this.ClassifyMenuList=item.ClassifyMenuList?item.ClassifyMenuList.map(item=>{
  614. return {
  615. MenuId:item.MenuId,
  616. MenuName:item.MenuName,
  617. inputVisible:false
  618. }
  619. }):[]
  620. //若编辑的为列表、品种下的二级分类 需要计算YbShareBgImg_
  621. //已填写则获取已填写内容
  622. if(item.YbShareBgImg){
  623. this.aeForm.YbShareBgImg_ = item.YbShareBgImg
  624. }
  625. //若未填写则取一级分类的YbShareBgImg
  626. else{
  627. this.aeForm.YbShareBgImg_ = this.getParentYbShareBgImg(item.ParentId)
  628. }
  629. this.isadd=false;
  630. this.aeDialog=true;
  631. this.$nextTick(()=>{
  632. this.$refs.aeForm.clearValidate();
  633. })
  634. },
  635. checkdeleteitem(item){ //删除前检测
  636. checkDeleteClassify({ClassifyId:parseInt(item.Id)}).then(res =>{
  637. if(res.Ret==200){
  638. if(res.Data.Code==0){
  639. this.deleteitem(item);
  640. }else{
  641. this.$message.error( res.Data.Msg );
  642. }
  643. }
  644. });
  645. },
  646. deleteitem(item){
  647. this.$confirm(this.$t('ReportManage.CommodityConfiguration.delete_info_msg'),this.$t('Confirm.prompt_slogan'),{type:'warning'}).then(() => {
  648. classifydelete({ClassifyId:parseInt(item.Id)}).then(res =>{
  649. if( res.Ret==200 ){
  650. this.$message.success( res.Msg );
  651. this.getlist();
  652. }
  653. });
  654. }).catch(() => {});
  655. },
  656. configitem(item){
  657. this.classifyPermissionId=item.Id
  658. this.isShowPermissionDia=true
  659. },
  660. saveDialog(){ //保存
  661. this.$refs.aeForm.validate((valid)=>{
  662. if( valid ){
  663. // let params={classify_name:this.aeForm.classify_name,parent_id:parseInt(this.aeForm.parent_id),abstract:this.aeForm.abstract,descript:this.aeForm.descript};
  664. let params={
  665. ClassifyName:this.aeForm.classify_name,
  666. ParentId:parseInt(this.aeForm.parent_id),
  667. Descript:this.aeForm.descript,
  668. ReportAuthor:this.aeForm.author,
  669. AuthorDescript:this.aeForm.authorDsec,
  670. VipTitle:this.aeForm.authorTag,
  671. Abstract:this.aeForm.classifyDsec,
  672. ColumnImgUrl:this.aeForm.columImg,
  673. ReportImgUrl:this.aeForm.classifyImg,
  674. HomeImgUrl:this.aeForm.reportImg,
  675. HeadImgUrl:this.aeForm.bannerImg,
  676. AvatarImgUrl:this.aeForm.avatar,
  677. ClassifyLabel:this.aeForm.label,
  678. ShowType:this.aeForm.showType,
  679. HasTeleconference:this.aeForm.hasTel,
  680. Sort:this.aeForm.Sort?Number(this.aeForm.Sort):0,
  681. YbFiccSort:this.aeForm.YbFiccSort?Number(this.aeForm.YbFiccSort):0,
  682. YbFiccIcon:this.aeForm.YbFiccIcon,
  683. YbIconUrl:this.aeForm.YbIconUrl,
  684. YbBgUrl:this.aeForm.YbBgUrl,
  685. YbFiccPcIcon:this.aeForm.YbFiccPcIcon,
  686. IsShow:this.aeForm.IsShow?0:1,//是否在小程序端展示:0-隐藏 1-显示
  687. YbListImg:this.aeForm.YbListImg,
  688. /* 一级分类为列表、品种的报告,二级分类的分享链接图*/
  689. YbShareBgImg:this.aeForm.parent_id!=0&&(this.parentIsList||this.parentIsVariety)?this.aeForm.YbShareBgImg_:this.aeForm.YbShareBgImg,
  690. ClassifyMenuId:this.aeForm.ClassifyMenuId||0,
  691. YbRightBanner:this.aeForm.YbRightBanner||'',
  692. RelateTel:this.aeForm.relate.includes(1)?1:0,
  693. RelateVideo:this.aeForm.relate.includes(2)?1:0,
  694. };
  695. params.MenuList=this.ClassifyMenuList.map(item=>{
  696. return {
  697. MenuId:item.MenuId,
  698. MenuName:item.MenuName
  699. }
  700. })
  701. if( this.isadd ){
  702. classifyadd(params).then(res =>{
  703. if( res.Ret==200 ){
  704. this.$message.success( res.Msg );
  705. this.getlist();
  706. this.aeDialog=false;
  707. }
  708. });
  709. }else{
  710. params.ClassifyId=this.aeForm.classify_id;
  711. classifyedit(params).then(res =>{
  712. if( res.Ret==200 ){
  713. this.$message.success( res.Msg );
  714. this.getlist();
  715. this.aeDialog=false;
  716. }
  717. });
  718. }
  719. // this.isexpand=true;
  720. }
  721. });
  722. },
  723. aeDialogTrue(){ //去新增
  724. classifyparent({}).then((res) => {
  725. if( res.Ret==200 ){
  726. this.classifyparentArr=res.Data || [];
  727. this.aeForm={
  728. classify_name:'',
  729. parent_id:0,
  730. abstract:'',
  731. descript:'',
  732. author:'',
  733. authorDsec:'',
  734. authorTag:'',
  735. classifyDsec:'',
  736. classifyImg:'',
  737. reportImg:'',
  738. columImg:'',
  739. bannerImg:'',
  740. avatar:'',
  741. label:'',
  742. hasTel:0,
  743. showType:1,
  744. Sort:'',
  745. YbFiccSort:'',
  746. YbFiccIcon:'',
  747. YbIconUrl:'',
  748. YbBgUrl:'',
  749. YbFiccPcIcon:'',
  750. IsShow:false,//是否在小程序端展示:0-隐藏 1-显示
  751. YbListImg:'',
  752. YbShareBgImg:'',
  753. ClassifyMenuId:'',
  754. YbRightBanner:'',
  755. relate:[]
  756. };
  757. this.ClassifyMenuList=[]
  758. this.isadd=true;
  759. this.aeDialog=true;
  760. this.$nextTick(()=>{
  761. this.$refs.aeForm.clearValidate();
  762. })
  763. }
  764. });
  765. },
  766. getlist(){ //获取列表
  767. let params={CurrentIndex:this.PageIndex,PageSize:this.pageSize,KeyWord:this.searchform.key_word};
  768. this.listLoading = true;
  769. classifylist(params).then((res) => {
  770. if( res.Ret==200 ){
  771. this.tableData = res.Data.List || [];
  772. this.total=parseInt(res.Data.Paging.Totals);
  773. this.tableData.forEach((item,index)=>{
  774. if( item.Child ){
  775. // item.hasChildren=true;
  776. let childnode=JSON.parse(JSON.stringify(item.Child));
  777. childnode.forEach((itemchild,i)=>{
  778. itemchild.ischild=true;
  779. });
  780. item.children=childnode;
  781. }
  782. });
  783. // this.$nextTick(function(){
  784. // this.isexpand=true;
  785. // });
  786. }
  787. this.listLoading = false;
  788. });
  789. },
  790. search(){ //搜索
  791. this.ispage = false;
  792. this.$nextTick(() => {
  793. this.PageIndex = 0;
  794. this.getlist();
  795. this.ispage = true;
  796. });
  797. },
  798. handleCurrentChange(current){ //分页页码跳转
  799. this.PageIndex = current;
  800. this.getlist();
  801. },
  802. handleSizeChange(val){ //分页页码改变
  803. this.pageSize=val;
  804. this.getlist();
  805. },
  806. clickinput(type){ //上传模拟点击
  807. $(`#file${type}`).click();
  808. },
  809. fileSelected(type){ //选择文件上传
  810. const that = this;
  811. if( document.getElementById('file'+type).files[0] ){
  812. let hostfile = document.getElementById('file'+type).files[0];
  813. let size = Math.floor(hostfile.size / 1024 / 1024);
  814. if( size>200 ){
  815. that.$message.error('上传文件大小不能大于200M!');
  816. hostfile = {};
  817. return false
  818. }
  819. if( hostfile.name.toLowerCase().includes('.png') || hostfile.name.toLowerCase().includes('.jpg') || hostfile.name.toLowerCase().includes('.jpeg') ){
  820. let form = new FormData();
  821. form.append('file',hostfile); //hostfile.name
  822. that.uploadloading=true;
  823. bannerupload(form).then((res) => {
  824. if( res.Ret === 200 ){
  825. if(type == 1) {
  826. that.aeForm.classifyImg=res.Data.ResourceUrl;
  827. }else if(type == 2) {
  828. that.aeForm.bannerImg=res.Data.ResourceUrl;
  829. }else if(type == 3) {
  830. that.aeForm.avatar=res.Data.ResourceUrl
  831. }else if(type == 4) {
  832. that.aeForm.columImg=res.Data.ResourceUrl
  833. }else if(type == 5) {
  834. that.aeForm.reportImg=res.Data.ResourceUrl
  835. }else if(type == 6){
  836. that.aeForm.YbFiccIcon=res.Data.ResourceUrl
  837. }else if(type == 7){
  838. that.aeForm.YbIconUrl=res.Data.ResourceUrl
  839. }else if(type == 8){
  840. that.aeForm.YbBgUrl=res.Data.ResourceUrl
  841. }else if(type == 9){
  842. this.aeForm.YbListImg=res.Data.ResourceUrl
  843. }else if(type == 10){
  844. this.aeForm.YbShareBgImg=res.Data.ResourceUrl
  845. }else if(type == 11){
  846. this.aeForm.YbRightBanner=res.Data.ResourceUrl
  847. }else if(type==12){
  848. this.aeForm.YbShareBgImg_=res.Data.ResourceUrl
  849. }
  850. }
  851. $("#file"+type).val('');
  852. hostfile = {};
  853. });
  854. }else{
  855. that.$message.error('上传文件格式不正确!');
  856. }
  857. }
  858. },
  859. // 保存
  860. saveConfig(classifyId){
  861. if(!this.editedItems.includes(classifyId)) this.editedItems.push(classifyId)
  862. this.isShowPermissionDia=false
  863. },
  864. // 晨报周报 去设置章节
  865. chapterSetting(row){
  866. let reportType;
  867. if(row.ClassifyName=='周报'){
  868. reportType='week'
  869. }else{
  870. reportType='day'
  871. }
  872. this.$router.push({path:'chapterSetting',query:{reportType}})
  873. },
  874. //改变上级分类触发
  875. parentSelectChange(item){
  876. if(!item) return
  877. let YbShareBgImg = this.getParentYbShareBgImg(item)
  878. if(!this.aeForm.YbShareBgImg){
  879. this.$set(this.aeForm,'YbShareBgImg_',YbShareBgImg)
  880. }
  881. },
  882. //根据上级分类id获取YbShareBgImg
  883. getParentYbShareBgImg(id){
  884. let YbShareBgImg = ''
  885. let parent = this.classifyparentArr.find((item)=>{return item.Id===id})
  886. if(!parent) return
  887. YbShareBgImg = parent.YbShareBgImg||''
  888. return YbShareBgImg
  889. },
  890. //由于表单一些项可配置,表单验证规则也需要过滤掉不展示的项
  891. setPermissRules(){
  892. const {classifyBtn,checkPermissionBtn} = this.permissionBtn
  893. const permissMap={
  894. 'YbFiccIcon':checkPermissionBtn(classifyBtn.classifyList_cnClassify_ficcIcon),
  895. 'YbRightBanner':checkPermissionBtn(classifyBtn.classifyList_cnClassify_reportImgs),
  896. 'YbShareBgImg':checkPermissionBtn(classifyBtn.classifyList_cnClassify_shareImgs),
  897. 'YbFiccPcIcon':checkPermissionBtn(classifyBtn.classifyList_cnClassify_pcBackColor)
  898. }
  899. for(let k in permissMap){
  900. if(!permissMap[k]&&this.aerules[k]){
  901. delete this.aerules[k]
  902. }
  903. }
  904. }
  905. }
  906. }
  907. </script>
  908. <style lang="scss">
  909. #classifylist{
  910. .header{
  911. display: flex;
  912. align-items: center;
  913. justify-content: space-between;
  914. .type-box{
  915. span{
  916. cursor: pointer;
  917. display: inline-block;
  918. margin-right: 50px;
  919. font-size: 18px;
  920. padding-bottom: 10px;
  921. }
  922. .act{
  923. color: #409EFF;
  924. border-bottom: 2px solid #409EFF;
  925. }
  926. }
  927. }
  928. }
  929. #classifylist{ overflow:hidden;
  930. .dialogclassLog {
  931. position:absolute;
  932. top: 50%;
  933. left: 50%;
  934. transform: translate(-50%,-50%);
  935. margin-top: 0 !important;
  936. .el-dialog__body {
  937. height:65vh;
  938. overflow-y: auto;
  939. }
  940. }
  941. .el-input{
  942. width: 100%;
  943. }
  944. .el-form-item__label {
  945. width: 130px !important;
  946. }
  947. .editedsty{
  948. color: #0030a9;
  949. }
  950. .header .el-form-item{ margin-bottom:0; }
  951. }
  952. </style>