saleOrderInfo.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. <template>
  2. <div>
  3. <el-form ref="form" class="el-form-box" :model="form" label-width="120px">
  4. <el-row>
  5. <el-col :span="8">
  6. <el-form-item label="订单编号:" prop="orderNo">
  7. <el-input v-model="form.orderNo" disabled></el-input>
  8. </el-form-item>
  9. <el-form-item label="来源类型:" prop="relationType">
  10. <el-select
  11. v-model="form.relationType"
  12. style="width: 100%"
  13. disabled
  14. placeholder=" "
  15. >
  16. <el-option :value="1" label="商机"></el-option>
  17. <el-option :value="2" label="报价"></el-option>
  18. <el-option :value="3" label="销售合同"></el-option>
  19. <el-option :value="4" label="项目"></el-option>
  20. </el-select>
  21. </el-form-item>
  22. <el-form-item label="结算方式:" prop="settlementModeName">
  23. <el-input v-model="form.settlementModeName" disabled></el-input>
  24. </el-form-item>
  25. <el-form-item v-if="form.settlementMode == 1" label="结算日期范围" prop="settlementDate">
  26. <el-date-picker
  27. style="width: 100%"
  28. v-model="form.settlementDate"
  29. type="daterange"
  30. value-format="yyyy-MM-dd"
  31. range-separator="至"
  32. start-placeholder="开始日期"
  33. end-placeholder="结束日期"
  34. disabled
  35. >
  36. </el-date-picker>
  37. </el-form-item>
  38. <el-form-item v-if="form.settlementMode == 2" label="结算月份范围" prop="settlementDate">
  39. <el-date-picker
  40. v-model="form.settlementDate"
  41. type="monthrange"
  42. range-separator="至"
  43. start-placeholder="开始月份"
  44. end-placeholder="结束月份"
  45. value-format="yyyy-MM"
  46. style="width: 100%"
  47. disabled
  48. >
  49. </el-date-picker>
  50. </el-form-item>
  51. <el-form-item v-if="form.settlementMode == 2" label="收款日期" prop="receiptDate">
  52. <el-input type="number" :min="1" :max="31" disabled placeholder="请输入" v-model="form.receiptDate">
  53. <template slot="prepend">每月</template>
  54. <template slot="append">日</template>
  55. </el-input>
  56. </el-form-item>
  57. <el-form-item
  58. label="期数"
  59. prop="issueNumber"
  60. >
  61. <el-input type="number" :min="1" disabled v-model="form.issueNumber">
  62. <template slot="append">
  63. <span>期</span>
  64. </template>
  65. </el-input>
  66. </el-form-item>
  67. <el-form-item label="客户收货地址:" prop="receiveAddress">
  68. <el-input v-model="form.receiveAddress" disabled></el-input>
  69. </el-form-item>
  70. <el-form-item label="是否挂单:" prop="isSuspend">
  71. <el-radio v-model="form.isSuspend" disabled :label="1">是</el-radio>
  72. <el-radio v-model="form.isSuspend" disabled :label="0">否</el-radio>
  73. </el-form-item>
  74. </el-col>
  75. <el-col :span="8">
  76. <el-form-item
  77. label="项目名称:"
  78. prop="relationName"
  79. v-if="form.relationType == 4"
  80. >
  81. <el-input v-model="form.relationName" disabled></el-input>
  82. </el-form-item>
  83. <el-form-item
  84. label="合同名称:"
  85. prop="relationName"
  86. v-if="form.relationType == 3"
  87. >
  88. <el-input v-model="form.relationName" disabled></el-input>
  89. </el-form-item>
  90. <el-form-item
  91. label="报价单:"
  92. prop="relationCode"
  93. v-if="form.relationType == 2"
  94. >
  95. <el-input v-model="form.relationCode" disabled></el-input>
  96. </el-form-item>
  97. <el-form-item
  98. label="商机名称:"
  99. prop="relationName"
  100. v-if="form.relationType == 1"
  101. >
  102. <el-input v-model="form.relationName" disabled></el-input>
  103. </el-form-item>
  104. <el-form-item label="销售部门:" prop="salesDeptName">
  105. <el-input v-model="form.salesDeptName" disabled></el-input>
  106. </el-form-item>
  107. <el-form-item label="销售类型:" prop="saleTypeName">
  108. <el-input v-model="form.saleTypeName" disabled></el-input>
  109. </el-form-item>
  110. <el-form-item
  111. label="订单类型:"
  112. prop="needProduce"
  113. style="margin-bottom: 22px"
  114. >
  115. <el-radio v-model="form.needProduce" disabled :label="1"
  116. >有客户生产性订单</el-radio
  117. >
  118. <el-radio v-model="form.needProduce" disabled :label="0"
  119. >库存式订单</el-radio
  120. >
  121. <el-radio v-model="form.needProduce" disabled :label="2"
  122. >无客户生产性订单</el-radio
  123. >
  124. <el-radio
  125. v-model="form.needProduce"
  126. disabled
  127. :label="5"
  128. >委外订单</el-radio
  129. >
  130. <el-radio
  131. v-model="form.needProduce"
  132. disabled
  133. :label="4"
  134. v-if="clientEnvironmentId != 5"
  135. >不定向订单</el-radio
  136. >
  137. </el-form-item>
  138. <el-form-item label="交易方式" prop="transactionMode">
  139. <el-select
  140. v-model="form.transactionMode"
  141. placeholder="请选择"
  142. style="width: 100%"
  143. disabled
  144. >
  145. <el-option
  146. v-for="item in transactionMethodsOp"
  147. :key="item.value"
  148. :label="item.label"
  149. :value="item.value"
  150. >
  151. </el-option>
  152. </el-select>
  153. </el-form-item>
  154. <el-form-item label="签订日期:" prop="contractStartDate">
  155. <el-input v-model="form.contractStartDate" disabled></el-input>
  156. </el-form-item>
  157. </el-col>
  158. <el-col :span="8">
  159. <el-form-item
  160. label="合同编号:"
  161. prop="relationCode"
  162. v-if="form.relationType == 3"
  163. >
  164. <el-input v-model="form.relationCode" disabled></el-input>
  165. </el-form-item>
  166. <el-form-item label="业务员:" prop="salesmanName">
  167. <el-input v-model="form.salesmanName" disabled></el-input>
  168. </el-form-item>
  169. <el-form-item label="总金额:" prop="totalAmount">
  170. <el-input v-model="form.totalAmount" disabled>
  171. <template slot="append"> 元 </template>
  172. </el-input>
  173. </el-form-item>
  174. <el-form-item label="优惠后总金额:" prop="payAmount">
  175. <el-input v-model="form.payAmount" disabled>
  176. <template slot="append"> 元 </template>
  177. </el-input>
  178. </el-form-item>
  179. <el-form-item
  180. label="总数"
  181. prop="totalPlanNum"
  182. v-if="form.needProduce == 4"
  183. >
  184. <el-input v-model="form.totalPlanNum" class="totalPlanNum" disabled>
  185. <template slot="append">
  186. <DictSelection
  187. dictName="计量单位"
  188. disabled
  189. v-model="form.planNumUnit"
  190. >
  191. </DictSelection>
  192. </template>
  193. </el-input>
  194. </el-form-item>
  195. <el-form-item prop="orderFiles" label="订单附件:">
  196. <fileMain v-model="form.orderFiles" type="view"></fileMain>
  197. </el-form-item>
  198. <el-form-item label="发货模式" prop="deliveryMode">
  199. <el-select
  200. v-model="form.deliveryMode"
  201. placeholder="请选择"
  202. style="width: 100%"
  203. disabled
  204. >
  205. <el-option
  206. v-for="item in shippingModeOp"
  207. :key="item.value"
  208. :label="item.label"
  209. :value="item.value"
  210. >
  211. </el-option>
  212. </el-select>
  213. </el-form-item>
  214. <!-- <el-form-item prop="productionRequirements" label="生产要求:">
  215. <el-input v-model="form.productionRequirements" type="textarea" disabled></el-input>
  216. </el-form-item> -->
  217. </el-col>
  218. </el-row>
  219. <el-row>
  220. <el-col :span="12">
  221. <el-form-item label="客户名称:" prop="partaName">
  222. <el-input v-model="form.partaName" disabled></el-input>
  223. </el-form-item>
  224. <el-form-item
  225. label="客户统一社会信用代码:"
  226. prop="partaUnifiedSocialCreditCode"
  227. class="form_item_label"
  228. >
  229. <el-input
  230. v-model="form.partaUnifiedSocialCreditCode"
  231. disabled
  232. ></el-input>
  233. </el-form-item>
  234. <el-form-item label="客户联系人:" prop="partaLinkName">
  235. <el-input v-model="form.partaLinkName" disabled></el-input>
  236. </el-form-item>
  237. <el-form-item label="客户电话:" prop="partaTel">
  238. <el-input v-model="form.partaTel" disabled></el-input>
  239. </el-form-item>
  240. <el-form-item label="客户传真:" prop="partaFax">
  241. <el-input v-model="form.partaFax" disabled></el-input>
  242. </el-form-item>
  243. <el-form-item label=" 客户Email:" prop="partaEmail">
  244. <el-input v-model="form.partaEmail" disabled></el-input>
  245. </el-form-item>
  246. <el-form-item label="客户地址:" prop="partaAddress">
  247. <el-input v-model="form.partaAddress" disabled></el-input>
  248. </el-form-item>
  249. <el-form-item label="创建人:" prop="createUserName">
  250. <el-input v-model="form.createUserName" disabled></el-input>
  251. </el-form-item>
  252. </el-col>
  253. <el-col :span="12">
  254. <el-form-item label="售出方名称:" prop="partbName">
  255. <el-input v-model="form.partbName" disabled></el-input>
  256. </el-form-item>
  257. <el-form-item
  258. label="售出方统一社会信用代码:"
  259. prop="partbUnifiedSocialCreditCode"
  260. class="form_item_label"
  261. >
  262. <el-input
  263. v-model="form.partbUnifiedSocialCreditCode"
  264. disabled
  265. ></el-input>
  266. </el-form-item>
  267. <el-form-item label="售出方联系人:" prop="partbLinkName">
  268. <el-input v-model="form.partbLinkName" disabled></el-input>
  269. </el-form-item>
  270. <el-form-item
  271. prop="partbTel"
  272. label="售出方联系电话:"
  273. class="form_item_label"
  274. >
  275. <el-input v-model="form.partbTel" disabled></el-input>
  276. </el-form-item>
  277. <el-form-item prop="partbFax" label="售出方传真:">
  278. <el-input v-model="form.partbFax" disabled></el-input>
  279. </el-form-item>
  280. <el-form-item label="售出方Email:" prop="partbEmail">
  281. <el-input v-model="form.partbEmail" disabled></el-input>
  282. </el-form-item>
  283. <el-form-item label="售出方地址:" prop="partbAddress">
  284. <el-input v-model="form.partbAddress" disabled></el-input>
  285. </el-form-item>
  286. <el-form-item label="创建时间:" prop="createTime">
  287. <el-input v-model="form.createTime" disabled></el-input>
  288. </el-form-item>
  289. </el-col>
  290. <el-form-item label="备注:" prop="remark">
  291. <el-input type="textarea" v-model="form.remark" disabled></el-input>
  292. </el-form-item>
  293. </el-row>
  294. </el-form>
  295. <headerTitle title="物品清单" v-if="form.needProduce != 4"></headerTitle>
  296. <inventoryTabledetail
  297. v-if="form.needProduce != 4"
  298. ref="inventoryTabledetailRef"
  299. :isCustomerMark="true"
  300. :isDiscountTotalPrice="true"
  301. :isArrivalWay="true"
  302. pageName="send"
  303. :maxHeight="300"
  304. :isProductionRequirements="true"
  305. :isWms="true"
  306. :isIncreaseTotalWeight="true"
  307. ></inventoryTabledetail>
  308. <headerTitle title="类型清单" v-if="form.needProduce == 4"></headerTitle>
  309. <typeList
  310. v-if="form.needProduce == 4"
  311. ref="typeListRef"
  312. type="view"
  313. ></typeList>
  314. <div v-if="form.needProduce != 2 && form.needProduce != 4">
  315. <headerTitle
  316. title="收款计划"
  317. style="margin-top: 30px"
  318. ></headerTitle>
  319. <PaymentCollectionPlan
  320. ref="paymentCollectionPlanRef"
  321. menu="sale"
  322. type="view"
  323. ></PaymentCollectionPlan>
  324. </div>
  325. </div>
  326. </template>
  327. <script>
  328. import { getFile } from '@/api/system/file';
  329. import inventoryTabledetail from '@/BIZComponents/inventoryTableDetails.vue';
  330. // import fileMain from '@/components/addDoc/index.vue';
  331. import typeList from '../typeList.vue';
  332. import PaymentCollectionPlan from '@/BIZComponents/paymentCollectionPlan/Index.vue'
  333. import { shippingModeOp, transactionMethodsOp } from '@/enum/dict.js';
  334. import dictMixins from '@/mixins/dictMixins';
  335. export default {
  336. mixins: [dictMixins],
  337. components: {
  338. inventoryTabledetail,
  339. // fileMain,
  340. typeList,
  341. PaymentCollectionPlan
  342. },
  343. data() {
  344. return {
  345. shippingModeOp,
  346. transactionMethodsOp,
  347. settlementDate: [],
  348. form: {}
  349. };
  350. },
  351. computed: {
  352. clientEnvironmentId() {
  353. return this.$store.state.user.info.clientEnvironmentId;
  354. }
  355. },
  356. methods: {
  357. async init(row) {
  358. console.log(row, 'rowsdds');
  359. this.form = row;
  360. this.form.settlementDate = row.startSettlementDate ? [row.startSettlementDate, row.endSettlementDate] : [];
  361. this.$nextTick(() => {
  362. this.$refs.inventoryTabledetailRef &&
  363. this.$refs.inventoryTabledetailRef.putTableValue(row);
  364. this.$refs.typeListRef &&
  365. this.$refs.typeListRef.putTableValue(row.typedetailList);
  366. this.$refs.paymentCollectionPlanRef &&
  367. this.$refs.paymentCollectionPlanRef.putTableValue(row);
  368. });
  369. },
  370. downloadFile(file) {
  371. getFile({ objectName: file.storePath }, file.name);
  372. }
  373. }
  374. };
  375. </script>
  376. <style lang="scss" scoped>
  377. .totalPlanNum {
  378. :deep(.el-input-group__append) {
  379. width: 160px;
  380. }
  381. }
  382. </style>