salesContractAdd.vue 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453
  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="wenzi">
  14. <h3>基本信息</h3>
  15. <p>
  16. &nbsp;&nbsp;注:基本信息和货物信息均为必填项,“*”
  17. 标记的条目提交后不可修改。
  18. </p>
  19. </div>
  20. <div class="center">
  21. <ws-form ref="deptBudgetList" :model="deptBudgetList">
  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="20" 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="20" size="small" />
  32. </ws-form-item>
  33. <!--买方-->
  34. <ws-form-item label="买方" span="1" prop="buyer" class="readonly">
  35. <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" />
  36. </ws-form-item>
  37. <!--结算方式-->
  38. <ws-form-item label="结算方式" span="1" prop="settlementMethod">
  39. <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="120" size="small" />
  40. </ws-form-item>
  41. <!--卖方-->
  42. <ws-form-item label="卖方" span="1" prop="seller" class="readonly">
  43. <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" />
  44. </ws-form-item>
  45. <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
  46. <el-radio v-model="deptBudgetList.deliverType" label="1">我方自提</el-radio>
  47. <el-radio v-model="deptBudgetList.deliverType" label="2">对方送货</el-radio>
  48. </ws-form-item>
  49. <!--买方电话-->
  50. <ws-form-item label="买方电话" span="1" prop="contractNo">
  51. <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" />
  52. </ws-form-item>
  53. <!--包装方式-->
  54. <ws-form-item label="包装方式" span="1" prop="packingMethod">
  55. <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect"
  56. @change="selectpackingMethod">
  57. <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
  58. :value="item.constValue" />
  59. </ws-select>
  60. </ws-form-item>
  61. <!--卖方电话-->
  62. <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
  63. <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" />
  64. </ws-form-item>
  65. <!--验收方式-->
  66. <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
  67. <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" filterable
  68. @change="selectunitList">
  69. <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
  70. :value="item.constValue">
  71. <span class="unit-left" style="float: left">
  72. <span v-if="item.flag == 'delete'">
  73. {{ item.constValue }}</span>
  74. <!-- 新增文本框 -->
  75. <div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
  76. <ws-input v-model="item.constValue" clearable maxlength="10" style="width: 100%"></ws-input>
  77. </div>
  78. </span>
  79. <span style="float: right; color: #8492a6; font-size: 13px">
  80. <!-- 对号 -->
  81. <i class="el-icon-check" style="line-height: 29px; margin-left: 10px" v-if="item.flag !== 'delete'"
  82. @click.stop="saveClick(item, index)"></i>
  83. <!-- 编辑 -->
  84. <i class="el-icon-edit" style="line-height: 29px; margin-left: 10px" v-if="item.flag == 'delete'"
  85. @click.stop="editClick(item, index)"></i>
  86. <!-- 删除 -->
  87. <i class="el-icon-delete" style="line-height: 29px" @click.stop="deleteClick(item, index)"></i>
  88. </span>
  89. </el-option>
  90. <!-- 新增按钮 -->
  91. <el-option value="" label="">
  92. <div style="
  93. text-align: right;
  94. border-top: 1px solid #dcdfe6;
  95. padding: 5px;
  96. ">
  97. <ws-button type="primary" @click.stop="addClick">{{
  98. $t('button.add')
  99. }}</ws-button>
  100. </div>
  101. </el-option>
  102. </el-select>
  103. </ws-form-item>
  104. <!--重量(吨)-->
  105. <ws-form-item label="重量(吨)" span="1" prop="weight">
  106. <ws-input v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100" size="small" />
  107. </ws-form-item>
  108. <!--交货日期(起)-->
  109. <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
  110. <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
  111. value-format="yyyy-MM-dd" />
  112. </ws-form-item>
  113. <!--溢短装(%)-->
  114. <ws-form-item label="溢短装(%)" span="1" prop="overShort">
  115. <ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装比例(%)" maxlength="100" size="small" />
  116. </ws-form-item>
  117. <!--交货日期(止)-->
  118. <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
  119. <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
  120. value-format="yyyy-MM-dd" />
  121. </ws-form-item>
  122. <!--合同单价(元/吨)-->
  123. <ws-form-item class="readonly" label="合同单价(元/吨)" span="1" prop="unitContractPrice">
  124. <ws-input v-model="deptBudgetList.unitContractPrice" placeholder="请输入合同单价" maxlength="100" size="small" />
  125. </ws-form-item>
  126. <!--合同总价-->
  127. <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
  128. <ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100" size="small" />
  129. </ws-form-item>
  130. <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
  131. <el-cascader :options="options_" v-model="selectedOptions" clearable size="large" placeholder="请选择货源所在地区"
  132. style="width: 200%" @change="handleChange" />
  133. </ws-form-item>
  134. <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
  135. <ws-input v-model="deptBudgetList.sourceGoods" placeholder="请输入货源详细地址" maxlength="20" size="small" />
  136. </ws-form-item>
  137. <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
  138. <el-cascader :options="options_" v-model="selectedOptions1" clearable size="large" placeholder="请选择交货所在地区"
  139. style="width: 200%" @change="handleChange1" />
  140. </ws-form-item>
  141. <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
  142. <ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20" size="small" />
  143. </ws-form-item>
  144. <!--签订日期-->
  145. <ws-form-item label="签订日期" span="1" prop="signingDate">
  146. <ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
  147. value-format="yyyy-MM-dd" />
  148. </ws-form-item>
  149. <ws-form-item label="最终实际成交量(吨)" span="1" prop="finalTradingVolume">
  150. <ws-input v-model="deptBudgetList.finalTradingVolume" placeholder="请输入最终实际成交量" maxlength="100"
  151. size="small" />
  152. </ws-form-item>
  153. </ws-info-table>
  154. </ws-form>
  155. </div>
  156. <div class="wenzi">
  157. <h3>货物信息</h3>
  158. </div>
  159. <div class="center">
  160. <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
  161. <!--货物信息-->
  162. <ws-info-table>
  163. <!--货名-->
  164. <ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
  165. <ws-select v-model="deptBudgetList.contractGoodsInfo.goodsName" placeholder="" class="typeselect"
  166. @change="selectpackingMethod">
  167. <ws-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
  168. :value="item.constValue" />
  169. </ws-select>
  170. </ws-form-item>
  171. <!--水分(%)<=-->
  172. <ws-form-item label="水分(%)" span="1" prop="waterContent">
  173. <ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比" maxlength="100"
  174. size="small" />
  175. </ws-form-item>
  176. <!--品级-->
  177. <ws-form-item label="品级" span="1" prop="grade" class="readonly">
  178. <ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="" class="typeselect"
  179. @change="selectgrade">
  180. <ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
  181. :value="item.constValue" />
  182. </ws-select>
  183. </ws-form-item>
  184. <!--杂质(%)<=-->
  185. <ws-form-item label="杂质(%)" span="1" prop="impurity">
  186. <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)" maxlength="40"
  187. size="small" />
  188. </ws-form-item>
  189. <!--容量(克/升)>=-->
  190. <ws-form-item label="容量(克/升)" span="1" prop="bulkDensity">
  191. <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="40"
  192. size="small" />
  193. </ws-form-item>
  194. <!--霉变粒(%)<=-->
  195. <ws-form-item label="霉变粒(%)" span="1" prop="mildewGrain">
  196. <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)" maxlength="40"
  197. size="small" />
  198. </ws-form-item>
  199. <!--热损伤(%)<=-->
  200. <ws-form-item label="热损伤(%)" span="1" prop="jiaorenli">
  201. <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)" maxlength="40"
  202. size="small" />
  203. </ws-form-item>
  204. <!--不完整粒(%)<=-->
  205. <ws-form-item label="不完整粒(%)" span="1" prop="imperfectGrain">
  206. <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完整粒占比(%)"
  207. maxlength="40" size="small" />
  208. </ws-form-item>
  209. </ws-info-table>
  210. </ws-form>
  211. </div>
  212. <div class="wenzi">
  213. <h3>流程信息</h3>
  214. </div>
  215. <div class="center">
  216. <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
  217. <!--流程信息-->
  218. <ws-info-table>
  219. <!--合同收入(元)-->
  220. <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
  221. <ws-input type='number' v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)" maxlength="100"
  222. size="small" />
  223. </ws-form-item>
  224. <!--已开发票(元)-->
  225. <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
  226. <ws-input type='number' v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票(元)" maxlength="100"
  227. size="small" />
  228. </ws-form-item>
  229. <!--费用支出(元)-->
  230. <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
  231. <ws-input type='number' v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)" maxlength="100"
  232. size="small" />
  233. </ws-form-item>
  234. <!--未开发票(元)-->
  235. <ws-form-item label="未开发票(元)" span="1" prop="impurity">
  236. <ws-input type='number' v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)" maxlength="100"
  237. size="small" />
  238. </ws-form-item>
  239. <!--未回款(元)-->
  240. <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
  241. <ws-input type='number' v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)" maxlength="100"
  242. size="small" />
  243. </ws-form-item>
  244. <!--已完成发货量(吨)-->
  245. <ws-form-item label="已完成发运量(吨)" span="1" prop="imperfectGrain">
  246. <ws-input v-model="deptBudgetList.contractProcessInfo.imperfectGrain" placeholder="请输入已完成发运量(吨)"
  247. maxlength="100" size="small" />
  248. </ws-form-item>
  249. <!--双章原件回收情况-->
  250. <ws-form-item label="双章原件回收情况" span="1" prop="grade">
  251. <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
  252. @change="selectpackingMethod">
  253. <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
  254. :value="item.constValue" />
  255. </ws-select>
  256. </ws-form-item>
  257. </ws-info-table>
  258. </ws-form>
  259. </div>
  260. <div class="wenzi">
  261. <h3>备注信息</h3>
  262. </div>
  263. <div class="ce">
  264. <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
  265. <!--备注信息-->
  266. <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
  267. maxlength="200" />
  268. <ws-upload ref="upload" table-name="maintain_work_order" oss-key="mainPlan" :comp-id="compId"
  269. :appendix-ids="appendixIdsAdd" :vesselId="deptBudgetList.addressUrl" :size-limit="size"
  270. @uploadSuccess="uploadSuccess" @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
  271. </ws-form>
  272. </div>
  273. <div style="text-align: right; padding: 10px" class="center">
  274. <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
  275. </div>
  276. </div>
  277. </template>
  278. <script>
  279. // import { getVesselOne } from '@/model/procurement/basic'
  280. // import { dayjs } from 'base-core-lib'
  281. import {
  282. packList,
  283. addList,
  284. xiala,
  285. addxiala,
  286. editxiala,
  287. delxiala,
  288. } from '@/model/contarct/index'
  289. import WsUpload from '@/components/WsUpload'
  290. import {
  291. regionData,
  292. CodeToText,
  293. TextToCode
  294. } from 'element-china-area-data'
  295. export default {
  296. name: 'viewSpareMoney',
  297. components: {
  298. WsUpload,
  299. },
  300. watch: {
  301. vesselId(val) {
  302. this.getVesselData()
  303. },
  304. isShow(val) {
  305. this.showType = val
  306. },
  307. },
  308. data() {
  309. return {
  310. //弹出框
  311. dialogViewSpareMoney: false,
  312. dialogApproveFormVisible: false,
  313. // 船舶类型
  314. monetaryKey: null,
  315. // 表格显示数据
  316. tableDate: [],
  317. // 是否显示
  318. showType: true,
  319. // 年
  320. year: '',
  321. options_: regionData,
  322. selectedOptions: [],
  323. selectedOptions1: [],
  324. // 提交类型
  325. submitType: true,
  326. tableData: [{
  327. date: 1111,
  328. name: 'qqqq',
  329. address: 'errrtt'
  330. }],
  331. trainingMethods: {},
  332. packtypeList: [],
  333. compId: sessionStorage.getItem('ws-pf_compId'),
  334. mainReportAdd: {},
  335. appendixIdsAdd: '',
  336. size: 10,
  337. // uploadSuccess: {},
  338. // onChange:{},
  339. unitList: [],
  340. goodnameList: [],
  341. gradeList: [],
  342. ChapterTwoList: [],
  343. deptBudgetList: {
  344. deliverType: '1',
  345. finalTradingVolume: 0,
  346. contractGoodsInfo: {
  347. goodsName: '',
  348. },
  349. contractProcessInfo: {},
  350. },
  351. pickerBeginDateBefore: {
  352. disabledDate: (time) => {
  353. return time.getTime() > Date.now()
  354. },
  355. },
  356. ruleDeptBudget: {
  357. contractNo: [{
  358. required: true,
  359. message: '请输入活动名称',
  360. trigger: 'blur'
  361. },
  362. {
  363. min: 6,
  364. max: 20,
  365. message: '长度在 6 到 20 个字符',
  366. trigger: 'blur',
  367. },
  368. ],
  369. },
  370. selectIntendedShip: {},
  371. interviewTypeList: {},
  372. }
  373. },
  374. activated() {
  375. //cg.viewBudget
  376. //cg.viewSpareMoney
  377. // this.getVesselData();
  378. this.deptBudgetList.packingMethod = '散装'
  379. this.deptBudgetList.packingMethodKey = 1
  380. this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
  381. this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
  382. this.deptBudgetList.contractProcessInfo.grade = '未回收'
  383. this.deptBudgetList.contractProcessInfo.gradeKey = 1
  384. this.deptBudgetList.contractGoodsInfo.grade = '一等品'
  385. this.deptBudgetList.contractGoodsInfo.gradeKey = 1
  386. this.loaddata()
  387. this.showType = this.isShow
  388. },
  389. methods: {
  390. // 关闭 dialog时 处理文件url 初始化upload组件
  391. handleClose() {
  392. this.dialogViewSpareMoney = false
  393. },
  394. handleChange(value) {
  395. this.selectedOptions = value
  396. },
  397. handleChange1(value) {
  398. this.selectedOptions1 = value
  399. },
  400. returnsales() {
  401. this.$router.push({
  402. path: 'salesContract'
  403. })
  404. },
  405. loaddata() {
  406. // 包装方式
  407. packList({
  408. constId: 'CON1'
  409. })
  410. .toPromise()
  411. .then((response) => {
  412. this.packtypeList = response
  413. })
  414. // 验收方式
  415. this.getUnitList()
  416. // 货名
  417. packList({
  418. constId: 'CON2'
  419. })
  420. .toPromise()
  421. .then((response) => {
  422. this.goodnameList = response
  423. })
  424. // 品级
  425. packList({
  426. constId: 'CON3'
  427. })
  428. .toPromise()
  429. .then((response) => {
  430. this.gradeList = response
  431. })
  432. // 双章
  433. packList({
  434. constId: 'CON4'
  435. })
  436. .toPromise()
  437. .then((response) => {
  438. this.ChapterTwoList = response
  439. })
  440. },
  441. // 上传附件
  442. uploadSuccess(data, files, url) {
  443. console.log(data, files, url)
  444. // this.deptBudgetList.
  445. // this.formData.append('files', files)
  446. // this.feedbackObj.uploadNameAttachment = data.appendixName
  447. // this.feedbackObj.pathUploadAttachment = data.appendixPath
  448. // // this.newAppendixs = files
  449. // this.onChangeFlag = true
  450. },
  451. onChange(files) {
  452. this.fileNum = files
  453. this.$refs.upload.handleSaveBill().then((res) => {
  454. console.log(files)
  455. })
  456. },
  457. getUnitList() {
  458. xiala({
  459. compId: sessionStorage.getItem('ws-pf_compId'),
  460. constCode: 'TYPEYAN',
  461. })
  462. .toPromise()
  463. .then((response) => {
  464. this.unitList = response
  465. let currItem
  466. this.unitList.forEach((item, index, arr) => {
  467. item.flag = 'delete'
  468. if (this.vModel == item.constKey) {
  469. currItem = item
  470. }
  471. })
  472. //
  473. if (currItem) {
  474. this.selectContract(currItem.constValue)
  475. }
  476. })
  477. },
  478. submit() {
  479. if (!this.deptBudgetList.contractNo) {
  480. this.$message({
  481. message: '请输入合同编号',
  482. type: 'warning',
  483. })
  484. return
  485. }
  486. if (
  487. this.deptBudgetList.contractNo.length < 6 ||
  488. this.deptBudgetList.contractNo.length > 20
  489. ) {
  490. this.$message({
  491. message: '合同编号长度不符合要求,请输入6到20个字符之内!',
  492. type: 'warning',
  493. })
  494. return
  495. }
  496. if (!this.deptBudgetList.shippingType) {
  497. this.$message({
  498. message: '请输入运输方式!',
  499. type: 'warning',
  500. })
  501. return
  502. }
  503. if (
  504. this.deptBudgetList.shippingType.length < 1 ||
  505. this.deptBudgetList.shippingType.length > 20
  506. ) {
  507. this.$message({
  508. message: '运输方式长度不符合要求,请输入1到20个字符之内!',
  509. type: 'warning',
  510. })
  511. return
  512. }
  513. if (!this.deptBudgetList.buyer) {
  514. this.$message({
  515. message: '请输入买方名称!',
  516. type: 'warning',
  517. })
  518. return
  519. }
  520. if (this.deptBudgetList.buyer.length > 30) {
  521. this.$message({
  522. message: '买方名称长度不符合要求,请输入30个字符之内!',
  523. type: 'warning',
  524. })
  525. return
  526. }
  527. if (!this.deptBudgetList.seller) {
  528. this.$message({
  529. message: '请输入卖方名称!',
  530. type: 'warning',
  531. })
  532. return
  533. }
  534. if (this.deptBudgetList.seller.length > 30) {
  535. this.$message({
  536. message: '卖方名称长度不符合要求,请输入30个字符之内!',
  537. type: 'warning',
  538. })
  539. return
  540. }
  541. if (!this.deptBudgetList.buyerPhone) {
  542. this.$message({
  543. message: '请输入买方电话!',
  544. type: 'warning',
  545. })
  546. return
  547. }
  548. if (isNaN(this.deptBudgetList.buyerPhone)) {
  549. this.$message({
  550. message: '输入买方电话有误!',
  551. type: 'warning',
  552. })
  553. return
  554. }
  555. if (
  556. this.deptBudgetList.buyerPhone.length < 7 ||
  557. this.deptBudgetList.buyerPhone.length > 20
  558. ) {
  559. this.$message({
  560. message: '买方电话长度不符合要求,请输入7到20个字符之内!',
  561. type: 'warning',
  562. })
  563. return
  564. }
  565. if (!this.deptBudgetList.sellerPhone) {
  566. this.$message({
  567. message: '请输入卖方电话!',
  568. type: 'warning',
  569. })
  570. return
  571. }
  572. if (isNaN(this.deptBudgetList.sellerPhone)) {
  573. this.$message({
  574. message: '输入卖方电话有误!',
  575. type: 'warning',
  576. })
  577. return
  578. }
  579. if (
  580. this.deptBudgetList.buyerPhone.length < 7 ||
  581. this.deptBudgetList.buyerPhone.length > 20
  582. ) {
  583. this.$message({
  584. message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
  585. type: 'warning',
  586. })
  587. return
  588. }
  589. if (!this.deptBudgetList.settlementMethod) {
  590. this.$message({
  591. message: '请输入结算方式!',
  592. type: 'warning',
  593. })
  594. return
  595. }
  596. if (!this.deptBudgetList.sourceGoods) {
  597. this.$message({
  598. message: '请输入货源详细地址!',
  599. type: 'warning',
  600. })
  601. return
  602. }
  603. if (!this.deptBudgetList.placeDelivery) {
  604. this.$message({
  605. message: '请输入交货详细地址!',
  606. type: 'warning',
  607. })
  608. return
  609. }
  610. if (this.selectedOptions.length == 0) {
  611. this.$message({
  612. message: '请选择货源所在地区!',
  613. type: 'warning',
  614. })
  615. return
  616. }
  617. if (this.selectedOptions1.length == 0) {
  618. this.$message({
  619. message: '请选择交货所在地区!',
  620. type: 'warning',
  621. })
  622. return
  623. }
  624. if (!this.deptBudgetList.weight) {
  625. this.$message({
  626. message: '请输入重量!',
  627. type: 'warning',
  628. })
  629. return
  630. }
  631. if (
  632. isNaN(this.deptBudgetList.weight) ||
  633. (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
  634. String(this.deptBudgetList.weight).length -
  635. (String(this.deptBudgetList.weight).indexOf('.') + 1) >
  636. 3) ||
  637. this.deptBudgetList.weight < 0 ||
  638. this.deptBudgetList.weight > 200000
  639. ) {
  640. this.$message({
  641. message: '输入重量有误!',
  642. type: 'warning',
  643. })
  644. return
  645. }
  646. if (
  647. !this.deptBudgetList.overShort &&
  648. isNaN(this.deptBudgetList.overShort)
  649. ) {
  650. this.$message({
  651. message: '溢短装输入有误!',
  652. type: 'warning',
  653. })
  654. return
  655. }
  656. if (
  657. !this.deptBudgetList.unitContractPrice &&
  658. isNaN(this.deptBudgetList.unitContractPrice)
  659. ) {
  660. this.$message({
  661. message: '合同单价输入有误!',
  662. type: 'warning',
  663. })
  664. return
  665. }
  666. if (
  667. !this.deptBudgetList.totalContractPrice &&
  668. isNaN(this.deptBudgetList.totalContractPrice)
  669. ) {
  670. this.$message({
  671. message: '合同总价输入有误!',
  672. type: 'warning',
  673. })
  674. return
  675. }
  676. if (!this.deptBudgetList.deliveryDateStart) {
  677. this.$message({
  678. message: '请选择交货日期(起)',
  679. type: 'warning',
  680. })
  681. return
  682. }
  683. if (!this.deptBudgetList.deliveryDateEnd) {
  684. this.$message({
  685. message: '请选择交货日期(止)',
  686. type: 'warning',
  687. })
  688. return
  689. }
  690. //时间
  691. if (
  692. new Date(this.deptBudgetList.deliveryDateStart).getTime() >
  693. new Date(this.deptBudgetList.deliveryDateEnd).getTime()
  694. ) {
  695. this.$message({
  696. message: '交货日期(止)选择错误',
  697. type: 'warning',
  698. })
  699. return
  700. }
  701. if (!this.deptBudgetList.signingDate) {
  702. this.$message({
  703. message: '请选择签订日期',
  704. type: 'warning',
  705. })
  706. return
  707. }
  708. if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
  709. this.$message({
  710. message: '请选择货名',
  711. type: 'warning',
  712. })
  713. return
  714. }
  715. if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
  716. this.$message({
  717. message: '请选择水分',
  718. type: 'warning',
  719. })
  720. return
  721. }
  722. if (!this.deptBudgetList.contractGoodsInfo.grade) {
  723. this.$message({
  724. message: '请选择品级',
  725. type: 'warning',
  726. })
  727. return
  728. }
  729. if (
  730. !this.deptBudgetList.contractGoodsInfo.impurity ||
  731. (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') !=
  732. -1 &&
  733. String(this.deptBudgetList.contractGoodsInfo.impurity).length -
  734. (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf(
  735. '.'
  736. ) +
  737. 1) >
  738. 2)
  739. ) {
  740. this.$message({
  741. message: '杂质输入错误',
  742. type: 'warning',
  743. })
  744. return
  745. }
  746. if (
  747. !this.deptBudgetList.contractGoodsInfo.bulkDensity ||
  748. (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
  749. '.'
  750. ) != -1 &&
  751. String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
  752. (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
  753. '.'
  754. ) +
  755. 1) >
  756. 2)
  757. ) {
  758. this.$message({
  759. message: '容重输入错误',
  760. type: 'warning',
  761. })
  762. return
  763. }
  764. if (
  765. !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
  766. (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
  767. '.'
  768. ) != -1 &&
  769. String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
  770. (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
  771. '.'
  772. ) +
  773. 1) >
  774. 2)
  775. ) {
  776. this.$message({
  777. message: '霉变粒输入错误',
  778. type: 'warning',
  779. })
  780. return
  781. }
  782. if (
  783. !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
  784. (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
  785. -1 &&
  786. String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
  787. (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
  788. '.'
  789. ) +
  790. 1) >
  791. 2)
  792. ) {
  793. this.$message({
  794. message: '热损伤输入错误',
  795. type: 'warning',
  796. })
  797. return
  798. }
  799. if (
  800. !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
  801. (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
  802. '.'
  803. ) != -1 &&
  804. String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
  805. (String(
  806. this.deptBudgetList.contractGoodsInfo.imperfectGrain
  807. ).indexOf('.') +
  808. 1) >
  809. 2)
  810. ) {
  811. this.$message({
  812. message: '不完整粒输入错误',
  813. type: 'warning',
  814. })
  815. return
  816. }
  817. if (
  818. (!this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000) |
  819. (this.deptBudgetList.contractProcessInfo.goodsNameKey < 0) ||
  820. (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
  821. '.'
  822. ) != -1 &&
  823. String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
  824. (String(
  825. this.deptBudgetList.contractProcessInfo.goodsNameKey
  826. ).indexOf('.') +
  827. 1) >
  828. 2)
  829. ) {
  830. this.$message({
  831. message: '合同收入金额输入错误',
  832. type: 'warning',
  833. })
  834. return
  835. }
  836. if (
  837. (this.deptBudgetList.contractProcessInfo.waterContent > 10000000) |
  838. (this.deptBudgetList.contractProcessInfo.waterContent < 0) ||
  839. (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
  840. '.'
  841. ) != -1 &&
  842. String(this.deptBudgetList.contractProcessInfo.waterContent).length -
  843. (String(
  844. this.deptBudgetList.contractProcessInfo.waterContent
  845. ).indexOf('.') +
  846. 1) >
  847. 2)
  848. ) {
  849. this.$message({
  850. message: '费用金额输入错误',
  851. type: 'warning',
  852. })
  853. return
  854. }
  855. if (
  856. (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
  857. (this.deptBudgetList.contractProcessInfo.goodsName < 0) ||
  858. (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
  859. '.'
  860. ) != -1 &&
  861. String(this.deptBudgetList.contractProcessInfo.goodsName).length -
  862. (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
  863. '.'
  864. ) +
  865. 1) >
  866. 2)
  867. ) {
  868. this.$message({
  869. message: '已开发票金额输入错误',
  870. type: 'warning',
  871. })
  872. return
  873. }
  874. if (
  875. (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
  876. (this.deptBudgetList.contractProcessInfo.impurity < 0) ||
  877. (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
  878. '.'
  879. ) != -1 &&
  880. String(this.deptBudgetList.contractProcessInfo.impurity).length -
  881. (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
  882. '.'
  883. ) +
  884. 1) >
  885. 2)
  886. ) {
  887. this.$message({
  888. message: '未开发票金额输入错误',
  889. type: 'warning',
  890. })
  891. return
  892. }
  893. if (
  894. (this.deptBudgetList.contractProcessInfo.imperfectGrain > 200000) |
  895. (this.deptBudgetList.contractProcessInfo.imperfectGrain < 0) ||
  896. (String(this.deptBudgetList.contractProcessInfo.imperfectGrain).indexOf(
  897. '.'
  898. ) != -1 &&
  899. String(this.deptBudgetList.contractProcessInfo.imperfectGrain)
  900. .length -
  901. (String(
  902. this.deptBudgetList.contractProcessInfo.imperfectGrain
  903. ).indexOf('.') +
  904. 1) >
  905. 2)
  906. ) {
  907. this.$message({
  908. message: '已完成发运量输入错误',
  909. type: 'warning',
  910. })
  911. return
  912. }
  913. if (
  914. (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
  915. (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
  916. (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
  917. '.'
  918. ) != -1 &&
  919. String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
  920. (String(
  921. this.deptBudgetList.contractProcessInfo.mildewGrain
  922. ).indexOf('.') +
  923. 1) >
  924. 2)
  925. ) {
  926. this.$message({
  927. message: '未回款金额输入错误',
  928. type: 'warning',
  929. })
  930. return
  931. }
  932. this.$refs.deptBudgetList.validate((valid) => {
  933. if (valid) {
  934. this.deptBudgetList.sourceProvince = CodeToText[this.selectedOptions[0]]
  935. this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
  936. this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions1[0]]
  937. this.deptBudgetList.deliveryCity = CodeToText[this.selectedOptions1[1]]
  938. this.deptBudgetList.compId = this.compId
  939. this.deptBudgetList.contractType = 1
  940. if (this.deptBudgetList.deliveryProvince == "澳门特别行政区" || this.deptBudgetList.deliveryProvince ==
  941. "澳门特别行政区") {
  942. this.deptBudgetList.deliveryArea = "特别行政区"
  943. } else {
  944. this.deptBudgetList.deliveryArea = CodeToText[this.selectedOptions1[2]]
  945. }
  946. if (this.deptBudgetList.sourceProvince == "澳门特别行政区" || this.deptBudgetList.sourceProvince ==
  947. "澳门特别行政区") {
  948. this.deptBudgetList.sourceArea = "特别行政区"
  949. } else {
  950. this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
  951. }
  952. addList(this.deptBudgetList)
  953. .toPromise()
  954. .then((response) => {
  955. this.$message.success('添加成功')
  956. this.deptBudgetList = {
  957. deliverType: '1',
  958. finalTradingVolume: 0,
  959. contractGoodsInfo: {
  960. goodsName: '',
  961. },
  962. contractProcessInfo: {},
  963. }
  964. this.$router.push({
  965. path: 'salesContract'
  966. })
  967. })
  968. } else {
  969. EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  970. return false
  971. }
  972. })
  973. },
  974. resetForm(deptBudgetList) {
  975. this.$refs[deptBudgetList].resetFields()
  976. },
  977. saveClick(item, index) {
  978. console.log(item)
  979. if (Object.is(item.id, 1)) {
  980. return
  981. }
  982. if (Object.is(this.unitList[index].flag, 'delete')) {
  983. this.$set(this.unitList, index, {
  984. flag: 'check'
  985. })
  986. } else {
  987. this.$set(this.unitList, index, {
  988. flag: 'delete'
  989. })
  990. }
  991. if (!item.constValue) {
  992. this.unitList.splice(index, 1)
  993. return
  994. }
  995. if (item.flag == 'add') {
  996. item.constKey = Math.random() * 20
  997. this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
  998. this.trainingMethods.constKey = item.constKey
  999. this.trainingMethods.constCode = 'TYPEYAN'
  1000. this.trainingMethods.constValue = item.constValue
  1001. this.trainingMethods.id = item.id
  1002. addxiala(this.trainingMethods)
  1003. .toPromise()
  1004. .then((response) => {
  1005. this.getUnitList()
  1006. })
  1007. } else if (item.flag == 'check') {
  1008. this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
  1009. this.trainingMethods.constKey = item.constKey
  1010. this.trainingMethods.constCode = 'TYPEYAN'
  1011. this.trainingMethods.constValue = item.constValue
  1012. this.trainingMethods.id = item.id
  1013. editxiala(this.trainingMethods)
  1014. .toPromise()
  1015. .then((response) => {
  1016. this.getUnitList()
  1017. })
  1018. }
  1019. },
  1020. // selectContract(val) {
  1021. // let key = this.unitList.find((item) => item.constValue === val).constKey
  1022. // this.pleaseChoose = val
  1023. // },
  1024. handleExamine() {},
  1025. approve() {},
  1026. // returnsales() {
  1027. // this.$router.push({ path: 'purchaseContract' })
  1028. // },
  1029. addClick() {
  1030. // let [flag, constValue, constKey] = ['check', '', '']
  1031. // let obj = { flag, constValue, constKey }
  1032. // let objAdd = { flag: 'add', constValue: '新增项目', constKey: '' }
  1033. // let result = this.unitList.filter((item, val, arr) => {
  1034. // return item.id != '1'
  1035. // })
  1036. // result.push(obj)
  1037. // result.push(objAdd)
  1038. // this.unitList = result
  1039. this.unitList.push({
  1040. flag: 'add',
  1041. constValue: '',
  1042. constKey: '',
  1043. })
  1044. },
  1045. selectChapterTwo(e) {
  1046. for (var i = 0; i < this.ChapterTwoList.length; i++) {
  1047. if (this.ChapterTwoList[i].constValue == e) {
  1048. this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
  1049. }
  1050. }
  1051. },
  1052. selectunitList(e) {
  1053. for (var i = 0; i < this.unitList.length; i++) {
  1054. if (this.unitList[i].constValue == e) {
  1055. this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
  1056. }
  1057. }
  1058. },
  1059. selectgrade(e) {
  1060. for (var i = 0; i < this.gradeList.length; i++) {
  1061. if (this.gradeList[i].constValue == e) {
  1062. this.deptBudgetList.gradeKey = this.gradeList[i].constKey
  1063. }
  1064. }
  1065. },
  1066. selectgoodsName(e) {
  1067. for (var i = 0; i < this.goodnameList.length; i++) {
  1068. if (this.goodnameList[i].constValue == e) {
  1069. this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
  1070. }
  1071. }
  1072. },
  1073. selectpackingMethod(e) {
  1074. for (var i = 0; i < this.packtypeList.length; i++) {
  1075. if (this.packtypeList[i].constValue == e) {
  1076. this.deptBudgetList.acceptanceMethodKey =
  1077. this.packtypeList[i].constKey
  1078. }
  1079. }
  1080. },
  1081. // 编辑
  1082. editClick(item, index) {
  1083. const map = JSON.parse(JSON.stringify(item))
  1084. if (Object.is(item.id, 1)) {
  1085. return
  1086. }
  1087. if (Object.is(this.unitList[index].flag, 'delete')) {
  1088. map.flag = 'check'
  1089. this.$set(this.unitList, index, map)
  1090. } else {
  1091. map.flag = 'delete'
  1092. this.$set(this.unitList, index, map)
  1093. }
  1094. },
  1095. // 删除
  1096. deleteClick(item, index) {
  1097. if (Object.is(item.constKey, 1)) {
  1098. return
  1099. }
  1100. if (!item.constValue) {
  1101. this.unitList.splice(index, 1)
  1102. return
  1103. }
  1104. delxiala({
  1105. id: this.unitList[index].id
  1106. })
  1107. .toPromise()
  1108. .then((response) => {
  1109. this.getUnitList()
  1110. this.pleaseChoose = ''
  1111. })
  1112. },
  1113. },
  1114. }
  1115. </script>
  1116. <style lang="scss" scoped>
  1117. /deep/.ws-info-table .el-form-item .el-form-item__content {
  1118. padding: 0 25px;
  1119. }
  1120. /deep/.ws-info-table .el-form-item {
  1121. border-right: 1px solid #cdd2dc;
  1122. border-bottom: 1px solid #cdd2dc;
  1123. }
  1124. .title {
  1125. position: relative;
  1126. }
  1127. .title::before {
  1128. content: '';
  1129. display: inline-block;
  1130. width: 5px;
  1131. height: 30px;
  1132. background: #5473e8;
  1133. position: absolute;
  1134. left: 0;
  1135. }
  1136. .el-button--primary {
  1137. background-color: #5878e8;
  1138. border-color: #5878e8;
  1139. }
  1140. .el-col {
  1141. background: #f6f7fc;
  1142. }
  1143. .readonly {
  1144. position: relative;
  1145. }
  1146. .readonly:after {
  1147. content: '*';
  1148. color: #ff2727;
  1149. position: absolute;
  1150. right: 8px;
  1151. z-index: 10;
  1152. top: 21%;
  1153. font-size: 20px;
  1154. }
  1155. /deep/.ws-info-table .el-form-item .el-form-item__content {
  1156. padding: 0 25px;
  1157. border-left: 1px solid #cdd2dc;
  1158. background: #fafbfc;
  1159. }
  1160. /deep/.ws-info-table .el-form-item .el-form-item__label {
  1161. width: 140px;
  1162. text-align: center;
  1163. background: #f0f2f6;
  1164. // border: 1px solid #cdd2dc;
  1165. }
  1166. .button-container {
  1167. display: flex;
  1168. flex-wrap: nowrap;
  1169. justify-content: space-between;
  1170. align-items: center;
  1171. background-color: #fff;
  1172. width: 100%;
  1173. height: 50px;
  1174. padding: 0 10px;
  1175. &>div {
  1176. margin-left: 10px;
  1177. display: flex;
  1178. flex-wrap: nowrap;
  1179. flex-direction: row;
  1180. &>span {
  1181. line-height: 50px;
  1182. }
  1183. }
  1184. /deep/.auditFlow-box {
  1185. position: unset;
  1186. margin-left: 10px;
  1187. &/deep/.auditFlow-icon {
  1188. width: auto;
  1189. padding-right: 30px;
  1190. }
  1191. &/deep/.auditFlow-main {
  1192. position: absolute;
  1193. }
  1194. }
  1195. }
  1196. .box-app {
  1197. display: inline-block;
  1198. float: left;
  1199. margin-left: 30px;
  1200. line-height: 50px;
  1201. }
  1202. /deep/.el-dialog {
  1203. .el-form-item {
  1204. margin-bottom: 0 !important;
  1205. .el-input--medium {
  1206. textarea {
  1207. min-height: 100px !important;
  1208. }
  1209. }
  1210. }
  1211. }
  1212. .collapse-bottom {
  1213. margin-bottom: 20px;
  1214. }
  1215. .input-main .textarea .el-textarea__inner {
  1216. width: 100%;
  1217. z-index: 1;
  1218. }
  1219. .bg-left {
  1220. padding-left: 30px;
  1221. }
  1222. .bg-right {
  1223. padding-right: 10px;
  1224. text-align: right;
  1225. }
  1226. .bg-bottom {
  1227. margin: 16px 0px;
  1228. }
  1229. .wenzi {
  1230. width: 70%;
  1231. margin: 0 auto;
  1232. }
  1233. .wenzi h3 {
  1234. display: inline-block;
  1235. left: 10px;
  1236. }
  1237. .wenzi p {
  1238. display: inline-block;
  1239. }
  1240. .center {
  1241. width: 70%;
  1242. margin: 0 auto;
  1243. }
  1244. .el-form-item {
  1245. width: 50%;
  1246. }
  1247. .el-form-item__label {
  1248. text-align: center;
  1249. }
  1250. .ce {
  1251. width: 70%;
  1252. margin: 0 auto;
  1253. }
  1254. /*.crt-main .textarea /deep/ .el-form-item__label {*/
  1255. /* height: 82px;*/
  1256. /*}*/
  1257. // 控制select为只读的时候显示样式
  1258. .hide-sel {
  1259. .el-input__inner {
  1260. border: 0px;
  1261. }
  1262. .el-icon-arrow-up {
  1263. display: none;
  1264. }
  1265. .el-textarea__inner {
  1266. background-color: #fff !important;
  1267. border: 0;
  1268. }
  1269. .el-date-editor {
  1270. i {
  1271. display: none;
  1272. }
  1273. }
  1274. .is-disabled {
  1275. .el-input__inner:hover {
  1276. background-color: #fff !important;
  1277. border: 0;
  1278. }
  1279. color: #606266;
  1280. .el-input__inner {
  1281. background-color: #fff !important;
  1282. border: 0;
  1283. color: #606266;
  1284. }
  1285. .el-textarea__inner {
  1286. background-color: #fff !important;
  1287. border: 0;
  1288. color: #606266;
  1289. }
  1290. }
  1291. }
  1292. /deep/.ws-info-table .el-form-item .el-form-item__label {
  1293. width: 130px;
  1294. }
  1295. //*号
  1296. .unchangeable {
  1297. position: absolute;
  1298. width: 9px;
  1299. height: 22px;
  1300. font-size: 16px;
  1301. font-family: PingFangSC-Medium, PingFang SC;
  1302. font-weight: 500;
  1303. color: #ff2727;
  1304. line-height: 22px;
  1305. display: inline-block;
  1306. right: 14px;
  1307. }
  1308. /deep/.el-input,
  1309. /deep/.el-date-editor {
  1310. font-size: 13px;
  1311. }
  1312. /deep/.el-textarea {
  1313. width: 101%;
  1314. margin: 0px;
  1315. }
  1316. /deep/el-date-editor--date {
  1317. width: 200px;
  1318. }
  1319. .unchanged {
  1320. position: absolute;
  1321. left: 37px;
  1322. width: 102px;
  1323. height: 14px;
  1324. font-size: 14px;
  1325. font-family: PingFangSC-Regular, PingFang SC;
  1326. font-weight: 400;
  1327. color: #afb5cb;
  1328. line-height: 14px;
  1329. }
  1330. /deep/.el-input--small .el-input__inner {
  1331. height: 32px;
  1332. line-height: 32px;
  1333. }
  1334. // 控制select为只读的时候显示样式
  1335. /deep/.ws-class-table-col {
  1336. height: auto;
  1337. padding: 0px 2px;
  1338. /deep/.el-input__inner {
  1339. padding: 0px 2px;
  1340. }
  1341. }
  1342. /deep/.is-disabled {
  1343. .el-input__prefix,
  1344. .el-input__suffix {
  1345. display: none;
  1346. }
  1347. .el-input__inner {
  1348. background-color: #fff;
  1349. border-color: #fff !important;
  1350. color: #000 !important;
  1351. font-size: 14px;
  1352. cursor: text;
  1353. padding: 0 !important;
  1354. }
  1355. }
  1356. .winseaview-view {
  1357. padding: 0 0 20px;
  1358. }
  1359. .container {
  1360. overflow: scroll;
  1361. height: 93vh;
  1362. }
  1363. </style>