SalesDialog.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. <template>
  2. <div>
  3. <el-dialog
  4. title="添加产品"
  5. :visible.sync="dialogVisible"
  6. :before-close="onClose"
  7. width="75%"
  8. >
  9. <template-page
  10. style="width: 100%;
  11. height: 100%;"
  12. ref="pageRef"
  13. :getList="getList"
  14. :tableAttributes="tableAttributes"
  15. :tableEvents="tableEvents"
  16. >
  17. </template-page>
  18. <span slot="footer" class="dialog-footer">
  19. <el-button @click="$parent.dialogVisible = false" size="mini">取 消</el-button>
  20. <el-button type="primary" @click="confirm" size="mini">确 定</el-button>
  21. </span>
  22. </el-dialog>
  23. </div>
  24. </template>
  25. <script>
  26. import TemplatePage from '@/components/template/template-page-1.vue'
  27. import import_mixin from '@/components/template/import_mixin.js'
  28. export default {
  29. components: { TemplatePage },
  30. mixins: [import_mixin],
  31. props: {
  32. dialogVisible: false,
  33. func: Function,
  34. customerNumber:String
  35. },
  36. data() {
  37. return {
  38. pageType: 0,
  39. // 事件组合
  40. optionsEvensGroup: [
  41. [
  42. // [
  43. // {
  44. // name: '批量删除',
  45. // click: this.dels,
  46. // // isRole: this.$checkBtnRole('del', this.$route.meta.roles)
  47. // }
  48. // ],
  49. [
  50. {
  51. name: '审核',
  52. click: this.examineWarehouse
  53. }
  54. ]
  55. ],
  56. [
  57. [
  58. {
  59. name: '库存调整',
  60. click: this.addWarehouse
  61. // isRole: this.$checkBtnRole('add', this.$route.meta.roles)
  62. }
  63. ]
  64. ]
  65. ],
  66. // 表格属性
  67. tableAttributes: {
  68. // 启用勾选列
  69. selectColumn: true,
  70. selectable:this.selectable
  71. },
  72. // 表格事件
  73. tableEvents: {
  74. 'selection-change': this.selectionChange
  75. },
  76. recordSelected: []
  77. }
  78. },
  79. methods: {
  80. // 列表请求函数
  81. getList(...p) {
  82. this.recordSelected = []
  83. return this.func(p)
  84. },
  85. // 列表导出函数
  86. // exportList: exportCustomerStockOrderBean,
  87. // 表格列解析渲染数据更改
  88. columnParsing(item, defaultData) {
  89. return defaultData
  90. },
  91. // 监听勾选变化
  92. selectionChange(data) {
  93. this.recordSelected = data
  94. },
  95. addWarehouse() {
  96. this.pageType = 1
  97. },
  98. examineWarehouse() {
  99. this.pageType = 2
  100. },
  101. detailsWarehouse() {
  102. this.pageType = 3
  103. },
  104. onClose(){
  105. this.$parent.dialogVisible = false
  106. },
  107. operation() {
  108. return (h, { row, index, column }) => {
  109. return (
  110. <div class="operation-btns">
  111. (
  112. <el-button
  113. size="mini"
  114. type="primary"
  115. onClick={() => {
  116. }}
  117. >
  118. 查看
  119. </el-button>
  120. ) }
  121. (
  122. <el-button
  123. size="mini"
  124. type="primary"
  125. onClick={() => {
  126. }}
  127. >
  128. 审批
  129. </el-button>
  130. ) }
  131. {(
  132. <el-popconfirm
  133. title="是否确定操作?"
  134. onConfirm={() => {
  135. }}
  136. >
  137. <el-button size="mini" type="primary" slot="reference">
  138. 确认返还
  139. </el-button>
  140. </el-popconfirm>
  141. )}
  142. </div>
  143. )
  144. }
  145. },
  146. confirm(){
  147. if (this.recordSelected.length){
  148. this.$emit('confirm',this.recordSelected)
  149. }else{
  150. this.$errorMsg('请选择产品')
  151. }
  152. // this.$parent.dialogVisible = false
  153. },
  154. selectable(row,index){
  155. if (this.customerNumber || row.disabled){
  156. if (row.customerNumber == this.customerNumber || row.disabled){
  157. return true
  158. }else{
  159. return false
  160. }
  161. }else {
  162. return true
  163. }
  164. }
  165. // 批量删除
  166. // dels() {
  167. // if (this.recordSelected.length) {
  168. // this.$confirm('此操作将删除数据, 是否继续?', '提示', {
  169. // confirmButtonText: '确定',
  170. // cancelButtonText: '取消',
  171. // type: 'warning'
  172. // })
  173. // .then(() => {
  174. // partsOldOutDel({
  175. // ids: this.recordSelected.map(item => item.id).join(',')
  176. // })
  177. // .then(res => {
  178. // this.$refs.pageRef.refreshList()
  179. // this.$message({
  180. // type: 'success',
  181. // message: '删除成功!'
  182. // })
  183. // })
  184. // .catch(() => {
  185. // this.$message({
  186. // type: 'error',
  187. // message: '删除失败'
  188. // })
  189. // })
  190. // })
  191. // .catch(() => {
  192. // this.$message({
  193. // type: 'info',
  194. // message: '已取消删除'
  195. // })
  196. // })
  197. // } else {
  198. // this.$message({
  199. // type: 'info',
  200. // message: '请先勾选需要删除的数据!'
  201. // })
  202. // }
  203. // }
  204. }
  205. }
  206. </script>
  207. <style lang="scss" scoped>
  208. ::v-deep .el-table__body-wrapper {
  209. height: 600px !important;
  210. }
  211. ::v-deep .page-button-collection {
  212. display: none;
  213. }
  214. </style>
  215. <!--<template>-->
  216. <!-- <div>-->
  217. <!-- <el-dialog-->
  218. <!-- title="添加产品"-->
  219. <!-- :visible.sync="dialogVisible"-->
  220. <!-- width="75%"-->
  221. <!-- :before-close="handleClose"-->
  222. <!-- >-->
  223. <!-- <div>-->
  224. <!-- <el-form label-position="left" label-width="80px" :model="screenForm">-->
  225. <!-- <el-form-item label="名称">-->
  226. <!-- <el-input v-model="screenForm.name"></el-input>-->
  227. <!-- </el-form-item>-->
  228. <!-- <el-form-item label="活动区域">-->
  229. <!-- <el-input v-model="screenForm.region"></el-input>-->
  230. <!-- </el-form-item>-->
  231. <!-- <el-form-item label="活动形式">-->
  232. <!-- <el-input v-model="screenForm.type"></el-input>-->
  233. <!-- </el-form-item>-->
  234. <!-- </el-form>-->
  235. <!-- </div>-->
  236. <!-- <div>-->
  237. <!-- <el-table-->
  238. <!-- :data="dataList"-->
  239. <!-- style="width: 100%"-->
  240. <!-- v-bind="tableAttributes"-->
  241. <!-- >-->
  242. <!-- <el-table-column-->
  243. <!-- v-if="isSelection"-->
  244. <!-- type="selection"-->
  245. <!-- width="55"-->
  246. <!-- >-->
  247. <!-- </el-table-column>-->
  248. <!-- <el-table-column-->
  249. <!-- v-if="isIndex"-->
  250. <!-- type="index"-->
  251. <!-- width="50"-->
  252. <!-- >-->
  253. <!-- </el-table-column>-->
  254. <!-- <el-table-column-->
  255. <!-- v-for="(item,index) in column"-->
  256. <!-- :key="index"-->
  257. <!-- v-bind="{...item,...columnAttributes}"-->
  258. <!-- >-->
  259. <!-- <template v-slot="{row}">-->
  260. <!-- <template v-if="item.isInput">-->
  261. <!-- {{ row.prop }}-->
  262. <!-- </template>-->
  263. <!-- <template v-else>-->
  264. <!-- <el-input-->
  265. <!-- v-model.number="row.prop"-->
  266. <!-- class="yinput"-->
  267. <!-- :type="item.type?item.type:'number'"-->
  268. <!-- :placeholder="item.placeholder"-->
  269. <!-- size="mini"-->
  270. <!-- @mousewheel.native.prevent-->
  271. <!-- />-->
  272. <!-- </template>-->
  273. <!-- </template>-->
  274. <!-- </el-table-column>-->
  275. <!-- <el-table-column v-if="isOperation" fixed="left" label="操作" min-width="250" align="center">-->
  276. <!-- <slot>-->
  277. <!-- <template v-slot="{row}">-->
  278. <!-- <el-popconfirm-->
  279. <!-- style="margin-left: 10px"-->
  280. <!-- title="删除?"-->
  281. <!-- @onConfirm="handleDel(row)"-->
  282. <!-- >-->
  283. <!-- <el-button slot="reference" type="text" size="mini">提审</el-button>-->
  284. <!-- </el-popconfirm>-->
  285. <!-- </template>-->
  286. <!-- </slot>-->
  287. <!-- </el-table-column>-->
  288. <!-- </el-table>-->
  289. <!-- </div>-->
  290. <!-- <div class="pagination clearfix">-->
  291. <!-- <div class="fr">-->
  292. <!-- <el-pagination-->
  293. <!-- @size-change="handleSizeChange"-->
  294. <!-- @current-change="handleCurrentChange"-->
  295. <!-- :current-page="currentPage"-->
  296. <!-- :page-sizes="[10, 20, 30, 50]"-->
  297. <!-- :page-size="10"-->
  298. <!-- layout="total, sizes, prev, pager, next, jumper"-->
  299. <!-- :total="listTotal"-->
  300. <!-- >-->
  301. <!-- </el-pagination>-->
  302. <!-- </div>-->
  303. <!-- </div>-->
  304. <!-- </el-dialog>-->
  305. <!-- </div>-->
  306. <!--</template>-->
  307. <!--<script>-->
  308. <!--export default {-->
  309. <!-- name: 'SalesDialog',-->
  310. <!-- props: {-->
  311. <!-- isShow: {-->
  312. <!-- type: Boolean,-->
  313. <!-- default: false-->
  314. <!-- },-->
  315. <!-- screenForm: {-->
  316. <!-- type: Object,-->
  317. <!-- default: () => {-->
  318. <!-- return {}-->
  319. <!-- }-->
  320. <!-- },-->
  321. <!-- isSelection: {-->
  322. <!-- type: Boolean,-->
  323. <!-- default: false-->
  324. <!-- },-->
  325. <!-- isIndex: {-->
  326. <!-- type: Boolean,-->
  327. <!-- default: false-->
  328. <!-- },-->
  329. <!-- isOperation: {-->
  330. <!-- type: Boolean,-->
  331. <!-- default: false-->
  332. <!-- },-->
  333. <!-- tableAttributes: {-->
  334. <!-- type: Object,-->
  335. <!-- default: () => {-->
  336. <!-- return {}-->
  337. <!-- }-->
  338. <!-- },-->
  339. <!-- columnAttributes: {-->
  340. <!-- type: Object,-->
  341. <!-- default: () => {-->
  342. <!-- return {}-->
  343. <!-- }-->
  344. <!-- },-->
  345. <!-- dataList: {-->
  346. <!-- type: Array,-->
  347. <!-- default: () => {-->
  348. <!-- return []-->
  349. <!-- }-->
  350. <!-- }-->
  351. <!-- },-->
  352. <!-- data() {-->
  353. <!-- return {-->
  354. <!-- dialogVisible: false,-->
  355. <!-- column: [-->
  356. <!-- {-->
  357. <!-- prop: 'date',-->
  358. <!-- label: '日期'-->
  359. <!-- },-->
  360. <!-- {-->
  361. <!-- prop: 'date',-->
  362. <!-- label: '日期'-->
  363. <!-- },-->
  364. <!-- {-->
  365. <!-- prop: 'date',-->
  366. <!-- label: '日期'-->
  367. <!-- }-->
  368. <!-- ],-->
  369. <!-- currentPage: 1,-->
  370. <!-- listTotal: 0-->
  371. <!-- }-->
  372. <!-- },-->
  373. <!-- created() {-->
  374. <!-- this.dialogVisible = this.isShow-->
  375. <!-- },-->
  376. <!-- methods: {-->
  377. <!-- handleClose(done) {-->
  378. <!-- this.$confirm('确认关闭?')-->
  379. <!-- .then(_ => {-->
  380. <!-- done()-->
  381. <!-- })-->
  382. <!-- .catch(_ => {-->
  383. <!-- })-->
  384. <!-- },-->
  385. <!-- handleDel(row) {-->
  386. <!-- console.log(row)-->
  387. <!-- },-->
  388. <!-- handleSizeChange() {-->
  389. <!-- },-->
  390. <!-- handleCurrentChange() {-->
  391. <!-- }-->
  392. <!-- }-->
  393. <!--}-->
  394. <!--</script>-->
  395. <!--<style scoped>-->
  396. <!--</style>-->