当前位置:   article > 正文

关于element-ui dialog title等样式修改

dialog title

 修改style样式

 

但是由于scope只能修改当前组件样式,所以去掉scope

  1. <style>
  2. .el-dialog__header {
  3. background: #002a52;
  4. text-align: center;
  5. }
  6. .el-dialog__title {
  7. color: aliceblue;
  8. }
  9. </style>

我们可以F12 

点击你想修改的地方

查看dialog的class

然后进行修改

全部测试代码

  1. <template>
  2. <div>
  3. <!-- Form -->
  4. <el-button type="text" @click="dialogVisible = true">打开嵌套表单的 Dialog</el-button>
  5. <el-dialog
  6. :visible.sync="dialogVisible"
  7. title=" 指図種別情報参照画面"
  8. >
  9. <el-table
  10. stripe = true
  11. :data="dataList"
  12. border
  13. v-loading="dataListLoading"
  14. @selection-change="handleSelectionChange"
  15. style="100%"
  16. height="445px"
  17. >
  18. <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
  19. <el-table-column prop="ordertype" header-align="center" label="指図種別" ></el-table-column>
  20. <el-table-column prop="explanation" header-align="center" label="説明" ></el-table-column>
  21. </el-table>
  22. <span slot="footer" class="dialog-footer">
  23. <el-button @click="dialogVisible = false" style="width:120px">キャンセル</el-button>
  24. <el-button type="primary" @click="dataFormSubmit()" style="width:120px">確定</el-button>
  25. </span>
  26. </el-dialog>
  27. </div>
  28. </template>
  29. <script>
  30. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  31. //例如:import 《组件名称》 from '《组件路径》';
  32. export default {
  33. //import引入的组件需要注入到对象中才能使用
  34. components: {},
  35. data() {
  36. //这里存放数据
  37. return {
  38. multipleSelection: [],
  39. dataList: [
  40. {
  41. ordertype: 'AA0',
  42. explanation: 'パターン1:売上計上(完了ベース)',
  43. }, {
  44. ordertype: 'AA2',
  45. explanation: 'パターン1:売上計上(完了ベース)',
  46. }, {
  47. ordertype: 'AB0',
  48. explanation: 'パターン1:売上計上(完了ベース)',
  49. }, {
  50. ordertype: 'BE0',
  51. explanation: 'パターン1:売上計上(完了ベース)',
  52. }, {
  53. ordertype: 'AA2',
  54. explanation: 'パターン1:売上計上(完了ベース)',
  55. }, {
  56. ordertype: 'AB0',
  57. explanation: 'パターン1:売上計上(完了ベース)',
  58. }, {
  59. ordertype: 'BE0',
  60. explanation: 'パターン1:売上計上(完了ベース)',
  61. }, {
  62. ordertype: 'AA2',
  63. explanation: 'パターン1:売上計上(完了ベース)',
  64. }, {
  65. ordertype: 'AB0',
  66. explanation: 'パターン1:売上計上(完了ベース)',
  67. }, {
  68. ordertype: 'BE0',
  69. explanation: 'パターン1:売上計上(完了ベース)',
  70. }, {
  71. ordertype: 'AB0',
  72. explanation: 'パターン1:売上計上(完了ベース)',
  73. }, {
  74. ordertype: 'BE0',
  75. explanation: 'パターン1:売上計上(完了ベース)',
  76. }, {
  77. ordertype: 'AA2',
  78. explanation: 'パターン1:売上計上(完了ベース)',
  79. }, {
  80. ordertype: 'AB0',
  81. explanation: 'パターン1:売上計上(完了ベース)',
  82. }
  83. ],
  84. dialogVisible : true
  85. };
  86. },
  87. //监听属性 类似于data概念
  88. computed: {},
  89. //监控data中的数据变化
  90. watch: {},
  91. //方法集合
  92. methods: {
  93. //过度画面 数据提交
  94. dataFormSubmit(){
  95. },
  96. //选中数据
  97. handleSelectionChange(val) {
  98. this.multipleSelection = val;
  99. }
  100. },
  101. //生命周期 - 创建完成(可以访问当前this实例)
  102. created() {},
  103. //生命周期 - 挂载完成(可以访问DOM元素)
  104. mounted() {}
  105. };
  106. </script>
  107. // 全局修改dilog样式
  108. <style>
  109. .el-dialog__header {
  110. background: #002a52;
  111. text-align: center;
  112. }
  113. .el-dialog__title {
  114. color: aliceblue;
  115. }
  116. </style>

后续修改:

我们把这个画面设置成为组件

引入这个文件组件

  1. import AddOrUpdate from "./attrgroup-add-or-update";
  2. components: { AddOrUpdate },

引用子组件,画面显示

  1. <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate"
  2. @refreshDataList="getDataList"></add-or-update>

 设置一个按钮如果保存或者更新的时候,我们可以直接调用这个方法

this.$nextTick
这个方法作用是当数据被修改后使用这个方法会回调获取更新后的dom再渲染出来

  1. addOrUpdateHandle(id) {
  2. this.addOrUpdateVisible = true;
  3. this.$nextTick(() => {
  4. this.$refs.addOrUpdate.init(id);
  5. });
  6. },

 父组件调用子组件的方法  请求最新的数据初始化

  1. init(id) {
  2. this.dataForm.attrGroupId = id || 0;
  3. this.visible = true;
  4. this.$nextTick(() => {
  5. this.$refs["dataForm"].resetFields();
  6. if (this.dataForm.attrGroupId) {
  7. this.$http({
  8. url: this.$http.adornUrl(
  9. `/product/attrgroup/info/${this.dataForm.attrGroupId}`
  10. ),
  11. method: "get",
  12. params: this.$http.adornParams()
  13. }).then(({ data }) => {
  14. if (data && data.code === 0) {
  15. this.dataForm.attrGroupName = data.attrGroup.attrGroupName;
  16. this.dataForm.sort = data.attrGroup.sort;
  17. this.dataForm.descript = data.attrGroup.descript;
  18. this.dataForm.icon = data.attrGroup.icon;
  19. this.dataForm.catelogId = data.attrGroup.catelogId;
  20. //查出catelogId的完整路径
  21. this.catelogPath = data.attrGroup.catelogPath;
  22. }
  23. });
  24. }
  25. });
  26. },

利用  this.$emit("refreshDataList");

可以向父组件传递数

画面测试

  1. <template>
  2. <div class="scr_distribution_ref">
  3. <div class="header">配賦先入力画面</div>
  4. <el-container class="_container">
  5. <el-main>
  6. <el-form
  7. :inline="true"
  8. :model="dataForm"
  9. @keyup.enter.native="searchList()"
  10. >
  11. <el-form-item label="キーワード">
  12. <span class="search-input"
  13. ><el-input
  14. v-model="dataForm.serarchText"
  15. placeholder="検索条件を入力してください"
  16. clearable
  17. ></el-input
  18. ></span>
  19. </el-form-item>
  20. <el-form-item>
  21. <el-button @click="searchList()" type="primary" style="width: 120px"
  22. >検索</el-button
  23. >
  24. </el-form-item>
  25. </el-form>
  26. <el-table
  27. stripe
  28. :data="dataList"
  29. ref="multipleTable"
  30. border
  31. v-loading="dataListLoading"
  32. highlight-current-row
  33. @selection-change="handleSelectionChange"
  34. style="width: 100%"
  35. height="450px"
  36. empty-text="データなし"
  37. >
  38. <el-table-column
  39. type="selection"
  40. header-align="center"
  41. align="center"
  42. width="50"
  43. ></el-table-column>
  44. <el-table-column
  45. prop="col_category"
  46. header-align="center"
  47. label="カテゴリ"
  48. width="200px"
  49. ></el-table-column>
  50. <el-table-column
  51. prop="col_category_name"
  52. header-align="center"
  53. label="カテゴリ名称"
  54. ></el-table-column>
  55. <el-table-column
  56. prop="col_remark "
  57. header-align="center"
  58. label="備考"
  59. width="300px"
  60. ></el-table-column>
  61. </el-table>
  62. <p class="choiceLable">選択された配賦先</p>
  63. <el-table
  64. :data="multipleSelection"
  65. border
  66. v-loading="dataListLoading"
  67. highlight-current-row
  68. style="width: 100%"
  69. ref="TwoTable"
  70. empty-text="データなし"
  71. >
  72. <el-table-column align="center" width="50"></el-table-column>
  73. <el-table-column
  74. prop="col_category"
  75. header-align="center"
  76. label="カテゴリ"
  77. width="200px"
  78. ></el-table-column>
  79. <el-table-column
  80. prop="col_category_name"
  81. header-align="center"
  82. label="カテゴリ名称"
  83. ></el-table-column>
  84. <el-table-column
  85. header-align="center"
  86. align="center"
  87. label="負担率"
  88. width="300px"
  89. >
  90. <template slot-scope="scope">
  91. <el-input
  92. size="mini"
  93. placeholder="負担率を入力してください"
  94. v-model="scope.row.col_burden_rate"
  95. oninput="value=value.replace(/[^\d]/g,'')"
  96. maxlength="3"
  97. >
  98. <i
  99. slot="suffix"
  100. style="
  101. font-style: normal;
  102. margin-right: 120px;
  103. float: left;
  104. margin-top: 3.5px;
  105. "
  106. v-show="scope.row.col_burden_rate != null"
  107. >%</i
  108. >
  109. </el-input>
  110. </template>
  111. </el-table-column>
  112. </el-table>
  113. <div class="footer-div">
  114. <p class="_totalMarks">{{ totalMarks }}</p>
  115. <p class="_total">選択された配賦先</p>
  116. <p class="_totalRight">※トータル負担率が100%にらないけません</p>
  117. </div>
  118. <span class="bottom_button">
  119. <el-button @click="cancelNavigat()" style="width: 120px"
  120. >キャンセル</el-button
  121. >
  122. <el-button
  123. type="primary"
  124. @click="dataFormSubmit()"
  125. style="width: 120px"
  126. >確定</el-button
  127. >
  128. </span>
  129. </el-main>
  130. </el-container>
  131. </div>
  132. </template>
  133. <script>
  134. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  135. //例如:import 《组件名称》 from '《组件路径》';
  136. export default {
  137. //import引入的组件需要注入到对象中才能使用
  138. components: {},
  139. data() {
  140. //这里存放数据
  141. return {
  142. dataListLoading: false,
  143. dataForm: {
  144. serarchText: "",
  145. },
  146. multipleSelection: [],
  147. dataList: [
  148. {
  149. col_category: "AA0",
  150. col_category_name: "パターン1:売上計上(完了ベース)",
  151. col_remark: "",
  152. },
  153. {
  154. col_category: "AA2",
  155. col_category_name: "パターン1:売上計上(完了ベース)",
  156. col_remark: "",
  157. },
  158. {
  159. col_category: "AB0",
  160. col_category_name: "パターン1:売上計上(完了ベース)",
  161. col_remark: "",
  162. },
  163. {
  164. col_category: "BE0",
  165. col_category_name: "パターン1:売上計上(完了ベース)",
  166. remarks: "",
  167. },
  168. {
  169. col_category: "AA2",
  170. col_category_name: "パターン1:売上計上(完了ベース)",
  171. col_remark: "",
  172. },
  173. ],
  174. dialogVisible: true,
  175. };
  176. },
  177. //监听属性 类似于data概念
  178. computed: {
  179. totalMarks: {
  180. cache: false,
  181. get: function () {
  182. let total = 0;
  183. let _this = this;
  184. console.log("this.multipleSelection11" + this.multipleSelection);
  185. _this.multipleSelection.forEach((item) => {
  186. if (item.col_burden_rate != null) {
  187. console.log(Number(item.col_burden_rate));
  188. total = total + Number(item.col_burden_rate);
  189. }
  190. });
  191. return total;
  192. },
  193. },
  194. },
  195. //监控data中的数据变化
  196. watch: {},
  197. //方法集合
  198. methods: {
  199. dataFormSubmit() {
  200. console.log("---------" + this.totalMarks);
  201. if (this.totalMarks == 0) {
  202. this.$message({
  203. message:
  204. "負担率は0%にすることはいけません ---msg_common.msg_search_condition_null",
  205. type: "success",
  206. // duration: 1500,
  207. // onClose: () => {
  208. // this.getDataList();
  209. // }
  210. });
  211. } else if (this.totalMarks != 100) {
  212. this.$message({
  213. message:
  214. "配賦先の合計負担率が100%でないことはいけません ---msg_common.msg_search_condition_null",
  215. type: "success",
  216. });
  217. } else {
  218. //若各负荷率不为0%且合计文本为100%,则将列表中选定的分配目的地数据传递至主画面,关闭画面,返回主画面。
  219. }
  220. },
  221. cancelNavigat(){
  222. this.$router.push("/NavigationBar");
  223. },
  224. init() {
  225. this.getDataList();
  226. },
  227. searchList() {
  228. console.log("this.dataForm.serarchText" + this.dataForm.serarchText);
  229. /// キーワードを指定しない場合、「検索条件を入力してください」(msg_common.msg_search_condition_null)とのメッセージを表示して、処理を中止する
  230. if (this.dataForm.serarchText == "") {
  231. this.$message({
  232. message: "検索条件を入力してください",
  233. type: "success",
  234. });
  235. } else {
  236. this.getDataList();
  237. }
  238. },
  239. //检索数据 页面初始化
  240. getDataList() {
  241. //检索数据
  242. // 2.1 結果がない場合
  243. // 「配賦先データは存在していません」(msg_common.msg_result_null_jp)を表示する
  244. // リスト配賦先カテゴリをBLANK画面で表示する
  245. if (this.dataList == null) {
  246. this.$message({
  247. message: "配賦先データは存在していません",
  248. type: "success",
  249. });
  250. }
  251. },
  252. //获取选择数据
  253. handleSelectionChange(val) {
  254. this.multipleSelection = [];
  255. this.multipleSelection = val;
  256. },
  257. },
  258. //生命周期 - 创建完成(可以访问当前this实例)
  259. created() {
  260. this.init();
  261. },
  262. //生命周期 - 挂载完成(可以访问DOM元素)
  263. mounted() {},
  264. };
  265. </script>
  266. <style>
  267. .scr_distribution_ref .el-form-item__label {
  268. background: rgb(37, 71, 134);
  269. color: aliceblue;
  270. width: 250px;
  271. }
  272. .scr_distribution_ref .el-input__inner {
  273. border-radius: 0px;
  274. width: 400px;
  275. }
  276. .scr_distribution_ref ._container {
  277. border: 1px solid #000;
  278. }
  279. .scr_distribution_ref .header {
  280. background-color: #053868;
  281. color: rgb(255, 255, 255);
  282. text-align: center;
  283. line-height: 40px;
  284. height: 100%;
  285. width: 100%;
  286. }
  287. .scr_distribution_ref .choiceLable {
  288. background: rgb(37, 71, 134);
  289. color: aliceblue;
  290. width: 250px;
  291. height: 40px;
  292. font-size: 14px;
  293. line-height: 40px;
  294. text-align: right;
  295. padding: 0 12px 0 0;
  296. margin: 0;
  297. margin-top: 20px;
  298. }
  299. .scr_distribution_ref .bottom_button {
  300. float: right;
  301. margin-top: 5px;
  302. }
  303. .scr_distribution_ref .footer-div ._total {
  304. border: 1px solid rgb(8, 8, 8);
  305. width: 150px;
  306. height: 36px;
  307. /* display:inline-block; */
  308. background: rgb(37, 71, 134);
  309. color: rgb(255, 255, 255);
  310. line-height: 36px;
  311. font-size: 14px;
  312. text-align: right;
  313. padding: 0 12px 0 0;
  314. margin: 0;
  315. float: right;
  316. }
  317. .scr_distribution_ref .footer-div ._totalMarks {
  318. border: 1px solid rgb(226, 215, 215);
  319. width: 300px;
  320. height: 36px;
  321. /* display:inline-block; */
  322. background: rgb(255, 255, 255);
  323. color: rgb(0, 0, 0);
  324. line-height: 36px;
  325. font-size: 14px;
  326. text-align: right;
  327. padding: 0 12px 0 0;
  328. margin: 0;
  329. float: right;
  330. }
  331. .scr_distribution_ref .footer-div {
  332. height: 44px;
  333. overflow: hidden;
  334. }
  335. .scr_distribution_ref .footer-div ._totalRight {
  336. color: rgb(255, 8, 8);
  337. float: right;
  338. margin-right: 8px;
  339. line-height: 44px;
  340. }
  341. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/91087
推荐阅读