add-or-update.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892
  1. <template>
  2. <div class="addEdit-block">
  3. <el-form
  4. class="add-update-preview"
  5. ref="ruleForm"
  6. :model="ruleForm"
  7. :rules="rules"
  8. label-width="180px"
  9. >
  10. <template >
  11. <el-form-item class="date" v-if="type!='info'" label="日期" prop="date" >
  12. <el-date-picker
  13. format="yyyy 年 MM 月 dd 日"
  14. value-format="yyyy-MM-dd"
  15. v-model="ruleForm.date"
  16. type="date"
  17. :readonly="ro.date"
  18. placeholder="日期"
  19. ></el-date-picker>
  20. </el-form-item>
  21. <el-form-item class="input" v-else-if="ruleForm.date" label="日期" prop="date" >
  22. <el-input v-model="ruleForm.date" placeholder="日期" readonly></el-input>
  23. </el-form-item>
  24. <el-form-item class="input" v-if="type!='info'" label="城市" prop="city" >
  25. <el-input v-model="ruleForm.city" placeholder="城市" clearable :readonly="ro.city"></el-input>
  26. </el-form-item>
  27. <el-form-item v-else class="input" label="城市" prop="city" >
  28. <el-input v-model="ruleForm.city" placeholder="城市" readonly></el-input>
  29. </el-form-item>
  30. <el-form-item class="input" v-if="type!='info'" label="温度" prop="temperature" >
  31. <el-input-number v-model="ruleForm.temperature" placeholder="温度" :disabled="ro.temperature"></el-input-number>
  32. </el-form-item>
  33. <el-form-item v-else class="input" label="温度" prop="temperature" >
  34. <el-input v-model="ruleForm.temperature" placeholder="温度" readonly></el-input>
  35. </el-form-item>
  36. <el-form-item class="input" v-if="type!='info'" label="气压" prop="airpressure" >
  37. <el-input-number v-model="ruleForm.airpressure" placeholder="气压" :disabled="ro.airpressure"></el-input-number>
  38. </el-form-item>
  39. <el-form-item v-else class="input" label="气压" prop="airpressure" >
  40. <el-input v-model="ruleForm.airpressure" placeholder="气压" readonly></el-input>
  41. </el-form-item>
  42. <el-form-item class="input" v-if="type!='info'" label="湿度" prop="humidity" >
  43. <el-input-number v-model="ruleForm.humidity" placeholder="湿度" :disabled="ro.humidity"></el-input-number>
  44. </el-form-item>
  45. <el-form-item v-else class="input" label="湿度" prop="humidity" >
  46. <el-input v-model="ruleForm.humidity" placeholder="湿度" readonly></el-input>
  47. </el-form-item>
  48. <el-form-item class="input" v-if="type!='info'" label="风速" prop="windspeed" >
  49. <el-input-number v-model="ruleForm.windspeed" placeholder="风速" :disabled="ro.windspeed"></el-input-number>
  50. </el-form-item>
  51. <el-form-item v-else class="input" label="风速" prop="windspeed" >
  52. <el-input v-model="ruleForm.windspeed" placeholder="风速" readonly></el-input>
  53. </el-form-item>
  54. <el-form-item class="input" v-if="type!='info'" label="风向" prop="winddirection" >
  55. <el-input v-model="ruleForm.winddirection" placeholder="风向" clearable :readonly="ro.winddirection"></el-input>
  56. </el-form-item>
  57. <el-form-item v-else class="input" label="风向" prop="winddirection" >
  58. <el-input v-model="ruleForm.winddirection" placeholder="风向" readonly></el-input>
  59. </el-form-item>
  60. <el-form-item class="input" v-if="type!='info'" label="露点温度" prop="dewpointtemperature" >
  61. <el-input-number v-model="ruleForm.dewpointtemperature" placeholder="露点温度" :disabled="ro.dewpointtemperature"></el-input-number>
  62. </el-form-item>
  63. <el-form-item v-else class="input" label="露点温度" prop="dewpointtemperature" >
  64. <el-input v-model="ruleForm.dewpointtemperature" placeholder="露点温度" readonly></el-input>
  65. </el-form-item>
  66. <el-form-item class="input" v-if="type!='info'" label="云量" prop="cloudcover" >
  67. <el-input v-model.number="ruleForm.cloudcover" placeholder="云量" clearable :readonly="ro.cloudcover"></el-input>
  68. </el-form-item>
  69. <el-form-item v-else class="input" label="云量" prop="cloudcover" >
  70. <el-input v-model="ruleForm.cloudcover" placeholder="云量" readonly></el-input>
  71. </el-form-item>
  72. <el-form-item class="input" v-if="type!='info'" label="当日降雨量" prop="dailyrainfall" >
  73. <el-input-number v-model="ruleForm.dailyrainfall" placeholder="当日降雨量" :disabled="ro.dailyrainfall"></el-input-number>
  74. </el-form-item>
  75. <el-form-item v-else class="input" label="当日降雨量" prop="dailyrainfall" >
  76. <el-input v-model="ruleForm.dailyrainfall" placeholder="当日降雨量" readonly></el-input>
  77. </el-form-item>
  78. <el-form-item class="input" v-if="type!='info'" label="累计降雨量" prop="accumulatedrainfall" >
  79. <el-input-number v-model="ruleForm.accumulatedrainfall" placeholder="累计降雨量" :disabled="ro.accumulatedrainfall"></el-input-number>
  80. </el-form-item>
  81. <el-form-item v-else class="input" label="累计降雨量" prop="accumulatedrainfall" >
  82. <el-input v-model="ruleForm.accumulatedrainfall" placeholder="累计降雨量" readonly></el-input>
  83. </el-form-item>
  84. <el-form-item class="input" v-if="type!='info'" label="降雨持续时间" prop="rainfallduration" >
  85. <el-input-number v-model="ruleForm.rainfallduration" placeholder="降雨持续时间" :disabled="ro.rainfallduration"></el-input-number>
  86. </el-form-item>
  87. <el-form-item v-else class="input" label="降雨持续时间" prop="rainfallduration" >
  88. <el-input v-model="ruleForm.rainfallduration" placeholder="降雨持续时间" readonly></el-input>
  89. </el-form-item>
  90. <el-form-item class="input" v-if="type!='info'" label="降雨强度" prop="rainfallintensity" >
  91. <el-input-number v-model="ruleForm.rainfallintensity" placeholder="降雨强度" :disabled="ro.rainfallintensity"></el-input-number>
  92. </el-form-item>
  93. <el-form-item v-else class="input" label="降雨强度" prop="rainfallintensity" >
  94. <el-input v-model="ruleForm.rainfallintensity" placeholder="降雨强度" readonly></el-input>
  95. </el-form-item>
  96. <el-form-item class="input" v-if="type!='info'" label="海拔高度" prop="altitude" >
  97. <el-input-number v-model="ruleForm.altitude" placeholder="海拔高度" :disabled="ro.altitude"></el-input-number>
  98. </el-form-item>
  99. <el-form-item v-else class="input" label="海拔高度" prop="altitude" >
  100. <el-input v-model="ruleForm.altitude" placeholder="海拔高度" readonly></el-input>
  101. </el-form-item>
  102. <el-form-item class="input" v-if="type!='info'" label="地形类型" prop="terraintype" >
  103. <el-input v-model="ruleForm.terraintype" placeholder="地形类型" clearable :readonly="ro.terraintype"></el-input>
  104. </el-form-item>
  105. <el-form-item v-else class="input" label="地形类型" prop="terraintype" >
  106. <el-input v-model="ruleForm.terraintype" placeholder="地形类型" readonly></el-input>
  107. </el-form-item>
  108. </template>
  109. <el-form-item class="btn">
  110. <el-button class="btn3" v-if="type!='info'" type="success" @click="onSubmit">
  111. <span class="icon iconfont icon-xihuan"></span>
  112. 提交
  113. </el-button>
  114. <el-button class="btn4" v-if="type!='info'" type="success" @click="back()">
  115. <span class="icon iconfont icon-xihuan"></span>
  116. 取消
  117. </el-button>
  118. <el-button class="btn5" v-if="type=='info'" type="success" @click="back()">
  119. <span class="icon iconfont icon-xihuan"></span>
  120. 返回
  121. </el-button>
  122. </el-form-item>
  123. </el-form>
  124. </div>
  125. </template>
  126. <script>
  127. import {
  128. isNumber,
  129. isIntNumer,
  130. } from "@/utils/validate";
  131. export default {
  132. data() {
  133. var validateNumber = (rule, value, callback) => {
  134. if(!value){
  135. callback();
  136. } else if (!isNumber(value)) {
  137. callback(new Error("请输入数字"));
  138. } else {
  139. callback();
  140. }
  141. };
  142. var validateIntNumber = (rule, value, callback) => {
  143. if(!value){
  144. callback();
  145. } else if (!isIntNumer(value)) {
  146. callback(new Error("请输入整数"));
  147. } else {
  148. callback();
  149. }
  150. };
  151. return {
  152. id: '',
  153. type: '',
  154. ro:{
  155. date : false,
  156. city : false,
  157. temperature : false,
  158. airpressure : false,
  159. humidity : false,
  160. windspeed : false,
  161. winddirection : false,
  162. dewpointtemperature : false,
  163. cloudcover : false,
  164. dailyrainfall : false,
  165. accumulatedrainfall : false,
  166. rainfallduration : false,
  167. rainfallintensity : false,
  168. latitude : false,
  169. longitude : false,
  170. altitude : false,
  171. terraintype : false,
  172. },
  173. ruleForm: {
  174. date: '',
  175. city: '',
  176. temperature: '',
  177. airpressure: '',
  178. humidity: '',
  179. windspeed: '',
  180. winddirection: '',
  181. dewpointtemperature: '',
  182. cloudcover: '',
  183. dailyrainfall: '',
  184. accumulatedrainfall: '',
  185. rainfallduration: '',
  186. rainfallintensity: '',
  187. latitude: '',
  188. longitude: '',
  189. altitude: '',
  190. terraintype: '',
  191. },
  192. rules: {
  193. date: [
  194. ],
  195. city: [
  196. ],
  197. temperature: [
  198. { validator: validateNumber, trigger: 'blur' },
  199. ],
  200. airpressure: [
  201. { validator: validateNumber, trigger: 'blur' },
  202. ],
  203. humidity: [
  204. { validator: validateNumber, trigger: 'blur' },
  205. ],
  206. windspeed: [
  207. { validator: validateNumber, trigger: 'blur' },
  208. ],
  209. winddirection: [
  210. ],
  211. dewpointtemperature: [
  212. { validator: validateNumber, trigger: 'blur' },
  213. ],
  214. cloudcover: [
  215. { validator: validateIntNumber, trigger: 'blur' },
  216. ],
  217. dailyrainfall: [
  218. { validator: validateNumber, trigger: 'blur' },
  219. ],
  220. accumulatedrainfall: [
  221. { validator: validateNumber, trigger: 'blur' },
  222. ],
  223. rainfallduration: [
  224. { validator: validateNumber, trigger: 'blur' },
  225. ],
  226. rainfallintensity: [
  227. { validator: validateNumber, trigger: 'blur' },
  228. ],
  229. latitude: [
  230. ],
  231. longitude: [
  232. ],
  233. altitude: [
  234. { validator: validateNumber, trigger: 'blur' },
  235. ],
  236. terraintype: [
  237. ],
  238. },
  239. };
  240. },
  241. props: ["parent"],
  242. computed: {
  243. },
  244. components: {
  245. },
  246. created() {
  247. },
  248. methods: {
  249. // 下载
  250. download(file){
  251. window.open(`${file}`)
  252. },
  253. // 初始化
  254. init(id,type) {
  255. if (id) {
  256. this.id = id;
  257. this.type = type;
  258. }
  259. if(this.type=='info'||this.type=='else'||this.type=='msg'){
  260. this.info(id);
  261. }else if(this.type=='logistics'){
  262. for(let x in this.ro) {
  263. this.ro[x] = true
  264. }
  265. this.logistics=false;
  266. this.info(id);
  267. }else if(this.type=='cross'){
  268. var obj = this.$storage.getObj('crossObj');
  269. for (var o in obj){
  270. if(o=='date'){
  271. this.ruleForm.date = obj[o];
  272. this.ro.date = true;
  273. continue;
  274. }
  275. if(o=='city'){
  276. this.ruleForm.city = obj[o];
  277. this.ro.city = true;
  278. continue;
  279. }
  280. if(o=='temperature'){
  281. this.ruleForm.temperature = obj[o];
  282. this.ro.temperature = true;
  283. continue;
  284. }
  285. if(o=='airpressure'){
  286. this.ruleForm.airpressure = obj[o];
  287. this.ro.airpressure = true;
  288. continue;
  289. }
  290. if(o=='humidity'){
  291. this.ruleForm.humidity = obj[o];
  292. this.ro.humidity = true;
  293. continue;
  294. }
  295. if(o=='windspeed'){
  296. this.ruleForm.windspeed = obj[o];
  297. this.ro.windspeed = true;
  298. continue;
  299. }
  300. if(o=='winddirection'){
  301. this.ruleForm.winddirection = obj[o];
  302. this.ro.winddirection = true;
  303. continue;
  304. }
  305. if(o=='dewpointtemperature'){
  306. this.ruleForm.dewpointtemperature = obj[o];
  307. this.ro.dewpointtemperature = true;
  308. continue;
  309. }
  310. if(o=='cloudcover'){
  311. this.ruleForm.cloudcover = obj[o];
  312. this.ro.cloudcover = true;
  313. continue;
  314. }
  315. if(o=='dailyrainfall'){
  316. this.ruleForm.dailyrainfall = obj[o];
  317. this.ro.dailyrainfall = true;
  318. continue;
  319. }
  320. if(o=='accumulatedrainfall'){
  321. this.ruleForm.accumulatedrainfall = obj[o];
  322. this.ro.accumulatedrainfall = true;
  323. continue;
  324. }
  325. if(o=='rainfallduration'){
  326. this.ruleForm.rainfallduration = obj[o];
  327. this.ro.rainfallduration = true;
  328. continue;
  329. }
  330. if(o=='rainfallintensity'){
  331. this.ruleForm.rainfallintensity = obj[o];
  332. this.ro.rainfallintensity = true;
  333. continue;
  334. }
  335. if(o=='latitude'){
  336. this.ruleForm.latitude = obj[o];
  337. this.ro.latitude = true;
  338. continue;
  339. }
  340. if(o=='longitude'){
  341. this.ruleForm.longitude = obj[o];
  342. this.ro.longitude = true;
  343. continue;
  344. }
  345. if(o=='altitude'){
  346. this.ruleForm.altitude = obj[o];
  347. this.ro.altitude = true;
  348. continue;
  349. }
  350. if(o=='terraintype'){
  351. this.ruleForm.terraintype = obj[o];
  352. this.ro.terraintype = true;
  353. continue;
  354. }
  355. }
  356. }
  357. // 获取用户信息
  358. this.$http({
  359. url: `${this.$storage.get('sessionTable')}/session`,
  360. method: "get"
  361. }).then(({ data }) => {
  362. if (data && data.code === 0) {
  363. var json = data.data;
  364. } else {
  365. this.$message.error(data.msg);
  366. }
  367. });
  368. },
  369. // 多级联动参数
  370. info(id) {
  371. this.$http({
  372. url: `rainfalldata/info/${id}`,
  373. method: "get"
  374. }).then(({ data }) => {
  375. if (data && data.code === 0) {
  376. this.ruleForm = data.data;
  377. //解决前台上传图片后台不显示的问题
  378. let reg=new RegExp('../../../upload','g')//g代表全部
  379. } else {
  380. this.$message.error(data.msg);
  381. }
  382. });
  383. },
  384. // 提交
  385. async onSubmit() {
  386. var objcross = this.$storage.getObj('crossObj');
  387. if(!this.ruleForm.id) {
  388. delete this.ruleForm.userid
  389. }
  390. await this.$refs["ruleForm"].validate(async valid => {
  391. if (valid) {
  392. if(this.type=='cross'){
  393. var statusColumnName = this.$storage.get('statusColumnName');
  394. var statusColumnValue = this.$storage.get('statusColumnValue');
  395. if(statusColumnName!='') {
  396. var obj = this.$storage.getObj('crossObj');
  397. if(statusColumnName && !statusColumnName.startsWith("[")) {
  398. for (var o in obj){
  399. if(o==statusColumnName){
  400. obj[o] = statusColumnValue;
  401. }
  402. }
  403. var table = this.$storage.get('crossTable');
  404. await this.$http({
  405. url: `${table}/update`,
  406. method: "post",
  407. data: obj
  408. }).then(({ data }) => {});
  409. }
  410. }
  411. }
  412. await this.$http({
  413. url: `rainfalldata/${!this.ruleForm.id ? "save" : "update"}`,
  414. method: "post",
  415. data: this.ruleForm
  416. }).then(async ({ data }) => {
  417. if (data && data.code === 0) {
  418. this.$message({
  419. message: "操作成功",
  420. type: "success",
  421. duration: 1500,
  422. onClose: () => {
  423. this.parent.showFlag = true;
  424. this.parent.addOrUpdateFlag = false;
  425. this.parent.rainfalldataCrossAddOrUpdateFlag = false;
  426. this.parent.search();
  427. this.parent.contentStyleChange();
  428. }
  429. });
  430. } else {
  431. this.$message.error(data.msg);
  432. }
  433. });
  434. }
  435. });
  436. },
  437. // 获取uuid
  438. getUUID () {
  439. return new Date().getTime();
  440. },
  441. // 返回
  442. back() {
  443. this.parent.showFlag = true;
  444. this.parent.addOrUpdateFlag = false;
  445. this.parent.rainfalldataCrossAddOrUpdateFlag = false;
  446. this.parent.contentStyleChange();
  447. },
  448. }
  449. };
  450. </script>
  451. <style lang="scss" scoped>
  452. .addEdit-block {
  453. padding: 30px;
  454. background: none;
  455. width: 100%;
  456. }
  457. .add-update-preview {
  458. border-radius: 10px;
  459. padding: 40px 25% 40px 18%;
  460. background: #ffffff;
  461. border-color: #eee;
  462. border-width: 1px;
  463. border-style: solid;
  464. }
  465. .amap-wrapper {
  466. width: 100%;
  467. height: 500px;
  468. }
  469. .search-box {
  470. position: absolute;
  471. }
  472. .el-date-editor.el-input {
  473. width: auto;
  474. }
  475. .add-update-preview ::v-deep .el-form-item {
  476. border: 0px solid #eee;
  477. padding: 0;
  478. margin: 0 0 22px 0;
  479. display: inline-block;
  480. width: 100%;
  481. }
  482. .add-update-preview .el-form-item ::v-deep .el-form-item__label {
  483. padding: 0 10px 0 0;
  484. color: #6e6e6e;
  485. font-weight: 500;
  486. width: 180px;
  487. font-size: 15px;
  488. line-height: 40px;
  489. text-align: right;
  490. }
  491. .add-update-preview .el-form-item ::v-deep .el-form-item__content {
  492. margin-left: 180px;
  493. }
  494. .add-update-preview .el-form-item span.text {
  495. padding: 0 10px;
  496. color: #333;
  497. background: none;
  498. font-weight: 500;
  499. display: inline-block;
  500. font-size: 15px;
  501. line-height: 40px;
  502. min-width: 50%;
  503. }
  504. .add-update-preview .el-input {
  505. width: 100%;
  506. }
  507. .add-update-preview .el-input ::v-deep .el-input__inner {
  508. border: 1px solid #E8E8E8;
  509. border-radius: 0px;
  510. padding: 0 12px;
  511. color: #666;
  512. background: #fff;
  513. width: 100%;
  514. font-size: 15px;
  515. min-width: 50%;
  516. height: 40px;
  517. }
  518. .add-update-preview .el-input ::v-deep .el-input__inner[readonly="readonly"] {
  519. border: 0px solid #ccc;
  520. cursor: not-allowed;
  521. border-radius: 0px;
  522. padding: 0 12px;
  523. color: #666;
  524. background: none;
  525. width: auto;
  526. font-size: 15px;
  527. height: 40px;
  528. }
  529. .add-update-preview .el-input-number {
  530. text-align: left;
  531. width: 100%;
  532. }
  533. .add-update-preview .el-input-number ::v-deep .el-input__inner {
  534. text-align: left;
  535. border: 1px solid #E8E8E8;
  536. border-radius: 0px;
  537. padding: 0 12px;
  538. color: #666;
  539. background: #fff;
  540. width: 100%;
  541. font-size: 15px;
  542. min-width: 50%;
  543. height: 40px;
  544. }
  545. .add-update-preview .el-input-number ::v-deep .is-disabled .el-input__inner {
  546. text-align: left;
  547. border: 0px solid #ccc;
  548. cursor: not-allowed;
  549. border-radius: 0px;
  550. padding: 0 12px;
  551. color: #666;
  552. background: none;
  553. width: auto;
  554. font-size: 15px;
  555. height: 40px;
  556. }
  557. .add-update-preview .el-input-number ::v-deep .el-input-number__decrease {
  558. display: none;
  559. }
  560. .add-update-preview .el-input-number ::v-deep .el-input-number__increase {
  561. display: none;
  562. }
  563. .add-update-preview .el-select {
  564. width: 100%;
  565. }
  566. .add-update-preview .el-select ::v-deep .el-input__inner {
  567. border: 1px solid #E8E8E8;
  568. border-radius: 0px;
  569. padding: 0 10px;
  570. color: #666;
  571. background: #fff;
  572. width: 100%;
  573. font-size: 15px;
  574. height: 40px;
  575. }
  576. .add-update-preview .el-select ::v-deep .is-disabled .el-input__inner {
  577. border: 0;
  578. cursor: not-allowed;
  579. border-radius: 4px;
  580. padding: 0 10px;
  581. color: #666;
  582. background: none;
  583. width: auto;
  584. font-size: 15px;
  585. height: 34px;
  586. }
  587. .add-update-preview .el-date-editor {
  588. width: 100%;
  589. }
  590. .add-update-preview .el-date-editor ::v-deep .el-input__inner {
  591. border: 1px solid #E8E8E8;
  592. border-radius: 0px;
  593. padding: 0 10px 0 30px;
  594. color: #666;
  595. background: #fff;
  596. width: 100%;
  597. font-size: 15px;
  598. height: 40px;
  599. }
  600. .add-update-preview .el-date-editor ::v-deep .el-input__inner[readonly="readonly"] {
  601. border: 0;
  602. cursor: not-allowed;
  603. border-radius: 0px;
  604. padding: 0 10px 0 30px;
  605. color: #666;
  606. background: none;
  607. width: auto;
  608. font-size: 15px;
  609. height: 40px;
  610. }
  611. .add-update-preview .viewBtn {
  612. border: 1px solid #E8E8E8;
  613. cursor: pointer;
  614. border-radius: 0px;
  615. padding: 0 15px;
  616. margin: 0 20px 0 0;
  617. color: #666;
  618. background: #fff;
  619. width: auto;
  620. font-size: 15px;
  621. line-height: 34px;
  622. height: 34px;
  623. .iconfont {
  624. margin: 0 2px;
  625. color: #666;
  626. font-size: 16px;
  627. height: 34px;
  628. }
  629. }
  630. .add-update-preview .viewBtn:hover {
  631. opacity: 0.8;
  632. }
  633. .add-update-preview .downBtn {
  634. border: 1px solid #E8E8E8;
  635. cursor: pointer;
  636. border-radius: 0px;
  637. padding: 0 15px;
  638. margin: 0 20px 0 0;
  639. color: #666;
  640. background: #fff;
  641. width: auto;
  642. font-size: 15px;
  643. line-height: 34px;
  644. height: 34px;
  645. .iconfont {
  646. margin: 0 2px;
  647. color: #666;
  648. font-size: 16px;
  649. height: 34px;
  650. }
  651. }
  652. .add-update-preview .downBtn:hover {
  653. opacity: 0.8;
  654. }
  655. .add-update-preview .unBtn {
  656. border: 0;
  657. cursor: not-allowed;
  658. border-radius: 4px;
  659. padding: 0 0px;
  660. margin: 0 20px 0 0;
  661. outline: none;
  662. color: #999;
  663. background: none;
  664. width: auto;
  665. font-size: 15px;
  666. line-height: 40px;
  667. height: 40px;
  668. .iconfont {
  669. margin: 0 2px;
  670. color: #fff;
  671. display: none;
  672. font-size: 14px;
  673. height: 34px;
  674. }
  675. }
  676. .add-update-preview .unBtn:hover {
  677. opacity: 0.8;
  678. }
  679. .add-update-preview ::v-deep .el-upload--picture-card {
  680. background: transparent;
  681. border: 0;
  682. border-radius: 0;
  683. width: auto;
  684. height: auto;
  685. line-height: initial;
  686. vertical-align: middle;
  687. }
  688. .add-update-preview ::v-deep .upload .upload-img {
  689. border: 1px solid #E8E8E8;
  690. cursor: pointer;
  691. border-radius: 0px;
  692. color: #666;
  693. background: #fff;
  694. width: 90px;
  695. font-size: 24px;
  696. line-height: 60px;
  697. text-align: center;
  698. height: 60px;
  699. }
  700. .add-update-preview ::v-deep .el-upload-list .el-upload-list__item {
  701. border: 1px solid #E8E8E8;
  702. cursor: pointer;
  703. border-radius: 0px;
  704. color: #666;
  705. background: #fff;
  706. width: 90px;
  707. font-size: 24px;
  708. line-height: 60px;
  709. text-align: center;
  710. height: 60px;
  711. }
  712. .add-update-preview ::v-deep .el-upload .el-icon-plus {
  713. border: 1px solid #E8E8E8;
  714. cursor: pointer;
  715. border-radius: 0px;
  716. color: #666;
  717. background: #fff;
  718. width: 90px;
  719. font-size: 24px;
  720. line-height: 60px;
  721. text-align: center;
  722. height: 60px;
  723. }
  724. .add-update-preview ::v-deep .el-upload__tip {
  725. color: #666;
  726. font-size: 15px;
  727. }
  728. .add-update-preview .el-textarea ::v-deep .el-textarea__inner {
  729. border: 1px solid #E8E8E8;
  730. border-radius: 0px;
  731. padding: 12px;
  732. color: #666;
  733. background: #fff;
  734. width: 100%;
  735. font-size: 15px;
  736. min-height: 150px;
  737. height: auto;
  738. }
  739. .add-update-preview .el-textarea ::v-deep .el-textarea__inner[readonly="readonly"] {
  740. border: 0;
  741. cursor: not-allowed;
  742. border-radius: 0px;
  743. padding: 12px;
  744. color: #666;
  745. background: none;
  746. width: auto;
  747. font-size: 15px;
  748. min-width: 400px;
  749. height: auto;
  750. }
  751. .add-update-preview .el-form-item.btn {
  752. padding: 0;
  753. margin: 20px 0 0;
  754. .btn1 {
  755. border: 0px solid #ccc;
  756. cursor: pointer;
  757. border-radius: 6px;
  758. padding: 0 10px;
  759. margin: 0 10px 0 0;
  760. color: #fff;
  761. background: #0356bb;
  762. width: auto;
  763. font-size: 16px;
  764. min-width: 110px;
  765. height: 40px;
  766. .iconfont {
  767. margin: 0 2px;
  768. color: #fff;
  769. display: none;
  770. font-size: 14px;
  771. height: 40px;
  772. }
  773. }
  774. .btn1:hover {
  775. opacity: 0.8;
  776. }
  777. .btn2 {
  778. border: 0px solid #ccc;
  779. cursor: pointer;
  780. border-radius: 6px;
  781. padding: 0 10px;
  782. margin: 0 10px 0 0;
  783. color: #fff;
  784. background: #39c9ee;
  785. width: auto;
  786. font-size: 16px;
  787. min-width: 110px;
  788. height: 40px;
  789. .iconfont {
  790. margin: 0 2px;
  791. color: #fff;
  792. display: none;
  793. font-size: 14px;
  794. height: 34px;
  795. }
  796. }
  797. .btn2:hover {
  798. opacity: 0.8;
  799. }
  800. .btn3 {
  801. border: 0px solid #ccc;
  802. cursor: pointer;
  803. border-radius: 6px;
  804. padding: 0 10px;
  805. margin: 0 10px 0 0;
  806. color: #fff;
  807. background: #6ea0dc;
  808. width: auto;
  809. font-size: 16px;
  810. min-width: 110px;
  811. height: 40px;
  812. .iconfont {
  813. margin: 0 2px;
  814. color: #fff;
  815. display: none;
  816. font-size: 14px;
  817. height: 40px;
  818. }
  819. }
  820. .btn3:hover {
  821. opacity: 0.8;
  822. }
  823. .btn4 {
  824. border: 0px solid #ccc;
  825. cursor: pointer;
  826. border-radius: 6px;
  827. padding: 0 10px;
  828. margin: 0 10px 0 0;
  829. color: #fff;
  830. background: #4abcff;
  831. width: auto;
  832. font-size: 16px;
  833. min-width: 110px;
  834. height: 40px;
  835. .iconfont {
  836. margin: 0 2px;
  837. color: #fff;
  838. display: none;
  839. font-size: 14px;
  840. height: 40px;
  841. }
  842. }
  843. .btn4:hover {
  844. opacity: 0.8;
  845. }
  846. .btn5 {
  847. border: 0px solid #ccc;
  848. cursor: pointer;
  849. border-radius: 6px;
  850. padding: 0 10px;
  851. margin: 0 10px 0 0;
  852. color: #fff;
  853. background: #0977fd;
  854. width: auto;
  855. font-size: 16px;
  856. min-width: 110px;
  857. height: 40px;
  858. .iconfont {
  859. margin: 0 2px;
  860. color: #fff;
  861. display: none;
  862. font-size: 14px;
  863. height: 40px;
  864. }
  865. }
  866. .btn5:hover {
  867. opacity: 0.8;
  868. }
  869. }
  870. </style>