storageContractAdd.vue 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957
  1. <template>
  2. <div class="container">
  3. <el-row>
  4. <el-col :span="12">
  5. <h2 class="bg-left title">创建代储合同</h2>
  6. </el-col>
  7. <el-col :span="12" class="bg-right">
  8. <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
  9. style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
  10. </el-button>
  11. </el-col>
  12. </el-row>
  13. <div class="center">
  14. <ws-form ref="deptBudgetList" :model="deptBudgetList">
  15. <div class="remark">
  16. <h3>基本信息</h3>
  17. <p style="color: #8890b1">
  18. &nbsp;&nbsp;注:基本信息和货物信息均为必填项,“<span style="color:red">*</span>”
  19. 标记的条目提交后不可修改。
  20. </p>
  21. </div>
  22. <!--基本信息-->
  23. <ws-info-table>
  24. <!--合同编号-->
  25. <ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly">
  26. <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small"
  27. :rules="ruleDeptBudget" />
  28. </ws-form-item>
  29. <!--运输方式-->
  30. <ws-form-item label="运输方式" span="1" prop="shippingType">
  31. <ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="100" size="small" />
  32. </ws-form-item>
  33. <!--买方-->
  34. <ws-form-item label="买方" span="1" prop="buyer" class="readonly">
  35. <el-select v-model="deptBudgetList.buyer" placeholder="请选择买方名称" class="typeselect" filterable clearable
  36. @change="buyerSelect">
  37. <el-option v-for="(item,index) in customerinfo" :key="index" :label="item.customerName"
  38. :value="item.customerName" />
  39. </el-select>
  40. </ws-form-item>
  41. <!--结算方式-->
  42. <ws-form-item label="结算方式" span="1" prop="settlementMethod">
  43. <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="120" size="small" />
  44. </ws-form-item>
  45. <!--卖方-->
  46. <ws-form-item label="卖方" span="1" prop="seller" class="readonly">
  47. <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
  48. placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
  49. </ws-form-item>
  50. <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
  51. <el-radio v-model="deptBudgetList.deliverType" label="1">我方送货</el-radio>
  52. <el-radio v-model="deptBudgetList.deliverType" label="2">对方自提</el-radio>
  53. <!-- <el-radio v-model="deptBudgetList.deliverType" v-if="deptBudgetList.priceType == '随行就市'" disabled label="1">
  54. 我方自提</el-radio>
  55. <el-radio v-model="deptBudgetList.deliverType" v-else label="1">我方自提</el-radio>
  56. <el-radio v-model="deptBudgetList.deliverType" v-if="deptBudgetList.priceType == '随行就市'" disabled label="2">
  57. 对方送货</el-radio>
  58. <el-radio v-model="deptBudgetList.deliverType" v-else label="2">对方送货</el-radio> -->
  59. </ws-form-item>
  60. <!--买方电话-->
  61. <ws-form-item label="买方电话" span="1" prop="contractNo">
  62. <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
  63. placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
  64. </ws-form-item>
  65. <!--包装方式-->
  66. <ws-form-item label="包装方式" span="1" prop="packingMethod">
  67. <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
  68. @change="selectpacking">
  69. <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
  70. :value="item.constValue" />
  71. </ws-select>
  72. </ws-form-item>
  73. <!--卖方电话-->
  74. <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
  75. <!-- <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" /> -->
  76. <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
  77. placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
  78. </ws-form-item>
  79. <!--验收方式-->
  80. <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
  81. <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" clearable
  82. filterable @change="selectunitList">
  83. <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
  84. :value="item.constValue">
  85. <span class="unit-left" style="float: left">
  86. <span v-if="item.flag == 'delete'">
  87. {{ item.constValue }}</span>
  88. <!-- 新增文本框 -->
  89. <div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
  90. <ws-input v-model="item.constValue" clearable maxlength="10" style="width: 100%"></ws-input>
  91. </div>
  92. </span>
  93. <span style="float: right; color: #8492a6; font-size: 13px">
  94. <!-- 对号 -->
  95. <i class="el-icon-check" style="line-height: 29px; margin-left: 10px" v-if="item.flag !== 'delete'"
  96. @click.stop="saveClick(item, index)"></i>
  97. <!-- 编辑 -->
  98. <i class="el-icon-edit" style="line-height: 29px; margin-left: 10px" v-if="item.flag == 'delete'"
  99. @click.stop="editClick(item, index)"></i>
  100. <!-- 删除 -->
  101. <i class="el-icon-delete" style="line-height: 29px" @click.stop="deleteClick(item, index)"></i>
  102. </span>
  103. </el-option>
  104. <!-- 新增按钮 -->
  105. <el-option value="" label="">
  106. <div style="
  107. text-align: right;
  108. border-top: 1px solid #dcdfe6;
  109. padding: 5px;
  110. ">
  111. <ws-button type="primary" @click.stop="addClick">{{
  112. $t('button.add')
  113. }}</ws-button>
  114. </div>
  115. </el-option>
  116. </el-select>
  117. </ws-form-item>
  118. <!--重量(吨)-->
  119. <ws-form-item label="重量(吨)" span="1" prop="weight">
  120. <ws-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100"
  121. size="small" />
  122. </ws-form-item>
  123. <!--交货日期(起)-->
  124. <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
  125. <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
  126. value-format="yyyy-MM-dd" />
  127. </ws-form-item>
  128. <!--溢短装(%)-->
  129. <ws-form-item label="溢短装(%)" span="1" prop="overShort">
  130. <ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装比例(%)" maxlength="100" size="small" />
  131. </ws-form-item>
  132. <!--交货日期(止)-->
  133. <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
  134. <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
  135. value-format="yyyy-MM-dd" />
  136. </ws-form-item>
  137. <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
  138. <!-- <el-cascader
  139. :options="options_"
  140. v-model="selectedOptions"
  141. clearable
  142. size="large"
  143. placeholder="请选择货源所在地区"
  144. style="width: 200%"
  145. @change="handleChange"
  146. /> -->
  147. <el-button @click="mapInputClick('source')" class='address-btn'>
  148. {{newSelectedOptions}}
  149. </el-button>
  150. </ws-form-item>
  151. <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
  152. <ws-input v-model="deptBudgetList.sourceGoods" placeholder="请输入货源详细地址" maxlength="20" size="small" />
  153. </ws-form-item>
  154. <ws-form-item label="交货所在地区" span="1" prop="placeDelivery">
  155. <el-button @click="mapInputClick('deliveryProv')" class="address-btn">
  156. {{ newSelectedOptions1 }}
  157. </el-button>
  158. </ws-form-item>
  159. <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
  160. <ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20" size="small" />
  161. </ws-form-item>
  162. <ws-form-item label="代储费(元/吨·天)" span="1" prop="storageFee">
  163. <ws-input v-model="deptBudgetList.storageFee" placeholder="请输入仓储费" maxlength="20" size="small" />
  164. </ws-form-item>
  165. <!--合同单价(元/吨)-->
  166. <ws-form-item class="readonly" label="合同单价(元/吨)" span="1" prop="unitContractPrice">
  167. <ws-input @input="pricechange" v-model="deptBudgetList.unitContractPrice" placeholder="请输入合同单价"
  168. maxlength="100" size="small" />
  169. </ws-form-item>
  170. <ws-form-item label="代储费起算重量" span="1" prop="storageFeeWeight">
  171. <ws-input v-model="deptBudgetList.storageFeeWeight" placeholder="请输入代储费起算重量" maxlength="20" size="small" />
  172. </ws-form-item>
  173. <!--合同总价-->
  174. <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
  175. <ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100" size="small" />
  176. </ws-form-item>
  177. <ws-form-item label="代储费起算日期" span="1" prop="storageFeeStartdate">
  178. <ws-date-picker v-model="deptBudgetList.storageFeeStartdate" type="date" placeholder="请选择代储费起算日期"
  179. value-format="yyyy-MM-dd" />
  180. </ws-form-item>
  181. <!--签订日期-->
  182. <ws-form-item label="签订日期" span="1" prop="signingDate">
  183. <ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
  184. value-format="yyyy-MM-dd" />
  185. </ws-form-item>
  186. <ws-form-item label="代储费预计终止日期" span="1" prop="storageFeeEnddate">
  187. <ws-date-picker v-model="deptBudgetList.storageFeeEnddate" type="date" placeholder="请选择代储费预计终止日期"
  188. value-format="yyyy-MM-dd" />
  189. </ws-form-item>
  190. <ws-form-item label="最终实际成交量(吨)" span="1" prop="finalTradingVolume">
  191. <ws-input v-model="deptBudgetList.finalTradingVolume" placeholder="请输入最终实际成交量" maxlength="100"
  192. size="small" />
  193. </ws-form-item>
  194. </ws-info-table>
  195. </ws-form>
  196. </div>
  197. <div class="wenzi">
  198. <h3>货物信息</h3>
  199. </div>
  200. <div class="center">
  201. <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
  202. <!--货物信息-->
  203. <ws-info-table>
  204. <!--货名-->
  205. <ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
  206. <ws-select v-model="deptBudgetList.contractGoodsInfo.goodsName" placeholder="" class="typeselect"
  207. @change="selectgoodsName">
  208. <ws-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
  209. :value="item.constValue" />
  210. </ws-select>
  211. </ws-form-item>
  212. <!--水分(%)<=-->
  213. <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
  214. <ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比" maxlength="100"
  215. size="small" />
  216. </ws-form-item>
  217. <!--品级-->
  218. <ws-form-item label="品级" span="1" prop="grade" class="readonly">
  219. <ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="" class="typeselect"
  220. @change="selectgrade">
  221. <ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
  222. :value="item.constValue" />
  223. </ws-select>
  224. </ws-form-item>
  225. <!--杂质(%)<=-->
  226. <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
  227. <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)" maxlength="40"
  228. size="small" />
  229. </ws-form-item>
  230. <!--容重(克/升)>=-->
  231. <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
  232. <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="40"
  233. size="small" />
  234. </ws-form-item>
  235. <!--霉变粒(%)<=-->
  236. <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
  237. <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)" maxlength="40"
  238. size="small" />
  239. </ws-form-item>
  240. <!--热损伤(%)<=-->
  241. <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
  242. <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)" maxlength="40"
  243. size="small" />
  244. </ws-form-item>
  245. <!--不完善粒(%)<=-->
  246. <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
  247. <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)"
  248. maxlength="40" size="small" />
  249. </ws-form-item>
  250. </ws-info-table>
  251. </ws-form>
  252. </div>
  253. <div class="wenzi">
  254. <h3>流程信息</h3>
  255. </div>
  256. <div class="center">
  257. <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
  258. <!--流程信息-->
  259. <ws-info-table>
  260. <!--合同收入(元)-->
  261. <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
  262. <ws-input v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)" maxlength="100"
  263. size="small" />
  264. </ws-form-item>
  265. <!--已开发票(元)-->
  266. <ws-form-item label="已开销售发票(元)" span="1" prop="goodsName">
  267. <ws-input v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票金额" maxlength="100"
  268. size="small" />
  269. </ws-form-item>
  270. <!--费用支出(元)-->
  271. <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
  272. <ws-input v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)" maxlength="100"
  273. size="small" />
  274. </ws-form-item>
  275. <!--未开发票(元)-->
  276. <ws-form-item label="未开销售发票(元)" span="1" prop="impurity">
  277. <ws-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票金额" maxlength="100"
  278. size="small" />
  279. </ws-form-item>
  280. <!--未回款(元)-->
  281. <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
  282. <ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)" maxlength="100"
  283. size="small" />
  284. </ws-form-item>
  285. <!--双章原件回收情况-->
  286. <ws-form-item label="双章原件回收情况" span="1" prop="grade">
  287. <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
  288. @change="selectpackingMethod">
  289. <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
  290. :value="item.constValue" />
  291. </ws-select>
  292. </ws-form-item>
  293. </ws-info-table>
  294. </ws-form>
  295. </div>
  296. <div class="wenzi">
  297. <h3>备注信息</h3>
  298. </div>
  299. <div class="ce">
  300. <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
  301. <!--备注信息-->
  302. <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
  303. maxlength="3000" />
  304. <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
  305. @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
  306. v-hasPermission="`contractManagement.salesContract.salesContractInfo.appl`" />
  307. </ws-form>
  308. <div v-if="dialogVisible" class="map">
  309. <map-drag @marker="marker" :isShowaddress="true" v-on:addressListen="getAddress" :type="type">
  310. </map-drag>
  311. </div>
  312. </div>
  313. <div style="text-align: right; padding: 10px" class="center">
  314. <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
  315. </div>
  316. </div>
  317. </template>
  318. <script>
  319. import {
  320. packList,
  321. addList,
  322. xiala,
  323. addxiala,
  324. editxiala,
  325. delxiala,
  326. getRelationContractNo,
  327. getcustomerinfo,
  328. getstafffind
  329. } from '@/model/contarct/index'
  330. import {
  331. getstaff,
  332. } from '@/model/warehouse/index'
  333. import WsUpload from '@/components/WsUpload'
  334. import {
  335. regionData,
  336. CodeToText,
  337. TextToCode
  338. } from 'element-china-area-data'
  339. import thirdPartyInspectionReportAddVue from '../system/shipInspection/thirdPartyInspectionReportAdd.vue'
  340. import mapDrag from '@/components/mapdrag/mapdrag'
  341. export default {
  342. name: 'viewSpareMoney',
  343. components: {
  344. WsUpload,
  345. mapDrag,
  346. },
  347. watch: {
  348. vesselId(val) {
  349. this.getVesselData()
  350. },
  351. isShow(val) {
  352. this.showType = val
  353. },
  354. },
  355. data() {
  356. return {
  357. options: [],
  358. staffList: [],
  359. restaurants1: [],
  360. restaurants2: [],
  361. restaurants3: [],
  362. restaurants4: [],
  363. customerinfo: [],
  364. //弹出框
  365. dialogViewSpareMoney: false,
  366. dialogApproveFormVisible: false,
  367. // 船舶类型
  368. monetaryKey: null,
  369. // 表格显示数据
  370. tableDate: [],
  371. // 是否显示
  372. showType: true,
  373. // 年
  374. year: '',
  375. type: '',
  376. dialogVisible: false,
  377. options_: regionData,
  378. value1: '袋装',
  379. selectedOptions: [],
  380. newSelectedOptions: '请选择货源所在地',
  381. selectedOptions1: [],
  382. newSelectedOptions1: '请选择交货所在地区',
  383. // 提交类型
  384. submitType: true,
  385. tableData: [{
  386. date: 1111,
  387. name: 'qqqq',
  388. address: 'errrtt',
  389. }, ],
  390. trainingMethods: {},
  391. packtypeList: [],
  392. compId: localStorage.getItem('ws-pf_compId'),
  393. mainReportAdd: {},
  394. appendixIdsAdd: '',
  395. size: 10,
  396. unitList: [],
  397. goodnameList: [],
  398. gradeList: [],
  399. ChapterTwoList: [],
  400. deptBudgetList: {
  401. deliverType: '1',
  402. agreementType: '代储合同',
  403. finalTradingVolume: 0,
  404. totalContractPrice: 0,
  405. contractGoodsInfo: {
  406. goodsName: '',
  407. },
  408. buyerPhone: '',
  409. contractProcessInfo: {},
  410. addressUrl: '',
  411. // sourceGoods: '',
  412. sourceProvince :'',
  413. sourceCity :'',
  414. sourceArea :'',
  415. sourceGoods: '',
  416. sourceLocation :'',
  417. placeDelivery: '',
  418. settlementWeightMethod: '1',
  419. },
  420. pickerBeginDateBefore: {
  421. disabledDate: (time) => {
  422. return time.getTime() > Date.now()
  423. },
  424. },
  425. ruleDeptBudget: {
  426. contractNo: [{
  427. required: true,
  428. message: '请输入活动名称',
  429. trigger: 'blur',
  430. },
  431. {
  432. min: 6,
  433. max: 50,
  434. message: '长度在 6 到 50 个字符',
  435. trigger: 'blur',
  436. },
  437. ],
  438. },
  439. selectIntendedShip: {},
  440. interviewTypeList: {},
  441. fileList: [],
  442. priceTypeList: ['定价销售', '随行就市'],
  443. contractNoList: [],
  444. feedbackLeaders: [], //收货反馈负责人
  445. }
  446. },
  447. activated() {
  448. // this.newSelectedOptions = '请选择货源所在地'
  449. this.newSelectedOptions1 = '请选择交货所在地'
  450. this.deptBudgetList.packingMethod = '散装'
  451. this.deptBudgetList.packingMethodKey = 1
  452. this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
  453. this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
  454. this.deptBudgetList.contractProcessInfo.grade = '未回收'
  455. this.deptBudgetList.contractProcessInfo.gradeKey = 1
  456. this.deptBudgetList.contractGoodsInfo.grade = '一等品'
  457. this.deptBudgetList.contractGoodsInfo.gradeKey = 1
  458. getstafffind({
  459. roles: 'd6a5c8a52da544309259f91f75de1ec6'
  460. })
  461. .toPromise()
  462. .then((response) => {
  463. this.options = response
  464. this.staffList = response
  465. })
  466. this.loaddata()
  467. // this.showType = this.isShow
  468. },
  469. mounted() {
  470. this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
  471. this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
  472. this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
  473. this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
  474. if (!this.restaurants1) this.restaurants1 = [];
  475. if (!this.restaurants2) this.restaurants2 = [];
  476. if (!this.restaurants3) this.restaurants3 = [];
  477. if (!this.restaurants4) this.restaurants4 = [];
  478. },
  479. methods: {
  480. selectstaff(e) {
  481. this.deptBudgetList.personCharge = ''
  482. for (var i = 0; i < this.staffList.length; i++) {
  483. for (var j = 0; j < e.length; j++) {
  484. if (this.staffList[i].staffMobilePhone == e[j]) {
  485. this.deptBudgetList.personCharge += this.staffList[i].staffName + ' ' + this.staffList[i]
  486. .staffMobilePhone + ','
  487. }
  488. }
  489. }
  490. // console.log(this.deptBudgetList)
  491. },
  492. feedbackLeaderChange(e) {
  493. this.deptBudgetList.feedbackLeader = this.feedbackLeaders[e].staffName
  494. this.deptBudgetList.feedbackLeaderPhone = this.feedbackLeaders[e].staffMobilePhone
  495. },
  496. buyerSelect(item) {
  497. // console.log(item)
  498. for (let i = 0; i < this.customerinfo.length; i++) {
  499. console.log(this.customerinfo[i].customerName, item)
  500. if (this.customerinfo[i].customerName == item) {
  501. this.deptBudgetList.buyerPhone = this.customerinfo[i].customerPhone
  502. }
  503. }
  504. },
  505. querySearch1(queryString, cb) {
  506. var restaurants1 = this.restaurants1;
  507. var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
  508. // 调用 callback 返回建议列表的数据
  509. cb(results);
  510. },
  511. querySearch2(queryString, cb) {
  512. var restaurants2 = this.restaurants2;
  513. var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
  514. // 调用 callback 返回建议列表的数据
  515. cb(results);
  516. },
  517. querySearch3(queryString, cb) {
  518. var restaurants3 = this.restaurants3;
  519. var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
  520. // 调用 callback 返回建议列表的数据
  521. cb(results);
  522. },
  523. querySearch4(queryString, cb) {
  524. var restaurants4 = this.restaurants4;
  525. var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
  526. // 调用 callback 返回建议列表的数据
  527. cb(results);
  528. },
  529. createFilter(queryString) {
  530. return (restaurant) => {
  531. return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
  532. };
  533. },
  534. handleSelect(item) {
  535. console.log(item);
  536. },
  537. marker: function(item) {
  538. this.deptBudgetList.warehousePositioning =
  539. item.lnglat.lat + ',' + item.lnglat.lng
  540. },
  541. getAddress(data) {
  542. console.log('getAddress', data)
  543. if (data[4] == 'source') {
  544. this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
  545. this.deptBudgetList.sourceProvince = data[0]
  546. this.deptBudgetList.sourceCity = data[1]
  547. this.deptBudgetList.sourceArea = data[2]
  548. // this.deptBudgetList.sourceGoods = data[3]
  549. this.deptBudgetList.sourceLocation = data[5].lat + ',' + data[5].lng
  550. } else {
  551. this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
  552. this.deptBudgetList.deliveryProvince = data[0]
  553. this.deptBudgetList.deliveryCity = data[1]
  554. this.deptBudgetList.deliveryArea = data[2]
  555. // this.deptBudgetList.placeDelivery = data[3]
  556. this.deptBudgetList.deliveryLocation = data[5].lat + ',' + data[5].lng
  557. }
  558. },
  559. mapInputClick(type) {
  560. this.dialogVisible = true
  561. this.type = type
  562. },
  563. blurMap() {
  564. this.dialogVisible = false
  565. },
  566. focusMap() {
  567. this.dialogVisible = true
  568. },
  569. // 关闭 dialog时 处理文件url 初始化upload组件
  570. handleClose() {
  571. this.dialogViewSpareMoney = false
  572. },
  573. handleChange(value) {
  574. this.selectedOptions = value
  575. },
  576. handleChange1(value) {
  577. this.selectedOptions1 = value
  578. },
  579. returnsales() {
  580. this.deptBudgetList = {
  581. deliverType: '1',
  582. agreementType: '代储合同',
  583. finalTradingVolume: 0,
  584. totalContractPrice: 0,
  585. contractGoodsInfo: {
  586. goodsName: '',
  587. },
  588. buyerPhone: '',
  589. contractProcessInfo: {},
  590. addressUrl: '',
  591. // sourceGoods: '',
  592. placeDelivery: '',
  593. settlementWeightMethod: '1',
  594. }
  595. this.$router.push({
  596. path: 'storageContract',
  597. })
  598. },
  599. loaddata() {
  600. this.getUnitList()
  601. packList({
  602. constId: 'CON2',
  603. })
  604. .toPromise()
  605. .then((response) => {
  606. this.goodnameList = response
  607. })
  608. // 包装方式
  609. packList({
  610. constId: 'CON1'
  611. })
  612. .toPromise()
  613. .then((response) => {
  614. this.packtypeList = response
  615. })
  616. // 品级
  617. packList({
  618. constId: 'CON3',
  619. })
  620. .toPromise()
  621. .then((response) => {
  622. this.gradeList = response
  623. })
  624. // 双章
  625. packList({
  626. constId: 'CON4',
  627. })
  628. .toPromise()
  629. .then((response) => {
  630. this.ChapterTwoList = response
  631. })
  632. getcustomerinfo({
  633. compId: localStorage.getItem('ws-pf_compId'),
  634. }).toPromise()
  635. .then((response) => {
  636. var arr = []
  637. for (let i = 0; i < response.length; i++) {
  638. if (response[i].customerType == '个人客户') {
  639. arr.push({
  640. customerName: response[i].customerName,
  641. customerPhone: response[i].customerPhone
  642. })
  643. } else {
  644. arr.push({
  645. customerName: response[i].compName,
  646. customerPhone: response[i].customerPhone
  647. })
  648. }
  649. }
  650. this.customerinfo = arr
  651. })
  652. },
  653. selectRelation(e) {
  654. for (var i = 0; i < this.contractNoList.length; i++) {
  655. if (this.contractNoList[i].contractNo == e) {
  656. this.deptBudgetList = this.contractNoList[i]
  657. this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
  658. this.deptBudgetList.contractNo = this.contractNoList[i].contractNo
  659. this.deptBudgetList.agreementType = '补充协议'
  660. // this.newSelectedOptions = this.contractNoList[i].sourceProvince + this.contractNoList[i].sourceCity + this
  661. // .contractNoList[i].sourceArea
  662. // this.deptBudgetList.sourceGoods = this.contractNoList[i].sourceGoods
  663. this.newSelectedOptions1 = this.contractNoList[i].deliveryProvince + this.contractNoList[i].deliveryCity +
  664. this.contractNoList[i].deliveryArea
  665. this.deptBudgetList.placeDelivery = this.contractNoList[i].placeDelivery
  666. }
  667. }
  668. },
  669. onChange() {
  670. this.$refs.upload
  671. .handleSaveBill()
  672. .then(async (response) => {
  673. this.deptBudgetList.addressUrl = response
  674. })
  675. .catch((res) => {
  676. EventBus.$emit('error', (JSON.parse(res) || {}).message)
  677. this.$refs.upload.clearFiles()
  678. })
  679. },
  680. getUnitList() {
  681. xiala({
  682. compId: localStorage.getItem('ws-pf_compId'),
  683. constCode: 'TYPEYAN',
  684. })
  685. .toPromise()
  686. .then((response) => {
  687. this.unitList = response
  688. let currItem
  689. this.unitList.forEach((item, index, arr) => {
  690. item.flag = 'delete'
  691. if (this.vModel == item.constKey) {
  692. currItem = item
  693. }
  694. })
  695. //
  696. if (currItem) {
  697. this.selectContract(currItem.constValue)
  698. }
  699. })
  700. },
  701. submit() {
  702. // if (this.deptBudgetList.placeDelivery.indexOf('省') > -1) {
  703. // this.$message({
  704. // message: '请手动删除详细地址中省市区/市,避免重复显示省市区/市!',
  705. // type: 'warning',
  706. // })
  707. // return
  708. // }
  709. if (!this.deptBudgetList.contractNo) {
  710. this.$message({
  711. message: '合同编号不能为空',
  712. type: 'warning',
  713. })
  714. return
  715. }
  716. if (
  717. this.deptBudgetList.contractNo.length < 6 ||
  718. this.deptBudgetList.contractNo.length > 50
  719. ) {
  720. this.$message({
  721. message: '合同编号长度不符合要求,请输入6到50个字符之内!',
  722. type: 'warning',
  723. })
  724. return
  725. }
  726. if (!this.deptBudgetList.shippingType) {
  727. this.$message({
  728. message: '运输方式不能为空',
  729. type: 'warning',
  730. })
  731. return
  732. }
  733. if (
  734. this.deptBudgetList.shippingType.length < 1 ||
  735. this.deptBudgetList.shippingType.length > 20
  736. ) {
  737. this.$message({
  738. message: '运输方式长度不符合要求,请输入1到20个字符之内!',
  739. type: 'warning',
  740. })
  741. return
  742. }
  743. if (!this.deptBudgetList.buyer) {
  744. this.$message({
  745. message: '买方名称不能为空',
  746. type: 'warning',
  747. })
  748. return
  749. }
  750. if (this.deptBudgetList.buyer.length > 30) {
  751. this.$message({
  752. message: '买方名称长度不符合要求,请输入30个字符之内!',
  753. type: 'warning',
  754. })
  755. return
  756. }
  757. if (!this.deptBudgetList.settlementMethod) {
  758. this.$message({
  759. message: '结算方式不能为空',
  760. type: 'warning',
  761. })
  762. return
  763. }
  764. if (
  765. this.deptBudgetList.settlementMethod.length < 1 ||
  766. this.deptBudgetList.settlementMethod.length > 20
  767. ) {
  768. this.$message({
  769. message: '结算方式长度不符合要求,请输入1到20个字符之内!',
  770. type: 'warning',
  771. })
  772. return
  773. }
  774. if (!this.deptBudgetList.seller) {
  775. this.$message({
  776. message: '请输入卖方名称!',
  777. type: 'warning',
  778. })
  779. return
  780. }
  781. if (this.deptBudgetList.seller.length > 30) {
  782. this.$message({
  783. message: '卖方名称长度不符合要求,请输入30个字符之内!',
  784. type: 'warning',
  785. })
  786. return
  787. }
  788. if (!this.deptBudgetList.buyerPhone) {
  789. this.$message({
  790. message: '请输入买方电话!',
  791. type: 'warning',
  792. })
  793. return
  794. }
  795. // if (isNaN(this.deptBudgetList.buyerPhone)) {
  796. // this.$message({
  797. // message: '输入买方电话有误!',
  798. // type: 'warning',
  799. // })
  800. // return
  801. // }
  802. if (!this.deptBudgetList.sellerPhone) {
  803. this.$message({
  804. message: '请输入卖方电话!',
  805. type: 'warning',
  806. })
  807. return
  808. }
  809. if (isNaN(this.deptBudgetList.sellerPhone)) {
  810. this.$message({
  811. message: '输入卖方电话有误!',
  812. type: 'warning',
  813. })
  814. return
  815. }
  816. // if (this.deptBudgetList.deliverType == '2') {
  817. // if (!this.deptBudgetList.feedbackLeader) {
  818. // this.$message({
  819. // message: '请选择收货反馈负责人',
  820. // type: 'warning',
  821. // })
  822. // return
  823. // }
  824. // }
  825. if (!this.deptBudgetList.acceptanceMethod) {
  826. this.$message({
  827. message: '请选择验收方式',
  828. type: 'warning',
  829. })
  830. return
  831. }
  832. if (!this.deptBudgetList.weight) {
  833. this.$message({
  834. message: '请输入重量!',
  835. type: 'warning',
  836. })
  837. return
  838. }
  839. if (
  840. isNaN(this.deptBudgetList.weight) ||
  841. (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
  842. String(this.deptBudgetList.weight).length -
  843. (String(this.deptBudgetList.weight).indexOf('.') + 1) >
  844. 3) ||
  845. this.deptBudgetList.weight < 0 ||
  846. this.deptBudgetList.weight > 200000
  847. ) {
  848. this.$message({
  849. message: '输入重量有误!',
  850. type: 'warning',
  851. })
  852. return
  853. }
  854. if (!this.deptBudgetList.storageFee) {
  855. this.$message({
  856. message: '代储费不能为空!',
  857. type: 'warning',
  858. })
  859. return
  860. }
  861. if (!this.deptBudgetList.storageFeeWeight) {
  862. this.$message({
  863. message: '代储费起算重量不能为空!',
  864. type: 'warning',
  865. })
  866. return
  867. }
  868. if (
  869. isNaN(this.deptBudgetList.storageFee) ||
  870. (String(this.deptBudgetList.storageFee).indexOf('.') != -1 &&
  871. String(this.deptBudgetList.storageFee).length -
  872. (String(this.deptBudgetList.storageFee).indexOf('.') + 1) >
  873. 2) ||
  874. this.deptBudgetList.storageFee < 0 ||
  875. this.deptBudgetList.storageFee > 1000
  876. ) {
  877. this.$message({
  878. message: '代储费填写错误!',
  879. type: 'warning',
  880. })
  881. return
  882. }
  883. if (
  884. isNaN(this.deptBudgetList.storageFeeWeight) ||
  885. (String(this.deptBudgetList.storageFeeWeight).indexOf('.') != -1 &&
  886. String(this.deptBudgetList.storageFeeWeight).length -
  887. (String(this.deptBudgetList.storageFeeWeight).indexOf('.') + 1) >
  888. 3) ||
  889. this.deptBudgetList.storageFeeWeight < 0 ||
  890. this.deptBudgetList.storageFeeWeight > 200000
  891. ) {
  892. this.$message({
  893. message: '代储费起算重量填写错误!',
  894. type: 'warning',
  895. })
  896. return
  897. }
  898. if (!this.deptBudgetList.deliveryDateStart) {
  899. this.$message({
  900. message: '请选择交货日期(起)',
  901. type: 'warning',
  902. })
  903. return
  904. }
  905. if (!this.deptBudgetList.overShort) {
  906. this.$message({
  907. message: '请输入溢短装!',
  908. type: 'warning',
  909. })
  910. return
  911. }
  912. if (
  913. isNaN(this.deptBudgetList.overShort) ||
  914. (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
  915. String(this.deptBudgetList.overShort).length -
  916. (String(this.deptBudgetList.overShort).indexOf('.') + 1) >
  917. 2) ||
  918. this.deptBudgetList.overShort < 0 ||
  919. this.deptBudgetList.overShort > 50
  920. ) {
  921. this.$message({
  922. message: '溢短装输入有误!',
  923. type: 'warning',
  924. })
  925. return
  926. }
  927. if (!this.deptBudgetList.deliveryDateEnd) {
  928. this.$message({
  929. message: '请选择交货日期(止)',
  930. type: 'warning',
  931. })
  932. return
  933. }
  934. if (!this.deptBudgetList.unitContractPrice) {
  935. this.$message({
  936. message: '请输入合同单价!',
  937. type: 'warning',
  938. })
  939. return
  940. }
  941. if (
  942. isNaN(this.deptBudgetList.unitContractPrice) ||
  943. (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
  944. String(this.deptBudgetList.unitContractPrice).length -
  945. (String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
  946. 2) ||
  947. this.deptBudgetList.unitContractPrice <= 0 ||
  948. this.deptBudgetList.unitContractPrice > 10000
  949. ) {
  950. this.$message({
  951. message: '合同单价输入有误!',
  952. type: 'warning',
  953. })
  954. return
  955. }
  956. if (!this.deptBudgetList.totalContractPrice) {
  957. this.$message({
  958. message: '请输入合同总价!',
  959. type: 'warning',
  960. })
  961. return
  962. }
  963. if (
  964. isNaN(this.deptBudgetList.totalContractPrice) ||
  965. (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
  966. String(this.deptBudgetList.totalContractPrice).length -
  967. (String(this.deptBudgetList.totalContractPrice).indexOf('.') +
  968. 1) >
  969. 2) ||
  970. this.deptBudgetList.totalContractPrice <= 0 ||
  971. this.deptBudgetList.totalContractPrice > 1000000000
  972. ) {
  973. this.$message({
  974. message: '合同总价输入有误!',
  975. type: 'warning',
  976. })
  977. return
  978. }
  979. //时间
  980. if (
  981. new Date(this.deptBudgetList.deliveryDateStart).getTime() >
  982. new Date(this.deptBudgetList.deliveryDateEnd).getTime()
  983. ) {
  984. this.$message({
  985. message: '交货日期(止)选择错误',
  986. type: 'warning',
  987. })
  988. return
  989. }
  990. if (!this.newSelectedOptions) {
  991. this.$message({
  992. message: '请选择货源所在地区!',
  993. type: 'warning',
  994. })
  995. return
  996. }
  997. if (!this.deptBudgetList.sourceGoods) {
  998. this.$message({
  999. message: '请输入货源详细地址!',
  1000. type: 'warning',
  1001. })
  1002. return
  1003. }
  1004. if (!this.newSelectedOptions1) {
  1005. this.$message({
  1006. message: '请选择交货所在地区!',
  1007. type: 'warning',
  1008. })
  1009. return
  1010. }
  1011. if (!this.deptBudgetList.placeDelivery) {
  1012. this.$message({
  1013. message: '请输入交货详细地址!',
  1014. type: 'warning',
  1015. })
  1016. return
  1017. }
  1018. if (!this.deptBudgetList.signingDate) {
  1019. this.$message({
  1020. message: '请选择签订日期',
  1021. type: 'warning',
  1022. })
  1023. return
  1024. }
  1025. if (
  1026. isNaN(this.deptBudgetList.finalTradingVolume) ||
  1027. (String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
  1028. String(this.deptBudgetList.finalTradingVolume).length -
  1029. (String(this.deptBudgetList.finalTradingVolume).indexOf('.') + 1) >
  1030. 3) ||
  1031. this.deptBudgetList.finalTradingVolume < 0 ||
  1032. this.deptBudgetList.finalTradingVolume > 200000
  1033. ) {
  1034. this.$message({
  1035. message: '最终实际成交量有误!',
  1036. type: 'warning',
  1037. })
  1038. return
  1039. }
  1040. //货物信息
  1041. if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
  1042. this.$message({
  1043. message: '请选择货名',
  1044. type: 'warning',
  1045. })
  1046. return
  1047. }
  1048. if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
  1049. this.$message({
  1050. message: '请输入水分',
  1051. type: 'warning',
  1052. })
  1053. return
  1054. }
  1055. if (
  1056. (this.deptBudgetList.contractGoodsInfo.waterContent &&
  1057. String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf(
  1058. '.'
  1059. ) != -1 &&
  1060. String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
  1061. (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf(
  1062. '.'
  1063. ) +
  1064. 1) >
  1065. 2) ||
  1066. this.deptBudgetList.contractGoodsInfo.waterContent > 40 ||
  1067. this.deptBudgetList.contractGoodsInfo.waterContent < 0
  1068. ) {
  1069. this.$message({
  1070. message: '水分输入错误',
  1071. type: 'warning',
  1072. })
  1073. return
  1074. }
  1075. if (!this.deptBudgetList.contractGoodsInfo.grade) {
  1076. this.$message({
  1077. message: '请选择品级',
  1078. type: 'warning',
  1079. })
  1080. return
  1081. }
  1082. if (!this.deptBudgetList.contractGoodsInfo.impurity) {
  1083. this.$message({
  1084. message: '请输入杂质',
  1085. type: 'warning',
  1086. })
  1087. return
  1088. }
  1089. if (
  1090. (this.deptBudgetList.contractGoodsInfo.impurity &&
  1091. String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') !=
  1092. -1 &&
  1093. String(this.deptBudgetList.contractGoodsInfo.impurity).length -
  1094. (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf(
  1095. '.'
  1096. ) +
  1097. 1) >
  1098. 2) ||
  1099. this.deptBudgetList.contractGoodsInfo.impurity > 40 ||
  1100. this.deptBudgetList.contractGoodsInfo.impurity < 0
  1101. ) {
  1102. this.$message({
  1103. message: '杂质输入错误',
  1104. type: 'warning',
  1105. })
  1106. return
  1107. }
  1108. if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
  1109. this.$message({
  1110. message: '请输入容重',
  1111. type: 'warning',
  1112. })
  1113. return
  1114. }
  1115. if (
  1116. (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
  1117. String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
  1118. '.'
  1119. ) != -1 &&
  1120. String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
  1121. (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
  1122. '.'
  1123. ) +
  1124. 1) >
  1125. 2) ||
  1126. this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 ||
  1127. this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
  1128. ) {
  1129. this.$message({
  1130. message: '容重输入错误',
  1131. type: 'warning',
  1132. })
  1133. return
  1134. }
  1135. if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
  1136. this.$message({
  1137. message: '请输入霉变粒',
  1138. type: 'warning',
  1139. })
  1140. return
  1141. }
  1142. if (
  1143. !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
  1144. (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
  1145. '.'
  1146. ) != -1 &&
  1147. String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
  1148. (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
  1149. '.'
  1150. ) +
  1151. 1) >
  1152. 2) ||
  1153. this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 ||
  1154. this.deptBudgetList.contractGoodsInfo.mildewGrain < 0
  1155. ) {
  1156. this.$message({
  1157. message: '霉变粒输入错误',
  1158. type: 'warning',
  1159. })
  1160. return
  1161. }
  1162. if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
  1163. this.$message({
  1164. message: '请输入热损伤',
  1165. type: 'warning',
  1166. })
  1167. return
  1168. }
  1169. if (
  1170. !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
  1171. (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
  1172. -1 &&
  1173. String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
  1174. (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
  1175. '.'
  1176. ) +
  1177. 1) >
  1178. 2) ||
  1179. this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 ||
  1180. this.deptBudgetList.contractGoodsInfo.jiaorenli < 0
  1181. ) {
  1182. this.$message({
  1183. message: '热损伤输入错误',
  1184. type: 'warning',
  1185. })
  1186. return
  1187. }
  1188. if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
  1189. this.$message({
  1190. message: '请输入不完善粒',
  1191. type: 'warning',
  1192. })
  1193. return
  1194. }
  1195. if (
  1196. !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
  1197. (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
  1198. '.'
  1199. ) != -1 &&
  1200. String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
  1201. (String(
  1202. this.deptBudgetList.contractGoodsInfo.imperfectGrain
  1203. ).indexOf('.') +
  1204. 1) >
  1205. 2) ||
  1206. this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 ||
  1207. this.deptBudgetList.contractGoodsInfo.imperfectGrain < 0
  1208. ) {
  1209. this.$message({
  1210. message: '不完善粒输入错误',
  1211. type: 'warning',
  1212. })
  1213. return
  1214. }
  1215. if (this.deptBudgetList.contractProcessInfo.goodsNameKey) {
  1216. if (
  1217. !this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
  1218. this.deptBudgetList.contractProcessInfo.goodsNameKey < 100 ||
  1219. (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
  1220. '.'
  1221. ) != -1 &&
  1222. String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
  1223. (String(
  1224. this.deptBudgetList.contractProcessInfo.goodsNameKey
  1225. ).indexOf('.') +
  1226. 1) >
  1227. 2)
  1228. ) {
  1229. this.$message({
  1230. message: '合同收入金额输入错误',
  1231. type: 'warning',
  1232. })
  1233. return
  1234. }
  1235. }
  1236. if (
  1237. this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
  1238. this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
  1239. (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
  1240. '.'
  1241. ) != -1 &&
  1242. String(this.deptBudgetList.contractProcessInfo.waterContent).length -
  1243. (String(
  1244. this.deptBudgetList.contractProcessInfo.waterContent
  1245. ).indexOf('.') +
  1246. 1) >
  1247. 2)
  1248. ) {
  1249. this.$message({
  1250. message: '费用支出输入错误',
  1251. type: 'warning',
  1252. })
  1253. return
  1254. }
  1255. if (
  1256. (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
  1257. (this.deptBudgetList.contractProcessInfo.goodsName < 0) ||
  1258. (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
  1259. '.'
  1260. ) != -1 &&
  1261. String(this.deptBudgetList.contractProcessInfo.goodsName).length -
  1262. (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
  1263. '.'
  1264. ) +
  1265. 1) >
  1266. 2)
  1267. ) {
  1268. this.$message({
  1269. message: '已开发票金额输入错误',
  1270. type: 'warning',
  1271. })
  1272. return
  1273. }
  1274. if (
  1275. (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
  1276. (this.deptBudgetList.contractProcessInfo.impurity < 0) ||
  1277. (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
  1278. '.'
  1279. ) != -1 &&
  1280. String(this.deptBudgetList.contractProcessInfo.impurity).length -
  1281. (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
  1282. '.'
  1283. ) +
  1284. 1) >
  1285. 2)
  1286. ) {
  1287. this.$message({
  1288. message: '未开发票金额输入错误',
  1289. type: 'warning',
  1290. })
  1291. return
  1292. }
  1293. if (
  1294. (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
  1295. (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
  1296. (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
  1297. '.'
  1298. ) != -1 &&
  1299. String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
  1300. (String(
  1301. this.deptBudgetList.contractProcessInfo.mildewGrain
  1302. ).indexOf('.') +
  1303. 1) >
  1304. 2)
  1305. ) {
  1306. this.$message({
  1307. message: '未回款金额输入错误',
  1308. type: 'warning',
  1309. })
  1310. return
  1311. }
  1312. this.$refs.deptBudgetList.validate((valid) => {
  1313. if (valid) {
  1314. if(this.deptBudgetList.personPhone){
  1315. this.deptBudgetList.personPhone=this.deptBudgetList.personPhone.toString()
  1316. }
  1317. this.deptBudgetList.compId = this.compId
  1318. this.deptBudgetList.contractType = 1
  1319. this.deptBudgetList.goodsType = 1
  1320. addList(this.deptBudgetList)
  1321. .toPromise()
  1322. .then((response) => {
  1323. // 存储买方、卖方、买方电话、卖方电话
  1324. let _data = {
  1325. byer: this.deptBudgetList.buyer,
  1326. seller: this.deptBudgetList.seller,
  1327. buyerPhone: this.deptBudgetList.buyerPhone,
  1328. sellerPhone: this.deptBudgetList.sellerPhone
  1329. }
  1330. if (this.restaurants1.length <= 20) {
  1331. this.restaurants1 = this.restaurants1.filter(function(val) {
  1332. if (val.value != _data.byer) {
  1333. return val
  1334. }
  1335. })
  1336. this.restaurants1.unshift({
  1337. value: _data.byer
  1338. })
  1339. } else {
  1340. this.restaurants1.unshift({
  1341. value: _data.byer
  1342. }).pop({
  1343. value: _data.byer
  1344. })
  1345. }
  1346. localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
  1347. if (this.restaurants2.length <= 20) {
  1348. this.restaurants2 = this.restaurants2.filter(function(val) {
  1349. if (val.value != _data.seller) {
  1350. return val
  1351. }
  1352. })
  1353. this.restaurants2.unshift({
  1354. value: _data.seller
  1355. })
  1356. } else {
  1357. this.restaurants2.unshift({
  1358. value: _data.seller
  1359. }).pop({
  1360. value: _data.seller
  1361. })
  1362. }
  1363. localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
  1364. if (this.restaurants2.length <= 20) {
  1365. this.restaurants3 = this.restaurants3.filter(function(val) {
  1366. if (val.value != _data.buyerPhone) {
  1367. return val
  1368. }
  1369. })
  1370. this.restaurants3.unshift({
  1371. value: _data.buyerPhone
  1372. })
  1373. } else {
  1374. this.restaurants3.unshift({
  1375. value: _data.buyerPhone
  1376. }).pop({
  1377. value: _data.buyerPhone
  1378. })
  1379. }
  1380. localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
  1381. if (this.restaurants4.length <= 20) {
  1382. this.restaurants4 = this.restaurants3.filter(function(val) {
  1383. if (val.value != _data.sellerPhone) {
  1384. return val
  1385. }
  1386. })
  1387. this.restaurants4.unshift({
  1388. value: _data.sellerPhone
  1389. })
  1390. } else {
  1391. this.restaurants4.unshift({
  1392. value: _data.sellerPhone
  1393. }).pop({
  1394. value: _data.sellerPhone
  1395. })
  1396. }
  1397. localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
  1398. this.$message.success('添加成功')
  1399. this.deptBudgetList = {
  1400. deliverType: '1',
  1401. agreementType: '代储合同',
  1402. finalTradingVolume: 0,
  1403. totalContractPrice: 0,
  1404. contractGoodsInfo: {
  1405. goodsName: '',
  1406. },
  1407. buyerPhone: '',
  1408. contractProcessInfo: {},
  1409. addressUrl: '',
  1410. // sourceGoods: '',
  1411. placeDelivery: '',
  1412. settlementWeightMethod: '1',
  1413. }
  1414. this.$router.push({
  1415. path: 'storageContract',
  1416. })
  1417. })
  1418. } else {
  1419. EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  1420. return false
  1421. }
  1422. })
  1423. },
  1424. resetForm(deptBudgetList) {
  1425. this.$refs[deptBudgetList].resetFields()
  1426. },
  1427. saveClick(item, index) {
  1428. console.log(item)
  1429. if (Object.is(item.id, 1)) {
  1430. return
  1431. }
  1432. if (Object.is(this.unitList[index].flag, 'delete')) {
  1433. this.$set(this.unitList, index, {
  1434. flag: 'check',
  1435. })
  1436. } else {
  1437. this.$set(this.unitList, index, {
  1438. flag: 'delete',
  1439. })
  1440. }
  1441. if (!item.constValue) {
  1442. this.unitList.splice(index, 1)
  1443. return
  1444. }
  1445. if (item.flag == 'add') {
  1446. item.constKey = Math.random() * 20
  1447. this.trainingMethods.compId = localStorage.getItem('ws-pf_compId')
  1448. this.trainingMethods.constKey = item.constKey
  1449. this.trainingMethods.constCode = 'TYPEYAN'
  1450. this.trainingMethods.constValue = item.constValue
  1451. this.trainingMethods.id = item.id
  1452. addxiala(this.trainingMethods)
  1453. .toPromise()
  1454. .then((response) => {
  1455. this.getUnitList()
  1456. })
  1457. } else if (item.flag == 'check') {
  1458. this.trainingMethods.compId = localStorage.getItem('ws-pf_compId')
  1459. this.trainingMethods.constKey = item.constKey
  1460. this.trainingMethods.constCode = 'TYPEYAN'
  1461. this.trainingMethods.constValue = item.constValue
  1462. this.trainingMethods.id = item.id
  1463. editxiala(this.trainingMethods)
  1464. .toPromise()
  1465. .then((response) => {
  1466. this.getUnitList()
  1467. })
  1468. }
  1469. },
  1470. handleExamine() {},
  1471. approve() {},
  1472. addClick() {
  1473. this.unitList.push({
  1474. flag: 'add',
  1475. constValue: '',
  1476. constKey: '',
  1477. })
  1478. },
  1479. selectChapterTwo(e) {
  1480. for (var i = 0; i < this.ChapterTwoList.length; i++) {
  1481. if (this.ChapterTwoList[i].constValue == e) {
  1482. this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
  1483. }
  1484. }
  1485. },
  1486. selectunitList(e) {
  1487. for (var i = 0; i < this.unitList.length; i++) {
  1488. if (this.unitList[i].constValue == e) {
  1489. this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
  1490. }
  1491. }
  1492. },
  1493. selectgrade(e) {
  1494. for (var i = 0; i < this.gradeList.length; i++) {
  1495. if (this.gradeList[i].constValue == e) {
  1496. this.deptBudgetList.gradeKey = this.gradeList[i].constKey
  1497. this.deptBudgetList.contractGoodsInfo.gradeKey =
  1498. this.gradeList[i].constKey
  1499. }
  1500. }
  1501. },
  1502. selectgoodsName(e) {
  1503. for (var i = 0; i < this.goodnameList.length; i++) {
  1504. if (this.goodnameList[i].constValue == e) {
  1505. this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
  1506. this.deptBudgetList.contractGoodsInfo.goodsNameKey =
  1507. this.goodnameList[i].constKey
  1508. }
  1509. }
  1510. },
  1511. selectpackingMethod(e) {
  1512. for (var i = 0; i < this.ChapterTwoList.length; i++) {
  1513. if (this.ChapterTwoList[i].constValue == e) {
  1514. this.deptBudgetList.acceptanceMethodKey =
  1515. this.ChapterTwoList[i].constKey
  1516. }
  1517. }
  1518. },
  1519. selectpacking(e) {
  1520. for (var i = 0; i < this.packtypeList.length; i++) {
  1521. if (this.packtypeList[i].constValue == e) {
  1522. this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
  1523. }
  1524. }
  1525. },
  1526. selectpriceType(e) {
  1527. if (e == '随行就市') {
  1528. this.deptBudgetList.deliverType = '1'
  1529. }
  1530. },
  1531. weightchange(e) {
  1532. this.deptBudgetList.finalTradingVolume = e
  1533. },
  1534. pricechange(e) {
  1535. this.deptBudgetList.totalContractPrice = e * this.deptBudgetList.weight
  1536. },
  1537. // 编辑
  1538. editClick(item, index) {
  1539. const map = JSON.parse(JSON.stringify(item))
  1540. if (Object.is(item.id, 1)) {
  1541. return
  1542. }
  1543. if (Object.is(this.unitList[index].flag, 'delete')) {
  1544. map.flag = 'check'
  1545. this.$set(this.unitList, index, map)
  1546. } else {
  1547. map.flag = 'delete'
  1548. this.$set(this.unitList, index, map)
  1549. }
  1550. },
  1551. // 删除
  1552. deleteClick(item, index) {
  1553. if (Object.is(item.constKey, 1)) {
  1554. return
  1555. }
  1556. if (!item.constValue) {
  1557. this.unitList.splice(index, 1)
  1558. return
  1559. }
  1560. delxiala({
  1561. id: this.unitList[index].id,
  1562. })
  1563. .toPromise()
  1564. .then((response) => {
  1565. this.getUnitList()
  1566. this.pleaseChoose = ''
  1567. })
  1568. },
  1569. },
  1570. }
  1571. </script>
  1572. <style lang="scss" scoped>
  1573. /deep/.ws-info-table .el-form-item .el-form-item__content {
  1574. padding: 0 25px;
  1575. }
  1576. /deep/.ws-info-table .el-form-item {
  1577. border-right: 1px solid #cdd2dc;
  1578. border-bottom: 1px solid #cdd2dc;
  1579. }
  1580. .title {
  1581. position: relative;
  1582. }
  1583. .title::before {
  1584. content: '';
  1585. display: inline-block;
  1586. width: 5px;
  1587. height: 30px;
  1588. background: #5473e8;
  1589. position: absolute;
  1590. left: 0;
  1591. }
  1592. .el-button--primary {
  1593. background-color: #5878e8;
  1594. border-color: #5878e8;
  1595. }
  1596. .upload-demo {
  1597. margin-top: 10px;
  1598. }
  1599. .el-col {
  1600. background: #f6f7fc;
  1601. }
  1602. .readonly {
  1603. position: relative;
  1604. }
  1605. .readonly:after {
  1606. content: '*';
  1607. color: #ff2727;
  1608. position: absolute;
  1609. right: 8px;
  1610. z-index: 10;
  1611. top: 21%;
  1612. font-size: 20px;
  1613. }
  1614. /deep/.ws-info-table .el-form-item .el-form-item__content {
  1615. padding: 0 25px;
  1616. border-left: 1px solid #cdd2dc;
  1617. background: #fafbfc;
  1618. }
  1619. /deep/.ws-info-table .el-form-item .el-form-item__label {
  1620. width: 140px;
  1621. text-align: center;
  1622. background: #f0f2f6;
  1623. // border: 1px solid #cdd2dc;
  1624. }
  1625. .button-container {
  1626. display: flex;
  1627. flex-wrap: nowrap;
  1628. justify-content: space-between;
  1629. align-items: center;
  1630. background-color: #fff;
  1631. width: 100%;
  1632. height: 50px;
  1633. padding: 0 10px;
  1634. &>div {
  1635. margin-left: 10px;
  1636. display: flex;
  1637. flex-wrap: nowrap;
  1638. flex-direction: row;
  1639. &>span {
  1640. line-height: 50px;
  1641. }
  1642. }
  1643. /deep/.auditFlow-box {
  1644. position: unset;
  1645. margin-left: 10px;
  1646. &/deep/.auditFlow-icon {
  1647. width: auto;
  1648. padding-right: 30px;
  1649. }
  1650. &/deep/.auditFlow-main {
  1651. position: absolute;
  1652. }
  1653. }
  1654. }
  1655. .box-app {
  1656. display: inline-block;
  1657. float: left;
  1658. margin-left: 30px;
  1659. line-height: 50px;
  1660. }
  1661. /deep/.el-dialog {
  1662. .el-form-item {
  1663. margin-bottom: 0 !important;
  1664. .el-input--medium {
  1665. textarea {
  1666. min-height: 100px !important;
  1667. }
  1668. }
  1669. }
  1670. }
  1671. .collapse-bottom {
  1672. margin-bottom: 20px;
  1673. }
  1674. .input-main .textarea .el-textarea__inner {
  1675. width: 100%;
  1676. z-index: 1;
  1677. }
  1678. .bg-left {
  1679. padding-left: 30px;
  1680. }
  1681. .bg-right {
  1682. padding-right: 10px;
  1683. text-align: right;
  1684. }
  1685. .bg-bottom {
  1686. margin: 16px 0px;
  1687. }
  1688. .wenzi {
  1689. width: 70%;
  1690. margin: 0 auto;
  1691. }
  1692. .wenzi h3 {
  1693. display: inline-block;
  1694. left: 10px;
  1695. }
  1696. .wenzi p {
  1697. display: inline-block;
  1698. }
  1699. .center {
  1700. width: 70%;
  1701. margin: 0 auto;
  1702. }
  1703. .el-form-item {
  1704. width: 50%;
  1705. }
  1706. .el-form-item__label {
  1707. text-align: center;
  1708. }
  1709. .ce {
  1710. width: 70%;
  1711. margin: 0 auto;
  1712. }
  1713. /*.crt-main .textarea /deep/ .el-form-item__label {*/
  1714. /* height: 82px;*/
  1715. /*}*/
  1716. // 控制select为只读的时候显示样式
  1717. .hide-sel {
  1718. .el-input__inner {
  1719. border: 0px;
  1720. }
  1721. .el-icon-arrow-up {
  1722. display: none;
  1723. }
  1724. .el-textarea__inner {
  1725. background-color: #fff !important;
  1726. border: 0;
  1727. }
  1728. .el-date-editor {
  1729. i {
  1730. display: none;
  1731. }
  1732. }
  1733. .is-disabled {
  1734. .el-input__inner:hover {
  1735. background-color: #fff !important;
  1736. border: 0;
  1737. }
  1738. color: #606266;
  1739. .el-input__inner {
  1740. background-color: #fff !important;
  1741. border: 0;
  1742. color: #606266;
  1743. }
  1744. .el-textarea__inner {
  1745. background-color: #fff !important;
  1746. border: 0;
  1747. color: #606266;
  1748. }
  1749. }
  1750. }
  1751. /deep/.ws-info-table .el-form-item .el-form-item__label {
  1752. width: 130px;
  1753. }
  1754. //*号
  1755. .unchangeable {
  1756. position: absolute;
  1757. width: 9px;
  1758. height: 22px;
  1759. font-size: 16px;
  1760. font-family: PingFangSC-Medium, PingFang SC;
  1761. font-weight: 500;
  1762. color: #ff2727;
  1763. line-height: 22px;
  1764. display: inline-block;
  1765. right: 14px;
  1766. }
  1767. /deep/.el-input,
  1768. /deep/.el-date-editor {
  1769. font-size: 13px;
  1770. }
  1771. /deep/.el-textarea {
  1772. width: 101%;
  1773. margin: 0px;
  1774. }
  1775. /deep/el-date-editor--date {
  1776. width: 200px;
  1777. }
  1778. .unchanged {
  1779. position: absolute;
  1780. left: 37px;
  1781. width: 102px;
  1782. height: 14px;
  1783. font-size: 14px;
  1784. font-family: PingFangSC-Regular, PingFang SC;
  1785. font-weight: 400;
  1786. color: #afb5cb;
  1787. line-height: 14px;
  1788. }
  1789. /deep/.el-input--small .el-input__inner {
  1790. height: 32px;
  1791. line-height: 32px;
  1792. }
  1793. // 控制select为只读的时候显示样式
  1794. /deep/.ws-class-table-col {
  1795. height: auto;
  1796. padding: 0px 2px;
  1797. /deep/.el-input__inner {
  1798. padding: 0px 2px;
  1799. }
  1800. }
  1801. /deep/.is-disabled {
  1802. .el-input__prefix,
  1803. .el-input__suffix {
  1804. display: none;
  1805. }
  1806. .el-input__inner {
  1807. background-color: #fff;
  1808. border-color: #fff !important;
  1809. color: #000 !important;
  1810. font-size: 14px;
  1811. cursor: text;
  1812. padding: 0 !important;
  1813. }
  1814. }
  1815. .winseaview-view {
  1816. padding: 0 0 20px;
  1817. }
  1818. .container {
  1819. overflow: scroll;
  1820. height: 93vh;
  1821. }
  1822. .addressUrls {
  1823. width: 100%;
  1824. display: flex;
  1825. margin-top: 10px;
  1826. }
  1827. .addressUrls-item {
  1828. position: relative;
  1829. display: flex;
  1830. }
  1831. .icon-guanbi {
  1832. position: absolute;
  1833. right: 8px;
  1834. }
  1835. .addressUrl {
  1836. margin: 0px 10px;
  1837. border-radius: 3px;
  1838. }
  1839. //上传文件成功标识
  1840. /deep/.el-upload-list__item-status-label {
  1841. position: absolute;
  1842. right: 22px;
  1843. top: -1px;
  1844. line-height: inherit;
  1845. display: none;
  1846. }
  1847. .map {
  1848. position: fixed;
  1849. top: 0;
  1850. bottom: 0;
  1851. left: 0;
  1852. right: 0;
  1853. margin: auto;
  1854. width: 850px;
  1855. height: 400px;
  1856. background: gainsboro;
  1857. border-radius: 20px;
  1858. padding: 10px;
  1859. box-sizing: border-box;
  1860. z-index: 99;
  1861. }
  1862. .amap-container {
  1863. width: 100% !important;
  1864. }
  1865. .address-btn {
  1866. width: 100%;
  1867. text-align: left;
  1868. color: #000;
  1869. border: 1px solid #ccc;
  1870. }
  1871. .inline-input {
  1872. width: 100%;
  1873. }
  1874. </style>