warningset.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. <!-- -->
  2. <template>
  3. <div class="warningsetbox">
  4. <div class="warningset_title">
  5. <div>
  6. <p class="selbase_title" style="margin-bottom: 10px">预警名称</p>
  7. <el-input
  8. v-model="warningsetoption.title"
  9. placeholder="请输入预警名称"
  10. maxlength="24"
  11. show-word-limit
  12. ></el-input>
  13. </div>
  14. <el-button type="success" size="mini" @click="goback">返回</el-button>
  15. </div>
  16. <div class="select_gather">
  17. <div class="warningset_selbase">
  18. <p class="selbase_title">预警设备选择</p>
  19. <el-select
  20. v-model="warningsetoption.device_ids"
  21. multiple
  22. filterable
  23. placeholder="请选择"
  24. @change="selbasechange"
  25. >
  26. <el-option
  27. v-for="item in device_idslist"
  28. :key="item.value"
  29. :label="item.label"
  30. :value="item.value"
  31. >
  32. </el-option>
  33. </el-select>
  34. <div class="selbase_seltype">
  35. <div>
  36. <span style="font-size: 14px">预警计算:</span>
  37. <el-radio v-model="warningsetoption.warning_type" label="0">逐台预警</el-radio>
  38. <el-radio
  39. v-model="warningsetoption.warning_type"
  40. :disabled="warningsetoption.device_ids.length <= 1"
  41. label="1"
  42. >合并预警</el-radio
  43. >
  44. </div>
  45. <div style="font-size: 14px; margin-top: 10px">
  46. <i class="el-icon-warning"></i>
  47. <span style="color: #999999"
  48. >逐台预警:以下预警条件将会适用于每台选择的设备;合并预警:以下预警条件将会适用于所选设备数据的综合</span
  49. >
  50. </div>
  51. </div>
  52. </div>
  53. <div class="warningset_setuser" v-if="false">
  54. <div class="warningset_setuser_top">
  55. <p class="selbase_title">短信接收人</p>
  56. <p class="compile" @click="dialogVisible = true">预警通讯录编辑</p>
  57. </div>
  58. <el-select v-model="warningsetoption.send_user" multiple filterable placeholder="请选择">
  59. <el-option
  60. v-for="item in userlist"
  61. :key="item.value"
  62. :label="item.label"
  63. :value="item.value"
  64. >
  65. </el-option>
  66. </el-select>
  67. </div>
  68. </div>
  69. <div class="warningset_setinfo">
  70. <p class="selbase_title">预警信息</p>
  71. <div class="setinfo_first">
  72. <div class="setinfo_first_left">
  73. <div class="setinfo_first_item">
  74. <div class="first_item_one">
  75. <p>1</p>
  76. <p>目标种类预警</p>
  77. </div>
  78. <div class="first_item_tow">
  79. <p>害虫种类预警</p>
  80. <el-switch
  81. v-model="warningsetoption.conf.pestCategory"
  82. active-color="#13ce66"
  83. inactive-color="#ff4949"
  84. >
  85. </el-switch>
  86. </div>
  87. <div class="first_item_three">
  88. <el-input
  89. v-model.number="warningsetoption.conf.pestCategoryNum"
  90. oninput="value=value.replace(/[^\d]+/g,'')"
  91. size="mini"
  92. >
  93. ></el-input
  94. >
  95. <p>每天害虫 <span>种类数量</span>达到此值时,短信预警</p>
  96. </div>
  97. </div>
  98. <div class="setinfo_first_item">
  99. <div class="first_item_one">
  100. <p>2</p>
  101. <p>总量预警</p>
  102. </div>
  103. <div class="first_item_tow">
  104. <p>害虫数量总和预警</p>
  105. <el-switch
  106. v-model="warningsetoption.conf.pestTotal"
  107. active-color="#13ce66"
  108. inactive-color="#ff4949"
  109. >
  110. </el-switch>
  111. </div>
  112. <div class="first_item_three">
  113. <el-input
  114. v-model.number="warningsetoption.conf.pestTotalNum"
  115. oninput="value=value.replace(/[^\d]+/g,'')"
  116. size="mini"
  117. >
  118. ></el-input
  119. >
  120. <p>每天害虫 <span>总数数量</span>达到此值时,短信预警</p>
  121. </div>
  122. </div>
  123. <div class="setinfo_first_item">
  124. <div class="first_item_one">
  125. <p>3</p>
  126. <p>综合预警</p>
  127. </div>
  128. <div class="first_item_tow">
  129. <p>监测每天出现的害虫种类及数量,短信预警</p>
  130. <el-switch
  131. v-model="warningsetoption.conf.pestWarn"
  132. active-color="#13ce66"
  133. inactive-color="#ff4949"
  134. >
  135. </el-switch>
  136. </div>
  137. </div>
  138. </div>
  139. <div class="setinfo_first_item">
  140. <div class="first_item_one">
  141. <p>4</p>
  142. <p>数量预警</p>
  143. </div>
  144. <div class="first_item_tow">
  145. <p>指定害虫数量预警</p>
  146. <el-switch
  147. v-model="warningsetoption.conf.appointPest"
  148. active-color="#13ce66"
  149. inactive-color="#ff4949"
  150. >
  151. </el-switch>
  152. </div>
  153. <div class="first_item_three">
  154. <div class="first_item_three_left">
  155. <div class="three_left_item">
  156. <el-select
  157. v-model="warningsetoption.conf.appointPestName"
  158. placeholder="请选择"
  159. size="mini"
  160. filterable
  161. >
  162. <el-option
  163. v-for="num in 332"
  164. :key="num"
  165. :label="cbdPest[num]"
  166. :value="num"
  167. ></el-option>
  168. </el-select>
  169. <el-input
  170. v-model.number="warningsetoption.conf.appointPestNum"
  171. oninput="value=value.replace(/[^\d]+/g,'')"
  172. size="mini"
  173. >
  174. ></el-input
  175. >
  176. <p>
  177. <i class="el-icon-circle-plus-outline" @click="addelemeent"></i>
  178. </p>
  179. </div>
  180. <div class="three_left_item" v-for="(item, index) in confcopy" :key="index">
  181. <el-select v-model="item.value" placeholder="请选择" size="mini" filterable>
  182. <el-option
  183. v-for="num in 332"
  184. :key="num"
  185. :label="cbdPest[num]"
  186. :value="num"
  187. ></el-option>
  188. </el-select>
  189. <el-input
  190. v-model.number="item.num"
  191. oninput="value=value.replace(/[^\d]+/g,'')"
  192. size="mini"
  193. >
  194. ></el-input
  195. >
  196. <p>
  197. <i class="el-icon-delete" style="color: #ff4949" @click="delelemeent(index)"></i>
  198. </p>
  199. </div>
  200. </div>
  201. <p>每天害虫 <span>指定害虫数</span>达到此值时,短信预警</p>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. <el-button type="success" style="margin-top: 20px" size="mini" @click="sure_sumbitwarn"
  207. >保存预警设置</el-button
  208. >
  209. <el-dialog
  210. title="预警通讯录编辑"
  211. :visible.sync="dialogVisible"
  212. width="600px"
  213. :close-on-click-modal="false"
  214. >
  215. <div class="userlistbox" v-loading="loading">
  216. <div class="userlistbox_caozuo">
  217. <el-input v-model="username" placeholder="请输入姓名" size="mini"></el-input>
  218. <el-input v-model="useriphone" placeholder="请输入手机号" size="mini"></el-input>
  219. <el-button type="success" size="mini" @click="adduser">添加</el-button>
  220. </div>
  221. <div class="userlistbox_table">
  222. <el-table :data="tabledata" stripe height="300" style="width: 100%">
  223. <el-table-column prop="liaisons" label="姓名" width="180"> </el-table-column>
  224. <el-table-column prop="phone" label="手机号" width="180"> </el-table-column>
  225. <el-table-column prop="address" label="操作">
  226. <template slot-scope="scope">
  227. <el-popconfirm title="确定删除该联系人吗?" @confirm="deluser(scope.row)">
  228. <p style="color: #ff4949" slot="reference">删除</p>
  229. </el-popconfirm>
  230. </template>
  231. </el-table-column>
  232. </el-table>
  233. </div>
  234. </div>
  235. </el-dialog>
  236. </div>
  237. </template>
  238. <script>
  239. // 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  240. import dict from '../../../../static/js/cbd_pest_library.js'
  241. export default {
  242. // import引入的组件需要注入到对象中才能使用
  243. components: {},
  244. data() {
  245. // 这里存放数据
  246. return {
  247. warnid: '',
  248. device_idslist: [],
  249. warningsetoption: {
  250. title: '',
  251. device_ids: [],
  252. warning_type: '0',
  253. conf: {
  254. pestCategoryNum: '', // 害虫种类数量
  255. appointPestNum: '', // 指定数量
  256. appointPestName: '', // 指定名称
  257. pestTotalNum: '', // 害虫数量总数
  258. pestTotal: false, // 害虫数量总数开关
  259. pestWarn: false, // 综合开关
  260. appointPest: false, // 指定数量开关
  261. pestCategory: false // 害虫种类开关
  262. },
  263. send_user: []
  264. },
  265. confcopy: [],
  266. cbdPest: dict,
  267. dialogVisible: false,
  268. userlist: [], // 用户列表
  269. tabledata: [], // 用户列表
  270. multipleSelection: [],
  271. username: '',
  272. useriphone: '',
  273. loading: false
  274. }
  275. },
  276. // 监听属性 类似于data概念
  277. computed: {},
  278. // 监控data中的数据变化
  279. watch: {},
  280. // 方法集合
  281. methods: {
  282. goback() {
  283. this.$router.go(-1)
  284. },
  285. // 获取预警配置
  286. getwarnset() {
  287. this.$axios({
  288. method: 'POST',
  289. url: '/api/api_gateway?method=device.device_sms_alert.user_pest_warning_statsu',
  290. data: this.qs.stringify({
  291. warning_id: this.warnid
  292. })
  293. }).then((res) => {
  294. if (res.data.message == '') {
  295. // console.log(res.data.data);
  296. var data = res.data.data
  297. // this.warningsetoption
  298. this.warningsetoption.title = data.warning_name
  299. this.warningsetoption.conf.pestCategoryNum = data.conf.pestCategoryNum
  300. this.warningsetoption.conf.appointPestNum = data.conf.appointPestNum
  301. this.warningsetoption.conf.appointPestName = Number(data.conf.appointPestName)
  302. this.warningsetoption.conf.pestTotalNum = data.conf.pestTotalNum
  303. this.warningsetoption.conf.pestTotal = data.conf.pestTotal == 'on'
  304. this.warningsetoption.conf.pestWarn = data.conf.pestWarn == 'on'
  305. this.warningsetoption.conf.appointPest = data.conf.appointPest == 'on'
  306. this.warningsetoption.conf.pestCategory = data.conf.pestCategory == 'on'
  307. var flag = 0
  308. for (var key in data.conf) {
  309. if (key.indexOf('ppointPestNum') != -1) {
  310. flag++
  311. }
  312. }
  313. if (flag > 1) {
  314. for (var i = 1; i < flag; i++) {
  315. // //console.log(i)
  316. var obj = {
  317. value: Number(data.conf['appointPestName' + i]),
  318. num: data.conf['appointPestNum' + i]
  319. }
  320. this.confcopy.push(obj)
  321. }
  322. }
  323. for (var key in data.device_ids) {
  324. this.warningsetoption.device_ids.push(Number(key))
  325. }
  326. // for (var key in data.send_user) {
  327. // this.warningsetoption.send_user.push(Number(key))
  328. // }
  329. this.warningsetoption.warning_type = data.warning_type.toString()
  330. } else {
  331. this.$message({
  332. message: res.data.message,
  333. type: 'warning',
  334. duration: 1500
  335. })
  336. }
  337. })
  338. },
  339. // 获取设备列表
  340. getbaselist() {
  341. this.$axios({
  342. method: 'POST',
  343. url: '/api/api_gateway?method=device.device_sms_alert.user_warning_device_list',
  344. data: this.qs.stringify({
  345. page: '1',
  346. page_size: 999999999,
  347. device_type_id: '3'
  348. })
  349. }).then((res) => {
  350. if (res.data.message == '') {
  351. var data = res.data.data.data
  352. this.device_idslist = []
  353. for (var i = 0; i < data.length; i++) {
  354. var obj = {
  355. value: data[i].d_id,
  356. label: data[i].device_id
  357. }
  358. this.device_idslist.push(obj)
  359. }
  360. } else {
  361. this.$message({
  362. message: res.data.message,
  363. type: 'warning',
  364. duration: 1500
  365. })
  366. }
  367. })
  368. },
  369. // 增加数量预警
  370. addelemeent() {
  371. if (
  372. this.warningsetoption.conf.appointPestNum != '' &&
  373. this.warningsetoption.conf.appointPestName != ''
  374. ) {
  375. if (this.confcopy.length == 0) {
  376. var obj = {
  377. value: '',
  378. num: ''
  379. }
  380. this.confcopy.push(obj)
  381. } else {
  382. if (
  383. this.confcopy[this.confcopy.length - 1].value != '' &&
  384. this.confcopy[this.confcopy.length - 1].num != ''
  385. ) {
  386. var obj = {
  387. value: '',
  388. num: ''
  389. }
  390. this.confcopy.push(obj)
  391. } else {
  392. this.$message({
  393. message: '请将信息填写完成添加',
  394. type: 'warning',
  395. duration: 1500
  396. })
  397. }
  398. }
  399. } else {
  400. this.$message({
  401. message: '请将信息填写完成添加',
  402. type: 'warning',
  403. duration: 1500
  404. })
  405. }
  406. },
  407. // 删除数量预警
  408. delelemeent(index) {
  409. this.confcopy.splice(index, 1)
  410. },
  411. selbasechange() {
  412. if (this.warningsetoption.device_ids.length <= 1) {
  413. this.warningsetoption.warning_type = '0'
  414. }
  415. },
  416. yanzheng() {
  417. if (
  418. this.warningsetoption.conf.appointPestNum == '' ||
  419. this.warningsetoption.conf.appointPestName == ''
  420. ) {
  421. return true
  422. } else if (this.confcopy.length) {
  423. if (
  424. this.confcopy[this.confcopy.length - 1].value == '' ||
  425. this.confcopy[this.confcopy.length - 1].num == ''
  426. ) {
  427. return true
  428. } else {
  429. return false
  430. }
  431. } else {
  432. return false
  433. }
  434. },
  435. sure_sumbitwarn() {
  436. if (this.warningsetoption.title == '') {
  437. this.$message({
  438. message: '请填写预警名称',
  439. type: 'warning',
  440. duration: 1500
  441. })
  442. } else if (this.warningsetoption.device_ids.length == 0) {
  443. this.$message({
  444. message: '请选择预警设备',
  445. type: 'warning',
  446. duration: 1500
  447. })
  448. } else if (
  449. this.warningsetoption.conf.pestTotal == false &&
  450. this.warningsetoption.conf.pestWarn == false &&
  451. this.warningsetoption.conf.appointPest == false &&
  452. this.warningsetoption.conf.pestCategory == false
  453. ) {
  454. this.$message({
  455. message: '请至少开启一项预警信息',
  456. type: 'warning',
  457. duration: 1500
  458. })
  459. } else if (
  460. this.warningsetoption.conf.pestCategory &&
  461. this.warningsetoption.conf.pestCategoryNum == ''
  462. ) {
  463. this.$message({
  464. message: '请将害虫种类预警信息填写完整',
  465. type: 'warning',
  466. duration: 1500
  467. })
  468. } else if (this.warningsetoption.conf.appointPest && this.yanzheng()) {
  469. this.$message({
  470. message: '请将指定害虫数量预警信息填写完整',
  471. type: 'warning',
  472. duration: 1500
  473. })
  474. } else if (
  475. this.warningsetoption.conf.pestTotal &&
  476. this.warningsetoption.conf.pestTotalNum == ''
  477. ) {
  478. this.$message({
  479. message: '请将指定害虫数量总和预警信息填写完整',
  480. type: 'warning',
  481. duration: 1500
  482. })
  483. } else {
  484. for (var i = 0; i < this.confcopy.length; i++) {
  485. this.warningsetoption.conf['appointPestNum' + (i + 1)] = this.confcopy[i].num
  486. this.warningsetoption.conf['appointPestName' + (i + 1)] = this.confcopy[i].value
  487. }
  488. var obj = JSON.parse(JSON.stringify(this.warningsetoption.conf))
  489. obj.pestTotal = obj.pestTotal ? 'on' : 'off'
  490. obj.pestWarn = obj.pestWarn ? 'on' : 'off'
  491. obj.appointPest = obj.appointPest ? 'on' : 'off'
  492. obj.pestCategory = obj.pestCategory ? 'on' : 'off'
  493. for (var key in obj) {
  494. obj[key].toString()
  495. }
  496. if (this.warnid == '') {
  497. // //console.log('创建');
  498. this.sumbitwarn_found(obj)
  499. } else {
  500. // //console.log('修改');
  501. this.sumbitwarn_amend(obj)
  502. }
  503. }
  504. },
  505. // 保存预警设置
  506. sumbitwarn_amend(obj) {
  507. // //console.log();
  508. // return;
  509. this.$axios({
  510. method: 'POST',
  511. url: '/api/api_gateway?method=device.device_sms_alert.create_user_pest_warning',
  512. data: this.qs.stringify({
  513. title: this.warningsetoption.title,
  514. device_ids: this.warningsetoption.device_ids.join(','),
  515. warning_type: this.warningsetoption.warning_type,
  516. conf: JSON.stringify(obj),
  517. // send_user: this.warningsetoption.send_user.join(','),
  518. warning_id: this.warnid
  519. })
  520. }).then((res) => {
  521. this.loading = false
  522. if (res.data.message == '') {
  523. // //console.log(res.data)\
  524. this.$message({
  525. message: '配置成功',
  526. type: 'success',
  527. duration: 1500
  528. })
  529. this.goback()
  530. } else {
  531. this.$message({
  532. message: res.data.message,
  533. type: 'warning',
  534. duration: 1500
  535. })
  536. }
  537. })
  538. },
  539. sumbitwarn_found(obj) {
  540. this.$axios({
  541. method: 'POST',
  542. url: '/api/api_gateway?method=device.device_sms_alert.create_user_warning_config',
  543. data: this.qs.stringify({
  544. title: this.warningsetoption.title,
  545. device_type_id: 3,
  546. device_ids: this.warningsetoption.device_ids.join(','),
  547. warning_type: this.warningsetoption.warning_type,
  548. conf: JSON.stringify(obj)
  549. // send_user: this.warningsetoption.send_user.join(',')
  550. })
  551. }).then((res) => {
  552. if (res.data.message == '') {
  553. this.$message({
  554. message: '添加成功',
  555. type: 'success',
  556. duration: 1500
  557. })
  558. this.goback()
  559. } else {
  560. this.$message({
  561. message: res.data.message,
  562. type: 'warning',
  563. duration: 1500
  564. })
  565. }
  566. })
  567. },
  568. // 获取通讯录
  569. getuserlistdata() {
  570. this.loading = true
  571. this.$axios({
  572. method: 'POST',
  573. url: '/api/api_gateway?method=device.device_sms_alert.user_warning_liaisons_list',
  574. data: this.qs.stringify({
  575. page: '1',
  576. page_size: 999999999
  577. })
  578. }).then((res) => {
  579. this.loading = false
  580. if (res.data.message == '') {
  581. var data = res.data.data.data
  582. // //console.log(data)
  583. this.tabledata = res.data.data.data
  584. for (var i = 0; i < data.length; i++) {
  585. var obj = {
  586. value: data[i].d_id,
  587. label: data[i].liaisons + '/' + data[i].phone
  588. }
  589. this.userlist.push(obj)
  590. }
  591. } else {
  592. this.$message({
  593. message: res.data.message,
  594. type: 'warning',
  595. duration: 1500
  596. })
  597. }
  598. })
  599. },
  600. // 添加用户
  601. adduser() {
  602. if (this.username == '') {
  603. this.$message({
  604. message: '请填写名称',
  605. type: 'warning',
  606. duration: 1500
  607. })
  608. } else if (this.useriphone == '') {
  609. this.$message({
  610. message: '请填写手机号',
  611. type: 'warning',
  612. duration: 1500
  613. })
  614. } else if (!/^1(1|2|3|4|5|6|7|8|9)\d{9}$/.test(this.useriphone)) {
  615. this.$message({
  616. message: '请填写正确手机号',
  617. type: 'warning',
  618. duration: 1500
  619. })
  620. } else {
  621. this.$axios({
  622. method: 'POST',
  623. url: '/api/api_gateway?method=device.device_sms_alert.create_user_warning_liaisons',
  624. data: this.qs.stringify({
  625. user_name: this.username,
  626. phone: this.useriphone
  627. })
  628. }).then((res) => {
  629. if (res.data.message == '') {
  630. this.$message({
  631. message: '添加成功',
  632. type: 'success',
  633. duration: 1500
  634. })
  635. this.getuserlistdata()
  636. } else {
  637. this.$message({
  638. message: res.data.message,
  639. type: 'warning',
  640. duration: 1500
  641. })
  642. }
  643. })
  644. }
  645. },
  646. // 删除用户
  647. deluser(data) {
  648. this.$axios({
  649. method: 'POST',
  650. url: '/api/api_gateway?method=device.device_sms_alert.del_user_warning_liaisons',
  651. data: this.qs.stringify({
  652. d_id: data.d_id
  653. })
  654. }).then((res) => {
  655. if (res.data.message == '') {
  656. this.$message({
  657. message: '删除成功',
  658. type: 'success',
  659. duration: 1500
  660. })
  661. this.getuserlistdata()
  662. } else {
  663. this.$message({
  664. message: res.data.message,
  665. type: 'warning',
  666. duration: 1500
  667. })
  668. }
  669. })
  670. }
  671. },
  672. beforeCreate() {}, // 生命周期 - 创建之前
  673. // 生命周期 - 创建完成(可以访问当前this实例)
  674. created() {
  675. this.getbaselist()
  676. this.getuserlistdata()
  677. if (this.$route.query.id) {
  678. this.warnid = this.$route.query.id
  679. this.getwarnset()
  680. } else {
  681. this.warnid = ''
  682. }
  683. },
  684. beforeMount() {}, // 生命周期 - 挂载之前
  685. // 生命周期 - 挂载完成(可以访问DOM元素)
  686. mounted() {},
  687. beforeUpdate() {}, // 生命周期 - 更新之前
  688. updated() {}, // 生命周期 - 更新之后
  689. beforeDestroy() {}, // 生命周期 - 销毁之前
  690. destroyed() {}, // 生命周期 - 销毁完成
  691. activated() {} // 如果页面有keep-alive缓存功能,这个函数会触发
  692. }
  693. 0
  694. </script>
  695. <style lang="less" scoped>
  696. .warningsetbox {
  697. width: 100%;
  698. margin-top: 20px;
  699. .warningset_title {
  700. width: 100%;
  701. display: flex;
  702. justify-content: space-between;
  703. .el-button {
  704. height: 30px;
  705. width: 58px;
  706. }
  707. .el-input {
  708. width: 500px;
  709. }
  710. }
  711. .select_gather {
  712. width: 100%;
  713. display: flex;
  714. }
  715. .warningset_selbase {
  716. margin-top: 20px;
  717. /deep/.el-select {
  718. width: 645px;
  719. margin: 10px 0;
  720. }
  721. .selbase_seltype {
  722. width: 80%;
  723. // display: flex;
  724. // justify-content: space-between;
  725. }
  726. }
  727. .warningset_setinfo {
  728. margin-top: 20px;
  729. width: 100%;
  730. .setinfo_first {
  731. width: 100%;
  732. display: flex;
  733. // justify-content: space-between;
  734. flex-wrap: wrap;
  735. .setinfo_first_item {
  736. margin-top: 10px;
  737. width: 50%;
  738. .first_item_one {
  739. display: flex;
  740. p {
  741. font-size: 14px;
  742. line-height: 24px;
  743. }
  744. p:first-child {
  745. width: 24px;
  746. height: 24px;
  747. border-radius: 24px;
  748. background-color: rgba(20, 164, 120, 0.3);
  749. color: #14a478;
  750. text-align: center;
  751. line-height: 24px;
  752. margin-right: 10px;
  753. }
  754. }
  755. .first_item_tow {
  756. display: flex;
  757. margin: 10px 0;
  758. p {
  759. font-size: 14px;
  760. line-height: 20px;
  761. margin-right: 10px;
  762. }
  763. }
  764. .first_item_three {
  765. display: flex;
  766. margin: 10px 0;
  767. /deep/.el-input {
  768. width: 300px;
  769. margin-right: 10px;
  770. }
  771. p:last-child {
  772. color: #999999;
  773. font-size: 12px;
  774. line-height: 28px;
  775. span {
  776. font-weight: 700;
  777. color: #14a478;
  778. }
  779. }
  780. .first_item_three_left {
  781. .three_left_item {
  782. display: flex;
  783. margin-bottom: 10px;
  784. p {
  785. font-size: 20px;
  786. color: #14a478;
  787. margin-right: 10px;
  788. }
  789. }
  790. /deep/.el-input {
  791. width: 180px;
  792. margin-right: 10px;
  793. }
  794. }
  795. }
  796. }
  797. .setinfo_first_left {
  798. width: 43%;
  799. .setinfo_first_item {
  800. width: 100%;
  801. margin-top: 20px;
  802. }
  803. }
  804. }
  805. }
  806. .warningset_setuser {
  807. margin-bottom: 10px;
  808. margin-top: 20px;
  809. .warningset_setuser_top {
  810. width: 645px;
  811. display: flex;
  812. justify-content: space-between;
  813. .compile {
  814. font-size: 14px;
  815. color: #14a478;
  816. }
  817. }
  818. /deep/.el-select {
  819. width: 645px;
  820. margin: 10px 0;
  821. }
  822. }
  823. .selbase_title {
  824. font-size: 16px;
  825. // font-weight: 700;
  826. color: #14a478;
  827. }
  828. }
  829. .userlistbox {
  830. width: 100%;
  831. .userlistbox_caozuo {
  832. /deep/.el-input {
  833. width: 180px;
  834. margin-right: 10px;
  835. }
  836. }
  837. .userlistbox_table {
  838. margin-top: 20px;
  839. }
  840. }
  841. </style>