SalesDialog.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  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){
  156. console.log(row.customerNumber == this.customerNumber,row.disabled)
  157. if (row.customerNumber == this.customerNumber && row.disabled){
  158. return true
  159. }else{
  160. return false
  161. }
  162. }else {
  163. return true
  164. }
  165. }
  166. // 批量删除
  167. // dels() {
  168. // if (this.recordSelected.length) {
  169. // this.$confirm('此操作将删除数据, 是否继续?', '提示', {
  170. // confirmButtonText: '确定',
  171. // cancelButtonText: '取消',
  172. // type: 'warning'
  173. // })
  174. // .then(() => {
  175. // partsOldOutDel({
  176. // ids: this.recordSelected.map(item => item.id).join(',')
  177. // })
  178. // .then(res => {
  179. // this.$refs.pageRef.refreshList()
  180. // this.$message({
  181. // type: 'success',
  182. // message: '删除成功!'
  183. // })
  184. // })
  185. // .catch(() => {
  186. // this.$message({
  187. // type: 'error',
  188. // message: '删除失败'
  189. // })
  190. // })
  191. // })
  192. // .catch(() => {
  193. // this.$message({
  194. // type: 'info',
  195. // message: '已取消删除'
  196. // })
  197. // })
  198. // } else {
  199. // this.$message({
  200. // type: 'info',
  201. // message: '请先勾选需要删除的数据!'
  202. // })
  203. // }
  204. // }
  205. }
  206. }
  207. </script>
  208. <style lang="scss" scoped>
  209. ::v-deep .el-table__body-wrapper {
  210. height: 600px !important;
  211. }
  212. ::v-deep .page-button-collection {
  213. display: none;
  214. }
  215. </style>
  216. <!--<template>-->
  217. <!-- <div>-->
  218. <!-- <el-dialog-->
  219. <!-- title="添加产品"-->
  220. <!-- :visible.sync="dialogVisible"-->
  221. <!-- width="75%"-->
  222. <!-- :before-close="handleClose"-->
  223. <!-- >-->
  224. <!-- <div>-->
  225. <!-- <el-form label-position="left" label-width="80px" :model="screenForm">-->
  226. <!-- <el-form-item label="名称">-->
  227. <!-- <el-input v-model="screenForm.name"></el-input>-->
  228. <!-- </el-form-item>-->
  229. <!-- <el-form-item label="活动区域">-->
  230. <!-- <el-input v-model="screenForm.region"></el-input>-->
  231. <!-- </el-form-item>-->
  232. <!-- <el-form-item label="活动形式">-->
  233. <!-- <el-input v-model="screenForm.type"></el-input>-->
  234. <!-- </el-form-item>-->
  235. <!-- </el-form>-->
  236. <!-- </div>-->
  237. <!-- <div>-->
  238. <!-- <el-table-->
  239. <!-- :data="dataList"-->
  240. <!-- style="width: 100%"-->
  241. <!-- v-bind="tableAttributes"-->
  242. <!-- >-->
  243. <!-- <el-table-column-->
  244. <!-- v-if="isSelection"-->
  245. <!-- type="selection"-->
  246. <!-- width="55"-->
  247. <!-- >-->
  248. <!-- </el-table-column>-->
  249. <!-- <el-table-column-->
  250. <!-- v-if="isIndex"-->
  251. <!-- type="index"-->
  252. <!-- width="50"-->
  253. <!-- >-->
  254. <!-- </el-table-column>-->
  255. <!-- <el-table-column-->
  256. <!-- v-for="(item,index) in column"-->
  257. <!-- :key="index"-->
  258. <!-- v-bind="{...item,...columnAttributes}"-->
  259. <!-- >-->
  260. <!-- <template v-slot="{row}">-->
  261. <!-- <template v-if="item.isInput">-->
  262. <!-- {{ row.prop }}-->
  263. <!-- </template>-->
  264. <!-- <template v-else>-->
  265. <!-- <el-input-->
  266. <!-- v-model.number="row.prop"-->
  267. <!-- class="yinput"-->
  268. <!-- :type="item.type?item.type:'number'"-->
  269. <!-- :placeholder="item.placeholder"-->
  270. <!-- size="mini"-->
  271. <!-- @mousewheel.native.prevent-->
  272. <!-- />-->
  273. <!-- </template>-->
  274. <!-- </template>-->
  275. <!-- </el-table-column>-->
  276. <!-- <el-table-column v-if="isOperation" fixed="left" label="操作" min-width="250" align="center">-->
  277. <!-- <slot>-->
  278. <!-- <template v-slot="{row}">-->
  279. <!-- <el-popconfirm-->
  280. <!-- style="margin-left: 10px"-->
  281. <!-- title="删除?"-->
  282. <!-- @onConfirm="handleDel(row)"-->
  283. <!-- >-->
  284. <!-- <el-button slot="reference" type="text" size="mini">提审</el-button>-->
  285. <!-- </el-popconfirm>-->
  286. <!-- </template>-->
  287. <!-- </slot>-->
  288. <!-- </el-table-column>-->
  289. <!-- </el-table>-->
  290. <!-- </div>-->
  291. <!-- <div class="pagination clearfix">-->
  292. <!-- <div class="fr">-->
  293. <!-- <el-pagination-->
  294. <!-- @size-change="handleSizeChange"-->
  295. <!-- @current-change="handleCurrentChange"-->
  296. <!-- :current-page="currentPage"-->
  297. <!-- :page-sizes="[10, 20, 30, 50]"-->
  298. <!-- :page-size="10"-->
  299. <!-- layout="total, sizes, prev, pager, next, jumper"-->
  300. <!-- :total="listTotal"-->
  301. <!-- >-->
  302. <!-- </el-pagination>-->
  303. <!-- </div>-->
  304. <!-- </div>-->
  305. <!-- </el-dialog>-->
  306. <!-- </div>-->
  307. <!--</template>-->
  308. <!--<script>-->
  309. <!--export default {-->
  310. <!-- name: 'SalesDialog',-->
  311. <!-- props: {-->
  312. <!-- isShow: {-->
  313. <!-- type: Boolean,-->
  314. <!-- default: false-->
  315. <!-- },-->
  316. <!-- screenForm: {-->
  317. <!-- type: Object,-->
  318. <!-- default: () => {-->
  319. <!-- return {}-->
  320. <!-- }-->
  321. <!-- },-->
  322. <!-- isSelection: {-->
  323. <!-- type: Boolean,-->
  324. <!-- default: false-->
  325. <!-- },-->
  326. <!-- isIndex: {-->
  327. <!-- type: Boolean,-->
  328. <!-- default: false-->
  329. <!-- },-->
  330. <!-- isOperation: {-->
  331. <!-- type: Boolean,-->
  332. <!-- default: false-->
  333. <!-- },-->
  334. <!-- tableAttributes: {-->
  335. <!-- type: Object,-->
  336. <!-- default: () => {-->
  337. <!-- return {}-->
  338. <!-- }-->
  339. <!-- },-->
  340. <!-- columnAttributes: {-->
  341. <!-- type: Object,-->
  342. <!-- default: () => {-->
  343. <!-- return {}-->
  344. <!-- }-->
  345. <!-- },-->
  346. <!-- dataList: {-->
  347. <!-- type: Array,-->
  348. <!-- default: () => {-->
  349. <!-- return []-->
  350. <!-- }-->
  351. <!-- }-->
  352. <!-- },-->
  353. <!-- data() {-->
  354. <!-- return {-->
  355. <!-- dialogVisible: false,-->
  356. <!-- column: [-->
  357. <!-- {-->
  358. <!-- prop: 'date',-->
  359. <!-- label: '日期'-->
  360. <!-- },-->
  361. <!-- {-->
  362. <!-- prop: 'date',-->
  363. <!-- label: '日期'-->
  364. <!-- },-->
  365. <!-- {-->
  366. <!-- prop: 'date',-->
  367. <!-- label: '日期'-->
  368. <!-- }-->
  369. <!-- ],-->
  370. <!-- currentPage: 1,-->
  371. <!-- listTotal: 0-->
  372. <!-- }-->
  373. <!-- },-->
  374. <!-- created() {-->
  375. <!-- this.dialogVisible = this.isShow-->
  376. <!-- },-->
  377. <!-- methods: {-->
  378. <!-- handleClose(done) {-->
  379. <!-- this.$confirm('确认关闭?')-->
  380. <!-- .then(_ => {-->
  381. <!-- done()-->
  382. <!-- })-->
  383. <!-- .catch(_ => {-->
  384. <!-- })-->
  385. <!-- },-->
  386. <!-- handleDel(row) {-->
  387. <!-- console.log(row)-->
  388. <!-- },-->
  389. <!-- handleSizeChange() {-->
  390. <!-- },-->
  391. <!-- handleCurrentChange() {-->
  392. <!-- }-->
  393. <!-- }-->
  394. <!--}-->
  395. <!--</script>-->
  396. <!--<style scoped>-->
  397. <!--</style>-->