overallManager.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  1. <template>
  2. <div class="">
  3. <!-- <h2>参数设置</h2> -->
  4. <div>
  5. <el-form :inline="true" :model="form" ref="form">
  6. <el-alert
  7. style="margin: 10px 0"
  8. title="平台参数设置"
  9. :closable="false"
  10. type="info"
  11. >
  12. </el-alert>
  13. <el-row>
  14. <el-form-item
  15. prop="10"
  16. :rules="[
  17. {
  18. required: false,
  19. pattern: /^[1-9][0-9]*$/,
  20. message: '请输入正确的天数',
  21. },
  22. ]"
  23. >
  24. 缴费状态提前:
  25. <el-input v-model="form['10']" placeholder="请输入天数">
  26. <template slot="append">天</template>
  27. </el-input>
  28. 刷新
  29. </el-form-item>
  30. </el-row>
  31. <el-row>
  32. <el-form-item prop="18">
  33. 用户默认头像地址:
  34. <el-input
  35. style="width: 180px"
  36. class="marginLR5"
  37. v-model="form['18']"
  38. placeholder="请输入链接地址"
  39. >
  40. </el-input>
  41. </el-form-item>
  42. </el-row>
  43. <el-row>
  44. <el-form-item prop="19">
  45. 学员报名链接地址:
  46. <el-input
  47. style="width: 180px"
  48. class="marginLR5"
  49. v-model="form['19']"
  50. placeholder="请输入链接地址"
  51. >
  52. </el-input>
  53. </el-form-item>
  54. </el-row>
  55. <el-row>
  56. <el-form-item prop="19">
  57. 平台客服电话:
  58. <el-input
  59. style="width: 180px"
  60. class="marginLR5"
  61. v-model="form['19']"
  62. placeholder="请输入电话"
  63. >
  64. </el-input>
  65. </el-form-item>
  66. </el-row>
  67. <el-row>
  68. <el-form-item
  69. prop="23"
  70. :rules="[
  71. {
  72. required: false,
  73. pattern: /^[1-9][0-9]*$/,
  74. message: '请输入正确的分钟数',
  75. },
  76. ]"
  77. >
  78. 乐团课结算参考总时长:
  79. <el-input v-model="form['23']" placeholder="请输入分钟数">
  80. <template slot="append">分钟</template>
  81. </el-input>
  82. </el-form-item>
  83. </el-row>
  84. <el-row>
  85. <el-form-item
  86. prop="24"
  87. :rules="[
  88. {
  89. required: false,
  90. pattern: /^[1-9][0-9]*$/,
  91. message: '请输入正确的分钟数',
  92. },
  93. ]"
  94. >
  95. 乐团课结算单课时参考时长:
  96. <el-input v-model="form['24']" placeholder="请输入分钟数">
  97. <template slot="append">分钟</template>
  98. </el-input>
  99. </el-form-item>
  100. </el-row>
  101. <el-row>
  102. <el-form-item
  103. prop="25"
  104. :rules="[
  105. {
  106. required: false,
  107. pattern: /^[1-9][0-9]*$/,
  108. message: '请输入正确的天数',
  109. },
  110. ]"
  111. >
  112. 退款周期:
  113. <el-input v-model="form['25']" placeholder="请输入天数">
  114. <template slot="append">天</template>
  115. </el-input>
  116. </el-form-item>
  117. </el-row>
  118. <el-row>
  119. <el-form-item prop="32">
  120. 接口URL地址:
  121. <el-input
  122. style="width: 180px"
  123. class="marginLR5"
  124. v-model="form['32']"
  125. placeholder="请输入地址"
  126. >
  127. </el-input>
  128. </el-form-item>
  129. </el-row>
  130. <el-row>
  131. <el-form-item prop="52">
  132. 教师请假数据:
  133. <el-input
  134. style="width: 180px"
  135. class="marginLR5"
  136. v-model="form['52']"
  137. placeholder="请输入数据"
  138. >
  139. </el-input>
  140. </el-form-item>
  141. </el-row>
  142. <el-row>
  143. <el-form-item prop="53">
  144. 老师陪练报告提交URL:
  145. <el-input
  146. style="width: 180px"
  147. class="marginLR5"
  148. v-model="form['53']"
  149. placeholder="请输入URL"
  150. >
  151. </el-input>
  152. </el-form-item>
  153. </el-row>
  154. <el-row>
  155. <el-form-item prop="54">
  156. 报告提交URL:
  157. <el-input
  158. style="width: 180px"
  159. class="marginLR5"
  160. v-model="form['54']"
  161. placeholder="请输入URL"
  162. >
  163. </el-input>
  164. </el-form-item>
  165. </el-row>
  166. <el-row>
  167. <el-form-item prop="58">
  168. 付费陪练课活动截止时间:
  169. <el-date-picker
  170. class="marginLR5"
  171. v-model="form['58']"
  172. type="datetime"
  173. format="yyyy-MM-dd HH:mm:ss"
  174. value-format="yyyy-MM-dd HH:mm:ss"
  175. placeholder="选择截止时间"
  176. >
  177. </el-date-picker>
  178. </el-form-item>
  179. </el-row>
  180. <el-row>
  181. <el-form-item prop="63">
  182. 付费网管课促销活动开始时间:
  183. <el-date-picker
  184. class="marginLR5"
  185. v-model="form['63']"
  186. type="datetime"
  187. format="yyyy-MM-dd HH:mm:ss"
  188. value-format="yyyy-MM-dd HH:mm:ss"
  189. placeholder="选择截止时间"
  190. >
  191. </el-date-picker>
  192. </el-form-item>
  193. </el-row>
  194. <el-row>
  195. <el-form-item prop="62">
  196. 教师端baseURL:
  197. <el-input
  198. style="width: 180px"
  199. class="marginLR5"
  200. v-model="form['62']"
  201. placeholder="请输入URL"
  202. >
  203. </el-input>
  204. </el-form-item>
  205. </el-row>
  206. <el-row>
  207. <el-form-item prop="64">
  208. 教务端baseURL:
  209. <el-input
  210. style="width: 180px"
  211. class="marginLR5"
  212. v-model="form['64']"
  213. placeholder="请输入URL"
  214. >
  215. </el-input>
  216. </el-form-item>
  217. </el-row>
  218. <el-row>
  219. <el-form-item prop="66">
  220. 免费网管课可预约截止时间:
  221. <el-date-picker
  222. class="marginLR5"
  223. v-model="form['66']"
  224. type="datetime"
  225. format="yyyy-MM-dd HH:mm:ss"
  226. value-format="yyyy-MM-dd HH:mm:ss"
  227. placeholder="选择截止时间"
  228. >
  229. </el-date-picker>
  230. </el-form-item>
  231. </el-row>
  232. <!-- <el-row>
  233. <el-form-item
  234. prop="203"
  235. :rules="[
  236. {
  237. required: false,
  238. pattern: /^[1-9][0-9]*$/,
  239. message: '请输入正确的分钟数',
  240. },
  241. ]"
  242. >
  243. 云教室可提前
  244. <el-input
  245. v-model="form['203']"
  246. placeholder="请输入分钟数"
  247. >
  248. <template slot="append">分钟</template> </el-input
  249. >进入教室
  250. </el-form-item>
  251. </el-row>
  252. <el-row>
  253. <el-form-item
  254. prop="204"
  255. :rules="[
  256. {
  257. required: false,
  258. pattern: /^[1-9][0-9]*$/,
  259. message: '请输入正确的分钟数',
  260. },
  261. ]"
  262. >
  263. 云教室课程结束后
  264. <el-input
  265. v-model="form['204']"
  266. placeholder="请输入分钟数"
  267. >
  268. <template slot="append">分钟</template> </el-input
  269. >关闭教室
  270. </el-form-item>
  271. </el-row> -->
  272. <el-row>
  273. <el-form-item prop="89">
  274. 学员端
  275. <el-time-picker
  276. class="marginLR5"
  277. v-model="form['89']"
  278. format="HH:mm"
  279. value-format="HH:mm"
  280. :picker-options="{
  281. selectableRange: '00:00:00 - 23:59:59',
  282. }"
  283. placeholder="请选择时间"
  284. >
  285. </el-time-picker>
  286. </el-form-item>
  287. <el-form-item>
  288. 之后的推送延迟到第二天
  289. <el-time-picker
  290. class="marginLR5"
  291. v-model="form['205']"
  292. format="HH:mm"
  293. value-format="HH:mm"
  294. :picker-options="{
  295. selectableRange: '00:00:00 - 23:59:59',
  296. }"
  297. placeholder="请选择时间"
  298. >
  299. </el-time-picker>
  300. 发送
  301. </el-form-item>
  302. </el-row>
  303. <el-row>
  304. <el-form-item prop="103">
  305. 乐团满意度调查问卷编号
  306. <el-input
  307. style="width: 180px"
  308. class="marginLR5"
  309. v-model="form['103']"
  310. placeholder="请输入问卷编号"
  311. >
  312. </el-input>
  313. </el-form-item>
  314. </el-row>
  315. <el-row>
  316. <el-form-item
  317. prop="74"
  318. :rules="[
  319. {
  320. required: false,
  321. pattern: /^[1-9][0-9]*$/,
  322. message: '请输入正确的天数',
  323. },
  324. ]"
  325. >
  326. 乐团缴费开启后
  327. <el-input v-model="form['74']" placeholder="请输入天数">
  328. <template slot="append">天</template>
  329. </el-input>
  330. 向乐团主管发送缴费明细短信
  331. </el-form-item>
  332. </el-row>
  333. <el-row>
  334. <el-form-item
  335. prop="240"
  336. :rules="[
  337. {
  338. required: true,
  339. message: '请输入正确的金额',
  340. trigger: 'blur',
  341. pattern: /^(\+)?\d+(\.\d+)?$/,
  342. },
  343. ]"
  344. >
  345. 机构云教室账户余额小于
  346. <el-input v-model="form['240']" placeholder="请输入金额">
  347. <template slot="append">元</template>
  348. </el-input>
  349. 时发送短信和邮件提醒
  350. </el-form-item>
  351. </el-row>
  352. </el-form>
  353. <!-- 列表 -->
  354. <!-- <el-row>
  355. <el-col
  356. :span="12"
  357. v-for="(config, index) in configList"
  358. :key="config.id"
  359. >
  360. {{ config.description[0] }}
  361. <el-input v-model.trim="input[index]" >
  362. <template slot="append" v-if="config.description[1]">{{
  363. config.description[1]
  364. }}</template>
  365. </el-input>
  366. <el-button
  367. @click="onSave(config, index)"
  368. v-permission="'sysConfig/update/overallManager'"
  369. type="primary"
  370. >保存</el-button
  371. >
  372. </el-col>
  373. </el-row> -->
  374. </div>
  375. <el-button
  376. type="primary"
  377. @click="save"
  378. class="saveBtn"
  379. v-permission="'sysConfig/batchUpdate/overallManager'"
  380. >保存</el-button
  381. >
  382. </div>
  383. </template>
  384. <script>
  385. import pagination from "@/components/Pagination/index";
  386. import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings";
  387. export default {
  388. components: { pagination },
  389. name: "overallManagerTwo",
  390. data() {
  391. return {
  392. configList: [],
  393. input: [],
  394. form: {},
  395. };
  396. },
  397. mounted() {
  398. this.__init();
  399. },
  400. methods: {
  401. __init() {
  402. sysConfigList({ group: "DEFAULT" }).then((res) => {
  403. if (res.code == 200 && res.data.length > 0) {
  404. res.data.forEach((item) => {
  405. // this.form[item.paramName] = item.paranValue
  406. this.$set(this.form, item.id, item.paranValue);
  407. });
  408. // this.$forceUpdate()
  409. // console.log(this.form);
  410. }
  411. });
  412. },
  413. // onSave(row, index) {
  414. // let params = {
  415. // id: row.id,
  416. // paranValue: this.input[index],
  417. // paramName: row.paramName,
  418. // description: row.description.join("{}"),
  419. // };
  420. // sysConfigUpdate(params).then((res) => {
  421. // if (res.code == 200) {
  422. // this.$message.success("修改成功");
  423. // }
  424. // });
  425. // },
  426. async save() {
  427. this.$refs.form.validate(async (valid) => {
  428. if (valid) {
  429. let param = [];
  430. for (let i in this.form) {
  431. param.push({
  432. id: i,
  433. paranValue: this.form[i],
  434. });
  435. }
  436. try {
  437. const res = await sysConfigUpdate(param);
  438. this.$message.success("保存成功");
  439. this.__init();
  440. } catch (e) {
  441. console.log(e);
  442. }
  443. }
  444. });
  445. },
  446. },
  447. };
  448. </script>
  449. <style lang="scss" scoped>
  450. @import "~@scss/views/courseRulersManager/index.scss";
  451. </style>