finvouchersitems.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. <template>
  2. <div class="borderless" v-loading="pageLoading">
  3. <div class="customer-head">
  4. <div class="customer-back">
  5. <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
  6. @click="backToList">返回列表
  7. </el-button>
  8. </div>
  9. <div class="add-customer-btn">
  10. <el-button size="small" type="success" style="margin-right: 8px"
  11. :loading="saveLoading" >凭证标错
  12. </el-button>
  13. <el-button size="small" type="primary" style="margin-right: 8px"
  14. :loading="saveLoading" >保 存
  15. </el-button>
  16. </div>
  17. </div>
  18. <div style="margin: 55px 5px 0px 5px;'">
  19. <el-card class="box-card">
  20. <el-form :model="form" ref="form" label-width="90px" class="demo-ruleForm">
  21. <el-row>
  22. <el-col :span="6">
  23. <el-form-item label="凭证类型" prop="voucherType">
  24. <search-query :datalist="voucherTypeData"
  25. :selectValue="form.voucherType"
  26. :clearable="true"
  27. :buttonIf="false"
  28. :forParameter="{key:'dictKey',label:'dictValue',value:'dictKey'}"
  29. placeholder="请输入凭证类型"
  30. @corpChange="corpChange($event,'voucherType')">
  31. </search-query>
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="6">
  35. <el-form-item label="凭证号" prop="voucherNo">
  36. <el-input style="width: 100%;" v-model="form.voucherNo"
  37. size="small" autocomplete="off"
  38. :disabled="true"
  39. clearable placeholder="请输入凭证号" >
  40. </el-input>
  41. </el-form-item>
  42. </el-col>
  43. <el-col :span="6">
  44. <el-form-item label="凭证日期" prop="voucherDate">
  45. <el-date-picker v-model="form.voucherDate" clearable
  46. style="width: 100%;"
  47. type="date" size="small"
  48. value-format="yyyy-MM-dd HH:mm"
  49. placeholder="选择凭证日期">
  50. </el-date-picker>
  51. </el-form-item>
  52. </el-col>
  53. <el-col :span="6">
  54. <el-form-item label="凭证来源" prop="voucherSource">
  55. <el-input style="width: 100%;" v-model="form.voucherSource"
  56. size="small" autocomplete="off"
  57. :disabled="true"
  58. clearable placeholder="请输入凭证来源" >
  59. </el-input>
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="6">
  63. <el-form-item label="REF NO" prop="billNo">
  64. <el-input style="width: 100%;" v-model="form.billNo"
  65. size="small" autocomplete="off"
  66. :disabled="true"
  67. clearable placeholder="请输入编号" >
  68. </el-input>
  69. </el-form-item>
  70. </el-col>
  71. <el-col :span="6">
  72. <el-form-item label="附件" prop="billNo">
  73. <el-input type="" style="width: 100%;" v-model="form.billNo"
  74. size="small" autocomplete="off"
  75. clearable placeholder="请输入附件" >
  76. </el-input>
  77. </el-form-item>
  78. </el-col>
  79. </el-row>
  80. </el-form>
  81. </el-card>
  82. <el-card style="margin-top: 10px">
  83. <div style="margin-bottom: 10px">
  84. <el-button size="small" type="success" style="margin-right: 8px"
  85. :loading="saveLoading" @click="addEntryfun" >添加分录
  86. </el-button>
  87. <el-button size="small" type="success" style="margin-right: 8px"
  88. :loading="saveLoading" >项目属性
  89. </el-button>
  90. <el-button size="small" type="success" style="margin-right: 8px"
  91. :loading="saveLoading" >凭证断号观察器
  92. </el-button>
  93. <el-button size="small" type="success" style="margin-right: 8px"
  94. :loading="saveLoading" >断号优化
  95. </el-button>
  96. <el-button size="small" type="success" style="margin-right: 8px"
  97. :loading="saveLoading" >科目余额查询
  98. </el-button>
  99. </div>
  100. <fromtable-details :tableData="form.finVouchersItemsList"></fromtable-details>
  101. </el-card>
  102. <el-row style="margin-top: 10px">
  103. <el-col :span="8">
  104. <el-card class="cardRight">
  105. <el-checkbox class="borderCheckbox" style="width: 100%" v-model="checked">数量项目</el-checkbox>
  106. <el-form :model="form" ref="form" label-width="70px" class="demo-ruleForm">
  107. <el-col :span="12">
  108. <el-form-item label="单位:" prop="voucherType">
  109. <el-input style="width: 100%;" v-model="form.voucherNo"
  110. size="small" autocomplete="off"
  111. :disabled="true"
  112. clearable placeholder="请输入单位" >
  113. </el-input>
  114. </el-form-item>
  115. </el-col>
  116. <el-col :span="12">
  117. <el-form-item label="规格:" prop="voucherType">
  118. <el-input style="width: 100%;" v-model="form.voucherNo"
  119. size="small" autocomplete="off"
  120. :disabled="true"
  121. clearable placeholder="请输入规格" >
  122. </el-input>
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="12">
  126. <el-form-item label="借方数量:" prop="voucherType">
  127. <el-input style="width: 100%;" v-model="form.voucherNo"
  128. size="small" autocomplete="off"
  129. :disabled="true"
  130. clearable placeholder="请输入借方数量" >
  131. </el-input>
  132. </el-form-item>
  133. </el-col>
  134. <el-col :span="12">
  135. <el-form-item label="借方单价:" prop="voucherType">
  136. <el-input style="width: 100%;" v-model="form.voucherNo"
  137. size="small" autocomplete="off"
  138. :disabled="true"
  139. clearable placeholder="请输入借方单价" >
  140. </el-input>
  141. </el-form-item>
  142. </el-col>
  143. <el-col :span="12">
  144. <el-form-item label="贷方数量:" prop="voucherType">
  145. <el-input style="width: 100%;" v-model="form.voucherNo"
  146. size="small" autocomplete="off"
  147. :disabled="true"
  148. clearable placeholder="请输入贷方数量" >
  149. </el-input>
  150. </el-form-item>
  151. </el-col>
  152. <el-col :span="12">
  153. <el-form-item label="贷方单价:" prop="voucherType">
  154. <el-input style="width: 100%;" v-model="form.voucherNo"
  155. size="small" autocomplete="off"
  156. :disabled="true"
  157. clearable placeholder="请输入贷方单价" >
  158. </el-input>
  159. </el-form-item>
  160. </el-col>
  161. </el-form>
  162. </el-card>
  163. </el-col>
  164. <el-col :span="8">
  165. <el-card class="cardRight">
  166. <el-checkbox class="borderCheckbox" style="width: 100%" v-model="checked">外币项目</el-checkbox>
  167. <el-form :model="form" ref="form" label-width="70px" class="demo-ruleForm">
  168. <el-form-item label="外币名称:" prop="voucherType">
  169. <el-input style="width: 100%;" v-model="form.voucherNo"
  170. size="small" autocomplete="off"
  171. :disabled="true"
  172. clearable placeholder="请输入外币名称" >
  173. </el-input>
  174. </el-form-item>
  175. <el-form-item label="汇率:" prop="voucherType">
  176. <el-input style="width: 100%;" v-model="form.voucherNo"
  177. size="small" autocomplete="off"
  178. :disabled="true"
  179. clearable placeholder="请输入汇率" >
  180. </el-input>
  181. </el-form-item>
  182. <el-form-item label="原币借方:" prop="voucherType">
  183. <el-input style="width: 100%;" v-model="form.voucherNo"
  184. size="small" autocomplete="off"
  185. :disabled="true"
  186. clearable placeholder="请输入原币借方" >
  187. </el-input>
  188. </el-form-item>
  189. <el-form-item label="原币货方:" prop="voucherType">
  190. <el-input style="width: 100%;" v-model="form.voucherNo"
  191. size="small" autocomplete="off"
  192. :disabled="true"
  193. clearable placeholder="请输入原币货方" >
  194. </el-input>
  195. </el-form-item>
  196. </el-form>
  197. </el-card>
  198. </el-col>
  199. <el-col :span="8" class="cardRight" style="margin-right: 0">
  200. <el-card>
  201. <el-checkbox class="borderCheckbox" style="width: 100%" v-model="checked">核算项目</el-checkbox>
  202. <el-form :model="form" ref="form" label-width="70px" class="demo-ruleForm">
  203. <el-col :span="7">
  204. <el-form-item label="" prop="voucherType" label-width="0px">
  205. <el-checkbox v-model="checked">选择类型</el-checkbox>
  206. </el-form-item>
  207. </el-col>
  208. <el-col :span="17">
  209. <el-form-item>
  210. <span slot="label">
  211. <el-checkbox v-model="checked">客户:</el-checkbox>
  212. </span>
  213. <el-input style="width: 100%;" v-model="form.voucherNo"
  214. size="small" autocomplete="off"
  215. :disabled="true"
  216. clearable placeholder="请输入客户" >
  217. </el-input>
  218. </el-form-item>
  219. </el-col>
  220. <el-col :span="24">
  221. <el-input style="width: 100%;" v-model="form.voucherNo"
  222. size="small" autocomplete="off"
  223. :disabled="true"
  224. clearable placeholder="请输入客户" >
  225. </el-input>
  226. </el-col>
  227. <el-col :span="12">
  228. <el-form-item>
  229. <span slot="label">
  230. <el-checkbox v-model="checked">部门:</el-checkbox>
  231. </span>
  232. <el-input style="width: 100%;" v-model="form.voucherNo"
  233. size="small" autocomplete="off"
  234. :disabled="true"
  235. clearable placeholder="请输入客户" >
  236. </el-input>
  237. </el-form-item>
  238. </el-col>
  239. <el-col :span="12">
  240. <el-form-item>
  241. <span slot="label">
  242. <el-checkbox v-model="checked">职员:</el-checkbox>
  243. </span>
  244. <el-input style="width: 100%;" v-model="form.voucherNo"
  245. size="small" autocomplete="off"
  246. :disabled="true"
  247. clearable placeholder="请输入客户" >
  248. </el-input>
  249. </el-form-item>
  250. </el-col>
  251. <el-form-item>
  252. <span slot="label">
  253. <el-checkbox v-model="checked">项目:</el-checkbox>
  254. </span>
  255. <el-input style="width: 100%;" v-model="form.voucherNo"
  256. size="small" autocomplete="off"
  257. :disabled="true"
  258. clearable placeholder="请输入客户" >
  259. </el-input>
  260. </el-form-item>
  261. </el-form>
  262. </el-card>
  263. </el-col>
  264. </el-row>
  265. </div>
  266. </div>
  267. </template>
  268. <script>
  269. import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
  270. import {getWorkDicts} from "@/api/system/dictbiz";
  271. import {finvouchersSubmit} from "@/api/iosBasicData/finvouchers";
  272. import {getCurrentDate, getYearDate} from "@/util/date";
  273. import fromtableDetails from "@/views/iosBasicData/finvouchers/assembly/fromtableDetails.vue";
  274. export default {
  275. components: {SearchQuery,fromtableDetails},
  276. data(){
  277. return {
  278. pageLoading:false, // 整个的动画
  279. saveLoading:false, // 按钮动画
  280. // 获取的数据
  281. form:{
  282. voucherDate:getCurrentDate(),
  283. finVouchersItemsList:[],
  284. },
  285. voucherTypeData:[], // 凭证字数据
  286. }
  287. },
  288. created() {
  289. this.getWorkDictsfun()
  290. },
  291. methods:{
  292. // 添加分录
  293. addEntryfun(){
  294. this.form.finVouchersItemsList.push({
  295. })
  296. },
  297. // 保存
  298. finvouchersSubmitfun(){
  299. this.form.businessTypeCode = 'PZDH'
  300. finvouchersSubmit().then(res=>{
  301. })
  302. },
  303. // 下拉回调
  304. corpChange(value,name){
  305. this.$set(this.form,'voucherType',value)
  306. this.$set(this.form,'billNoFormat',value)
  307. },
  308. // 获取字典数据
  309. getWorkDictsfun(){
  310. // 凭证字数据
  311. getWorkDicts('voucher_word_los').then(res=>{
  312. this.voucherTypeData = res.data.data
  313. })
  314. },
  315. //返回列表
  316. backToList() {
  317. this.$emit('goBack')
  318. },
  319. }
  320. }
  321. </script>
  322. <style scoped>
  323. ::v-deep.el-form-item {
  324. margin-bottom: 0;
  325. }
  326. .borderBox {
  327. border: 1px solid #b6b6b6;
  328. padding: 5px;
  329. box-sizing: border-box;
  330. border-radius: 2px;
  331. position: relative;
  332. margin-right: 10px;
  333. }
  334. .positionCheckbox {
  335. position: absolute;
  336. top: -10px;
  337. left: 10px;
  338. background: #fff;
  339. }
  340. .cardRight {
  341. margin-right: 10px;
  342. height: 220px;
  343. }
  344. .borderCheckbox {
  345. border-bottom: 1px solid #4a9de6;
  346. padding-bottom: 5px;
  347. color:#4a9de6;
  348. margin-bottom: 5px;
  349. }
  350. </style>