viseadd.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. <template>
  2. <view>
  3. <uni-forms ref="form" labelPosition="left" labelAlign="left" @submit="submitForm">
  4. <view class="uni-form-item uni-column">
  5. <view class="title"><text class="uni-form-item__title">签证编号</text></view>
  6. <view class="uni-input-wrapper">
  7. <input class="uni-input" focus placeholder="请填写签证编号" v-model="viseId" />
  8. </view>
  9. </view>
  10. <view class="uni-form-item uni-column">
  11. <view class="title"><text class="uni-form-item__title">签证名称</text></view>
  12. <view class="uni-input-wrapper">
  13. <input class="uni-input" focus placeholder="请填写签证名称" v-model="viseName" />
  14. </view>
  15. </view>
  16. <view class="uni-form-item uni-column">
  17. <view class="title"><text class="uni-form-item__title">申请单</text></view>
  18. <view class="uni-input-wrapper ">
  19. <input class="uni-input-small" v-model="requisitionName" />
  20. <a href='javascript:;' @click='getRequisition' class="uni-icon"><i class="fa fa-search" aria-hidden="true"></i></a>
  21. </view>
  22. </view>
  23. <view class="uni-form-item uni-column">
  24. <view class="title"><text class="uni-form-item__title">关联合同</text></view>
  25. <view class="uni-input-wrapper ">
  26. <input class="uni-input-small" disabled=true v-model="contractName" />
  27. <a href='javascript:;' @click='getRelationContract' class="uni-icon"><i class="fa fa-search" aria-hidden="true"></i></a>
  28. </view>
  29. </view>
  30. <view class="uni-form-item uni-column" v-show="contractName">
  31. <view class="title"><text class="uni-form-item__title">税率</text></view>
  32. <view class="uni-input-wrapper">
  33. {{contract.taxRate+'%'}}
  34. </view>
  35. </view>
  36. <view class="uni-form-item uni-column" v-show="contractName">
  37. <view class="title"><text class="uni-form-item__title">是否可抵扣</text></view>
  38. <view class="uni-input-wrapper" >
  39. {{contract.isDeduct==0?'否':'是'}}
  40. </view>
  41. </view>
  42. <view class="uni-form-item uni-column">
  43. <view class="title"><text class="uni-form-item__title">签证日期</text></view>
  44. <view class="uni-input-wrapper" style="justify-content: left;">
  45. <picker mode="date" @change="bindDateChange" v-model="viseDate" style="width: 100%;">
  46. <view class="uni-input">{{viseDate}}</view>
  47. </picker>
  48. </view>
  49. </view>
  50. <view class="uni-form-item uni-column">
  51. <view class="title"><text class="uni-form-item__title">办理期限</text></view>
  52. <view class="uni-input-wrapper" style="justify-content: left;">
  53. <picker mode="date" @change="bindDealDateChange" v-model="endDate" style="width: 100%;">
  54. <view class="uni-input">{{endDate}}</view>
  55. </picker>
  56. </view>
  57. </view>
  58. <view class="uni-form-item uni-column">
  59. <view class="title"><text class="uni-form-item__title">签证类型</text></view>
  60. <view class="uni-input-wrapper" style="justify-content: left;">
  61. <picker mode="selector" :value="index" :range="array" range-key="name" @change="bindPickerChange" v-model="viseType" name="changeType" style="width: 100%;">
  62. <view class="uni-input">{{array.length>0?array[index]:''}}</view>
  63. </picker>
  64. </view>
  65. </view>
  66. <view class="uni-form-item uni-column">
  67. <view class="title"><text class="uni-form-item__title">暂估金额</text></view>
  68. <view class="uni-input-wrapper">
  69. <input class="uni-input" focus value="0" v-model="estimateCash" type="digit" />
  70. </view>
  71. </view>
  72. <view class="uni-form-item uni-column">
  73. <view class="title"><text class="uni-form-item__title">报送金额</text></view>
  74. <view class="uni-input-wrapper">
  75. <input class="uni-input" focus value="0" v-model="reportCash" type="digit"/>
  76. </view>
  77. </view>
  78. <view class="uni-form-item uni-column">
  79. <view class="title"><text class="uni-form-item__title">签证原因</text></view>
  80. <view class="uni-textarea">
  81. <textarea focus placeholder="签证原因" v-model="reason" auto-height="true" />
  82. </view>
  83. </view>
  84. <view class="uni-form-item uni-column">
  85. <view class="title"><text class="uni-form-item__title">备注</text></view>
  86. <view class="uni-textarea">
  87. <textarea focus placeholder="请写备注" v-model="remark" auto-height="true" />
  88. </view>
  89. </view>
  90. <view class="uni-form-item uni-column">
  91. <view class="title" style="background-color: #efefef;"><text class="uni-form-item__title">上传文件</text></view>
  92. <view class="content">
  93. <g-upload ref='gUpload' :mode="imgList" @chooseFile='chooseFile' @imgDelete='imgDelete' :control='control' :columnNum="columnNum" :maxCount="maxCount"></g-upload>
  94. </view>
  95. </view>
  96. <uni-section title="费用明细" type="line"></uni-section>
  97. <uni-list>
  98. <uni-list-item v-if="costList" v-for="(item, index) in costList" :key="index">
  99. <view slot="body" class="slot-box">
  100. <view class="row">
  101. <view class="column-left">费用项:</view>
  102. <view class="column-right">{{item.costCodeName}}</view>
  103. </view>
  104. <view class="row">
  105. <view class="column-left">含税金额</view>
  106. <view class="column-right">
  107. <input class="uni-input-small" type="digit" v-model="item.cash" style="width: 240px;text-align: left;" @blur='countTaxtCash(item,index)' />
  108. </view>
  109. </view>
  110. <view class="row">
  111. <view class="column-left">税额</view>
  112. <view class="column-right" >
  113. <input class="uni-input-small" type="digit" disabled="true" v-model="item.rateCash" style="width: 240px;text-align: left;" />
  114. </view>
  115. </view>
  116. <view class="row">
  117. <view class="column-left">金额</view>
  118. <view class="column-right">
  119. <input class="uni-input-small" type="digit" disabled="true" v-model="item.noRateCash" style="width: 240px;text-align: left;" />
  120. </view>
  121. </view>
  122. <view class="row">
  123. <view class="column-left">备注:</view>
  124. <view class="column-right">
  125. <textarea focus v-model="item.remark" auto-height="true" style="width: 240px;text-align: left;" />
  126. </view>
  127. </view>
  128. <view class="row">
  129. <view class="column-left">操作:</view>
  130. <view class="column-right">
  131. <i class="fa fa-window-close" aria-hidden="true" @click="delRow(index)" style="font-size:20px;cursor: pointer;color: #999;margin-left:15px;" title="删除"></i>
  132. </view>
  133. </view>
  134. </view>
  135. </uni-list-item>
  136. </uni-list>
  137. <view style="margin-bottom: 120px;">
  138. </view>
  139. <view class="uni-btn-v uni-column">
  140. <button type="primary" form-type="submit" style="border-radius: 15px;" >提交</button>
  141. </view>
  142. </uni-forms>
  143. </view>
  144. </template>
  145. <script>
  146. import {GetQianzhengDropDown} from "@/common/api/requisitionApi.js";
  147. import {GetContractCostDTOs} from "@/common/api/viseApi.js";
  148. import {Decimal} from 'decimal.js'; //decimal计算
  149. export default {
  150. data() {
  151. return {
  152. viseId:'',
  153. viseName:'',
  154. requisitionCode:'', //申请单编号
  155. requisitionName:'', //申请单名称
  156. contractCode:'',
  157. contractName:'',
  158. contract:{}, //获取的关联合同信息
  159. viseDate:this.$util.getDate({
  160. format: true
  161. }),
  162. endDate:this.$util.getDate({
  163. format: true
  164. }),
  165. viseType:'',
  166. userCode:this.$store.state.user.userCode, //经办人编号
  167. unitCode:this.$store.state.departmentCode, //经办部门
  168. estimateCash:0.00,
  169. reportCash:0.00,
  170. reason:'',
  171. remark:'',
  172. costList:[], //费用明细
  173. contractList:[],
  174. imageList: [],
  175. countIndex: 5,
  176. count: [1, 2, 3, 4, 5],
  177. title1: 'picker',
  178. array: [],
  179. index: 0,
  180. date: this.$util.getDate({
  181. format: true
  182. }),
  183. startDate:this.$util.getDate('start'),
  184. endDate:this.$util.getDate('end'),
  185. control: true,
  186. columnNum: 3,
  187. imgList: [],
  188. urlList:[],
  189. maxCount:5
  190. }
  191. },
  192. onLoad(){
  193. //console.info(page.path);
  194. console.info(uni.getStorageSync('storage_state'));
  195. //console.info(this);
  196. this.$util.persistLogin(this);
  197. //console.info(this.$store.state.user);
  198. },
  199. onUnload() {
  200. this.imageList = [],
  201. this.sourceTypeIndex = 2,
  202. this.sourceType = ['拍照', '相册', '拍照或相册'],
  203. this.sizeTypeIndex = 2,
  204. this.sizeType = ['压缩', '原图', '压缩或原图'],
  205. this.countIndex = 5;
  206. },
  207. created: function() {
  208. this.GetDropDown();
  209. },
  210. updated:function(){
  211. },
  212. methods: {
  213. /**
  214. * 手动提交
  215. * @param {Object} form
  216. */
  217. submitForm(e) {
  218. console.info('submitForm');
  219. let _this=this;
  220. if(this.viseId==='')
  221. {
  222. uni.showToast({
  223. icon:"none",
  224. title:"请填写签证编号",
  225. duration:3000
  226. });
  227. return;
  228. }
  229. if(this.viseName==='')
  230. {
  231. uni.showToast({
  232. icon:"none",
  233. title:"请填写签证名称",
  234. duration:3000
  235. });
  236. return;
  237. }
  238. if(this.viseName.length>50)
  239. {
  240. uni.showToast({
  241. icon:"none",
  242. title:"签证名称不能多于50字",
  243. duration:3000
  244. });
  245. return;
  246. }
  247. if(this.requisitionCode===""){
  248. uni.showToast({
  249. icon:"none",
  250. title:"请选择申请单",
  251. duration:3000
  252. });
  253. return;
  254. }
  255. if(this.contractCode===""){
  256. uni.showToast({
  257. icon:"none",
  258. title:"请选择关联合同号",
  259. duration:3000
  260. });
  261. return;
  262. }
  263. if(this.viseDate===""){
  264. uni.showToast({
  265. icon:"none",
  266. title:"请选择签证日期",
  267. duration:3000
  268. });
  269. return;
  270. }
  271. if(this.endDate===""){
  272. uni.showToast({
  273. icon:"none",
  274. title:"请选择办理期限",
  275. duration:3000
  276. });
  277. return;
  278. }
  279. if(this.changeType===""){
  280. uni.showToast({
  281. icon:"none",
  282. title:"签证类型不能为空",
  283. duration:3000
  284. });
  285. return;
  286. }
  287. if(this.requisitionReason===""){
  288. uni.showToast({
  289. icon:"none",
  290. title:"原因不能为空",
  291. duration:3000
  292. });
  293. return;
  294. }
  295. if(this.reason!=""){
  296. if(this.reason.length>500){
  297. uni.showToast({
  298. icon:"none",
  299. title:"原因不能超过500字",
  300. duration:3000
  301. });
  302. return;
  303. }
  304. }
  305. if(this.remark!==""){
  306. if(this.remark.length>500){
  307. uni.showToast({
  308. icon:"none",
  309. title:"备注不能超过500字",
  310. duration:3000
  311. });
  312. return;
  313. }
  314. }
  315. if(this.costList.length<=0){
  316. uni.showToast({
  317. icon:"none",
  318. title:"费用明细不能为空",
  319. duration:3000
  320. });
  321. return;
  322. }
  323. var requisitionDTO={requisitionName:this.requisitionName,requisitionDate:this.requisitionDate,changeType:this.changeType,requisitionReason:this.requisitionReason,remark:this.remark,person:this.userCode,unitCode:this.unitCode,projectCode:this.$store.state.projectCode};
  324. var list1=this.contractList;
  325. let list=[];
  326. list1.forEach(function(item,index,array){
  327. list.push({requisitionCode:'',contractCode:item.contractCode,estimateCash:new Decimal(item.estimateCash).toFixed(2)-0 });
  328. //list.push({requisitionCode:'',contractCode:item.contractCode,estimateCash: 220});
  329. });
  330. console.info("【list】");
  331. console.info(list);
  332. if(list.length<=0){
  333. uni.showToast({
  334. title:"请添加关联合同",
  335. icon:"none",
  336. duration:3000
  337. });
  338. return;
  339. }
  340. //return;
  341. var data={Requisition:requisitionDTO,List:list};
  342. //var strList=JSON.stringify(list);
  343. //var strData=JSON.stringify(data);
  344. InsertRequisition(data).then((res)=>{
  345. console.info("提交应答");
  346. console.info(res);
  347. if(res){
  348. //上传图片
  349. _this.uploadFileToServe(res) ;
  350. uni.navigateTo({
  351. url:'/pages/template/requisitionlist/requisitionlist'
  352. })
  353. }
  354. else{
  355. uni.showToast({
  356. title:'添加失败,重新操作',
  357. icon:'none',
  358. duration:3000
  359. })
  360. }
  361. });
  362. },
  363. /*
  364. 获取申请单
  365. */
  366. getRequisition() {
  367. let _this = this;
  368. _this.saveTemp(_this);
  369. //创建名字为fire的监听器,监听子页面传值事件
  370. uni.$on('requisition', function(data) {
  371. console.info("监听getRequisition子页面的传值", data);
  372. console.info('监听',_this);
  373. _this.getTemp(_this);
  374. _this.requisitionCode=data[0].requisitionCode;
  375. _this.requisitionName=data[0].requisitionName;
  376. _this.$nextTick(function(){
  377. //更新dom
  378. });
  379. //接收一次监听,一旦监听到回传值,则清除监听事件,若不清除,会占用资源
  380. uni.$off("requisition");
  381. });
  382. uni.navigateTo({
  383. url: '/pages/template/SelectRelationRequision/SelectRelationRequision'
  384. });
  385. },
  386. /*
  387. 获取关联合同
  388. */
  389. getRelationContract() {
  390. let _this = this;
  391. _this.saveTemp(_this);
  392. //创建名字为fire的监听器,监听子页面传值事件
  393. uni.$on('contract', function(data) {
  394. console.info("监听getRelationContract子页面的传值", data);
  395. //console.info('监听',_this);
  396. _this.getTemp(_this);
  397. _this.contractCode=data[0].contractCode;
  398. _this.contractName=data[0].contractName;
  399. _this.contract=data[0].contract;
  400. _this.getCostList();
  401. _this.$nextTick(function(){
  402. //更新dom
  403. });
  404. //接收一次监听,一旦监听到回传值,则清除监听事件,若不清除,会占用资源
  405. uni.$off("contract");
  406. });
  407. let requisitionCode=_this.requisitionCode;
  408. if(requisitionCode==""){
  409. uni.showToast({
  410. title:'请先选择申请单',
  411. icon:'none',
  412. duration:3000
  413. });
  414. return;
  415. }
  416. uni.navigateTo({
  417. url: '/pages/template/SelectRelationContract/SelectRelationContract?requisitionCode='+requisitionCode
  418. });
  419. },
  420. /*
  421. 获取费用明细
  422. */
  423. getCostList() {
  424. let _this = this;
  425. _this.saveTemp(_this);
  426. if(_this.contractCode){
  427. GetContractCostDTOs(_this.contractCode).then(res=>{
  428. console.info('GetContractCostDTOs',res);
  429. if(res.length>0){
  430. res.forEach(function(item,index,arr){
  431. item.cash=0.00;
  432. item.rateCash=0.00;
  433. item.noRateCash=0.00;
  434. _this.$set(_this.costList,index,item);
  435. });
  436. }
  437. });
  438. }
  439. },
  440. delRow: function(index) {
  441. console.info("删除");
  442. console.info(this.costList[index]);
  443. this.costList.splice(index, 1);
  444. },
  445. /* 计算该行的税额 */
  446. countTaxtCash:function(item,index){
  447. let _this=this;
  448. //console.info("countTaxtCash",item);
  449. //console.info("countTaxtCash",index);
  450. //let value=event.detail.value;
  451. let taxRate=_this.contract.taxRate;
  452. item.rateCash=item.cash*taxRate;
  453. item.noRateCash=item.cash-item.rateCash;
  454. },
  455. bindPickerChange: function(e) {
  456. //console.log('picker发送选择改变,携带值为:' + e.detail.value);
  457. //console.info(e.detail);
  458. this.index = e.detail.value;
  459. this.changeType=this.array[this.index];
  460. console.info(this.changeType);
  461. },
  462. bindDateChange: function(e) {
  463. let date = e.detail.value;
  464. this.viseDate=date;
  465. console.info('bindDateChange',this.viseDate);
  466. },
  467. bindDealDateChange: function(e) {
  468. let date = e.detail.value;
  469. this.endDate=date;
  470. console.info('bindDealDateChange',this.endDate);
  471. },
  472. GetDropDown:function(){
  473. let that=this;
  474. GetQianzhengDropDown().then((res)=>{
  475. console.info(res);
  476. res.forEach(function(item,index,array){
  477. that.$set(that.array,index,item);
  478. });
  479. });
  480. },
  481. /*
  482. 上传后返回的值:
  483. list:上传后图片数组
  484. v:返回当前上传图片的临时路径
  485. */
  486. chooseFile(list, v) {
  487. console.log("上传图片_list:", list)
  488. console.log("上传图片_v:", v);
  489. this.urlList=list;
  490. console.info("urlList",this.urlList);
  491. },
  492. /*
  493. 删除图片:
  494. list:删除返回删除后剩余的图片数组
  495. eq:返回删除的数组
  496. */
  497. imgDelete(list, eq) {
  498. console.log("删除图片_list:", list);
  499. console.log("删除图片_eq:", eq);
  500. this.urlList=list;
  501. console.info("urlList",this.urlList);
  502. },
  503. /*
  504. 执行上传服务:
  505. urlList:要上传的图片:数组类型
  506. */
  507. uploadFileToServe(masterCode) {
  508. let _this=this;
  509. var urlList=_this.urlList;
  510. if (!urlList || urlList.length <= 0) {
  511. return;
  512. };
  513. //console.info(urlList);
  514. //return;
  515. for (let i = 0; i < urlList.length; i++) {
  516. uni.uploadFile({
  517. url: '/api/Common/UploadImage',
  518. filePath: urlList[i],
  519. name: 'file',
  520. formData: {
  521. createPerson:_this.$store.state.user.userCode,
  522. masterCode:masterCode,
  523. attachMentType:'RequisitionAttach'
  524. },
  525. headers: {
  526. 'Content-Type': 'multipart/form-data; boundary = ' + new Date().getTime()
  527. //这里要把content-type设置为multipard/form-data,同时还要设置boundary
  528. },
  529. success: (uploadFileRes) => {
  530. console.log("图片上传:",uploadFileRes.data);
  531. }
  532. });
  533. }
  534. },
  535. saveTemp(_this){ //临时存
  536. uni.setStorage({
  537. key:'viseId',
  538. data:_this.viseId
  539. });
  540. uni.setStorage({
  541. key:'viseName',
  542. data:_this.viseName
  543. });
  544. uni.setStorage({
  545. key:'requisitionCode',
  546. data:_this.requisitionCode
  547. });
  548. uni.setStorage({
  549. key:'requisitionName',
  550. data:_this.requisitionName
  551. });
  552. uni.setStorage({
  553. key:'contractName',
  554. data:_this.contractName
  555. });
  556. uni.setStorage({
  557. key:'contractCode',
  558. data:_this.contractCode
  559. });
  560. uni.setStorage({
  561. key:'viseDate',
  562. data:_this.viseDate
  563. });
  564. uni.setStorage({
  565. key:'endDate',
  566. data:_this.endDate
  567. });
  568. uni.setStorage({
  569. key:'viseType',
  570. data:_this.viseType
  571. });
  572. uni.setStorage({
  573. key:'estimateCash',
  574. data:_this.estimateCash
  575. });
  576. uni.setStorage({
  577. key:'reportCash',
  578. data:_this.reportCash
  579. });
  580. uni.setStorage({
  581. key:'reason',
  582. data:_this.reason
  583. });
  584. uni.setStorage({
  585. key:'remark',
  586. data:_this.remark
  587. });
  588. },
  589. getTemp(_this){ //获取缓存,重新给表单赋值
  590. _this.viseId=uni.getStorageSync('viseId');
  591. _this.viseName=uni.getStorageSync('viseName');
  592. _this.requisitionCode=uni.getStorageSync('requisitionCode');
  593. _this.requisitionName=uni.getStorageSync('requisitionName');
  594. _this.contractName=uni.getStorageSync('contractName');
  595. _this.contractCode=uni.getStorageSync('contractCode');
  596. _this.viseDate=uni.getStorageSync('viseDate');
  597. _this.endDate=uni.getStorageSync('endDate');
  598. _this.viseType=uni.getStorageSync('viseType');
  599. _this.estimateCash=uni.getStorageSync('estimateCash');
  600. _this.reportCash=uni.getStorageSync('reportCash');
  601. _this.reason=uni.getStorageSync('reason');
  602. _this.remark=uni.getStorageSync('remark');
  603. },
  604. }
  605. }
  606. </script>
  607. <style scoped>
  608. /* 头条小程序组件内不能引入字体 */
  609. /* #ifdef MP-TOUTIAO */
  610. @font-face {
  611. font-family: uniicons;
  612. font-weight: normal;
  613. font-style: normal;
  614. src: url("~@/static/uni.ttf") format("truetype");
  615. }
  616. /* #endif */
  617. page {
  618. display: flex;
  619. flex-direction: column;
  620. box-sizing: border-box;
  621. background-color: #efeff4;
  622. min-height: 100%;
  623. height: auto;
  624. }
  625. view {
  626. font-size: 14px;
  627. line-height: inherit;
  628. }
  629. .uni-form-item__title {
  630. font-size: 16px;
  631. line-height: 24px;
  632. }
  633. .uni-input-wrapper {
  634. /* #ifndef APP-NVUE */
  635. display: flex;
  636. /* #endif */
  637. padding: 8px 13px;
  638. flex-direction: row;
  639. flex-wrap: nowrap;
  640. background-color: #FFFFFF;
  641. }
  642. .title{
  643. background-color: #efefef;
  644. }
  645. .uni-input {
  646. height: 28px;
  647. line-height: 28px;
  648. font-size: 15px;
  649. padding: 0px;
  650. flex: 1;
  651. background-color: #FFFFFF;
  652. }
  653. .uni-icon {
  654. font-family: uniicons;
  655. font-size: 24px;
  656. font-weight: normal;
  657. font-style: normal;
  658. width: 24px;
  659. height: 24px;
  660. line-height: 24px;
  661. margin-left:15px;
  662. color: #999999;
  663. }
  664. .uni-eye-active {
  665. color: #007AFF;
  666. }
  667. .uni-btn-v{
  668. position: fixed;
  669. bottom: 0;
  670. width:100%;
  671. }
  672. .header-slot-box {
  673. font-size:15px;
  674. margin: 5px 5px;
  675. width:20%;
  676. justify-content: center;
  677. }
  678. .body-slot-box {
  679. font-size:15px;
  680. margin: 5px 5px;
  681. width:40%;
  682. justify-content: center;
  683. }
  684. .footer-slot-box {
  685. font-size:15px;
  686. margin: 5px 5px;
  687. width:40%;
  688. justify-content: center;
  689. }
  690. .uni-textarea textarea{
  691. font-size:15px;
  692. }
  693. .content {
  694. padding: 40rpx;
  695. background-color: #fff;
  696. }
  697. /* 上传控件 */
  698. .uploadControl {
  699. border: 1rpx solid #eee;
  700. border-radius: 10rpx;
  701. width: 130rpx;
  702. display: block;
  703. height: 130rpx;
  704. text-align: center;
  705. line-height: 130rpx;
  706. font-size: 30rpx;
  707. color: #888;
  708. background-color: #eeeeee;
  709. }
  710. </style>