小说后台管理系统
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 

334 rindas
8.8 KiB

  1. <template>
  2. <Dialog
  3. :is-dialog-exist="showDialog"
  4. :title="dialogTitle"
  5. :dialog-style="dialogStyle"
  6. @close-dialog="handleClose"
  7. >
  8. <el-tabs v-model="activeName">
  9. <el-tab-pane label="概况" name="message">
  10. <el-container>
  11. <el-main>
  12. <el-form
  13. size="mini"
  14. label-position="right"
  15. label-width="120px"
  16. ref="formData"
  17. :model="formData"
  18. :rules="rules"
  19. >
  20. <div class="formTitle">基本信息</div>
  21. <div class="item-box">
  22. <el-form-item label="头像">
  23. <img
  24. v-if="selectItem.avatarUrl"
  25. :src="selectItem.avatarUrl"
  26. class="circle-box size-35"
  27. alt="avatar"
  28. style="width: 70px; height: 70px; border-radius: 5px"
  29. />
  30. <img
  31. v-else
  32. :src="defaultAvatar"
  33. class="circle-box size-35"
  34. alt="avatar"
  35. style="width: 70px; height: 70px; border-radius: 5px"
  36. />
  37. </el-form-item>
  38. <el-form-item label="会员ID">
  39. <el-input disabled v-model="selectItem.id"></el-input>
  40. </el-form-item>
  41. </div>
  42. <div class="item-box">
  43. <el-form-item label="会员昵称">
  44. <el-input v-model="selectItem.username"></el-input>
  45. </el-form-item>
  46. <el-form-item label="手机号">
  47. <el-input v-model="selectItem.mobile"></el-input>
  48. </el-form-item>
  49. </div>
  50. <div class="item-box">
  51. <el-form-item label="账号状态">
  52. <el-select v-model="selectItem.status" placeholder="请选择">
  53. <el-option
  54. v-for="item in options"
  55. :key="item.value"
  56. :label="item.label"
  57. :value="item.value"
  58. >
  59. </el-option>
  60. </el-select>
  61. </el-form-item>
  62. <el-form-item label="邀请码">
  63. <el-input v-model="selectItem.invite_code"></el-input>
  64. </el-form-item>
  65. </div>
  66. <div class="item-box">
  67. <el-form-item label="微信号">
  68. <el-input v-model="selectItem.wx_account"></el-input>
  69. </el-form-item>
  70. <el-form-item label="密码">
  71. <el-input v-model="selectItem.password"></el-input>
  72. </el-form-item>
  73. </div>
  74. <div class="item-box" style="width: 100%">
  75. <el-form-item label="备注">
  76. <el-input style="width: 100%" v-model="selectItem.remark"></el-input>
  77. </el-form-item>
  78. </div>
  79. <!--
  80. <div class="item-list">
  81. <span class="itemSpan1">邀请码</span>
  82. <span class="itemSpan2" style="color: #178cf8">YT23694</span>
  83. <el-button
  84. @click="setInvitation('设置邀请码')"
  85. type="primary"
  86. size="mini"
  87. icon="el-icon-edit"
  88. plain
  89. >自定义邀请码</el-button
  90. >
  91. </div> -->
  92. <div class="item-list">
  93. <span class="itemSpan1">支付宝账号</span>
  94. <span class="itemSpan2">{{ selectItem.alipay_account || "-" }}</span>
  95. <el-button
  96. @click="setInvitation('修改绑定的支付宝')"
  97. type="danger"
  98. size="mini"
  99. icon="el-icon-bank-card"
  100. plain
  101. >更改绑定账号</el-button
  102. >
  103. </div>
  104. <!-- <div class="item-list">
  105. <span class="itemSpan1">会员等级</span>
  106. <span class="itemSpan2" style="color: #178cf8">普通会员</span>
  107. <el-button
  108. @click="setInvitation('设置等级')"
  109. type="primary"
  110. size="mini"
  111. icon="el-icon-edit"
  112. plain
  113. >设置等级</el-button
  114. >
  115. </div> -->
  116. <div class="formTitle">钱包数据</div>
  117. <div class="item-list">
  118. <span class="itemSpan1">余额变动</span>
  119. <span class="itemSpan2" style="color: #ff4242">{{
  120. selectItem.balance || "0.00"
  121. }}</span>
  122. <el-button
  123. @click="setInvitation('调整余额')"
  124. type="primary"
  125. size="mini"
  126. icon="el-icon-edit"
  127. plain
  128. >调整</el-button
  129. >
  130. </div>
  131. <div class="item-list">
  132. <span class="itemSpan1">积分变动</span>
  133. <span class="itemSpan2" style="color: #ff4242">{{
  134. selectItem.integral || "0.00"
  135. }}</span>
  136. <el-button
  137. @click="setInvitation('调整积分')"
  138. type="primary"
  139. size="mini"
  140. icon="el-icon-edit"
  141. plain
  142. >调整</el-button
  143. >
  144. </div>
  145. </el-form>
  146. </el-main>
  147. </el-container>
  148. </el-tab-pane>
  149. <el-tab-pane label="余额变动" name="balance">余额变动</el-tab-pane>
  150. <el-tab-pane label="积分变动" name="integral">积分变动</el-tab-pane>
  151. </el-tabs>
  152. <el-footer>
  153. <el-button type="primary" @click="submitForm">确定</el-button>
  154. <el-button @click="handleClose">取消</el-button>
  155. </el-footer>
  156. <OtherSettingsDialog
  157. :showDialog="isOtherSettings"
  158. :dialogTitle="othoerItem.title"
  159. :selectItem="selectItem"
  160. @handle-close="OtherClose"
  161. ></OtherSettingsDialog>
  162. </Dialog>
  163. </template>
  164. <script>
  165. import Dialog from "@/components/Dialog/index";
  166. import OtherSettingsDialog from "./otherSettingsDialog/otherSettingsDialog";
  167. /**
  168. * 结算dialog
  169. */
  170. export default {
  171. components: { Dialog, OtherSettingsDialog },
  172. props: {
  173. // 弹窗控制参数
  174. showDialog: {
  175. type: Boolean,
  176. default: false,
  177. },
  178. // 选中的数据
  179. selectItem: {
  180. type: Object,
  181. default: () => {},
  182. },
  183. },
  184. data() {
  185. return {
  186. activeName: "message",
  187. // dialog样式
  188. dialogStyle: {
  189. "--dialog-width": "1000px",
  190. "--dialog-height": "844px",
  191. "--title-height": "51px",
  192. },
  193. // 弹窗标题
  194. dialogTitle: "会员明细",
  195. // 提交参数
  196. formData: {},
  197. // 校验规则
  198. rules: {},
  199. defaultAvatar: "./pic/default/default_avatar.png",
  200. //
  201. isOtherSettings: false,
  202. othoerItem: {},
  203. options: [
  204. {
  205. value: 1,
  206. label: "正常",
  207. },
  208. {
  209. value: -1,
  210. label: "不正常",
  211. },
  212. ],
  213. value: "",
  214. };
  215. },
  216. watch: {
  217. showDialog(val) {
  218. if (val) {
  219. this.initDataView();
  220. }
  221. },
  222. },
  223. methods: {
  224. // 关闭弹窗
  225. handleClose() {
  226. this.$emit("handle-close");
  227. },
  228. // 初始化弹窗参数
  229. initDataView() {
  230. console.log("初始化弹窗参数");
  231. },
  232. // 提交表单
  233. submitForm() {
  234. this.$emit("handle-success");
  235. },
  236. customValidate() {
  237. let rlt = true;
  238. return rlt;
  239. },
  240. // 自定义邀请码
  241. setInvitation(title) {
  242. this.othoerItem = {
  243. title: title,
  244. data: [],
  245. };
  246. this.isOtherSettings = true;
  247. },
  248. OtherClose() {
  249. console.log(123);
  250. this.isOtherSettings = false;
  251. },
  252. },
  253. };
  254. </script>
  255. <style lang="scss" scoped>
  256. .el-container {
  257. width: 100%;
  258. height: 100%;
  259. .el-main {
  260. height: 90%;
  261. width: 100%;
  262. box-sizing: border-box;
  263. padding: 20px 40px;
  264. .formTitle {
  265. color: #333333;
  266. font-size: 16px;
  267. height: 12px;
  268. line-height: 12px;
  269. padding-left: 6px;
  270. border-left: 3px solid #1890ff;
  271. margin-bottom: 30px;
  272. }
  273. .item-box {
  274. display: flex;
  275. align-items: flex-start;
  276. div {
  277. width: 50%;
  278. }
  279. }
  280. }
  281. .el-footer {
  282. height: 10%;
  283. width: 100%;
  284. display: flex;
  285. justify-content: center;
  286. align-items: center;
  287. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  288. bottom: 0;
  289. position: absolute;
  290. }
  291. }
  292. .item-list {
  293. display: flex;
  294. font-size: 14px;
  295. align-items: center;
  296. margin-bottom: 20px;
  297. padding: 0 20px;
  298. .itemSpan1 {
  299. margin-right: 20px;
  300. text-align: right;
  301. color: #333333;
  302. }
  303. .itemSpan2 {
  304. margin-right: auto;
  305. }
  306. }
  307. </style>