jufubao-admin-library 1.0.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +90 -0
  3. package/library/gulpfile.js/const.js +51 -0
  4. package/library/gulpfile.js/index.js +237 -0
  5. package/library/gulpfile.js/util.js +114 -0
  6. package/library/viewModules/config.js +75 -0
  7. package/library/viewModules/viewStat/router/supplierStat.js +33 -0
  8. package/library/viewModules/viewStat/schemas/supplier.stat.js +70 -0
  9. package/library/viewModules/viewStat/schemas.js +18 -0
  10. package/library/viewModules/viewStat/viewsStat/index/components/stat-all.vue +233 -0
  11. package/library/viewModules/viewStat/viewsStat/index/components/stat-product.vue +129 -0
  12. package/library/viewModules/viewStat/viewsStat/index/components/stat-supplier.vue +124 -0
  13. package/library/viewModules/viewStat/viewsStat/index/components/table-category.vue +309 -0
  14. package/library/viewModules/viewStat/viewsStat/index/components/table-product.vue +316 -0
  15. package/library/viewModules/viewStat/viewsStat/index/components/table-supplier.vue +276 -0
  16. package/library/viewModules/viewStat/viewsStat/index/index.vue +117 -0
  17. package/library/viewModules/viewTask/router/tasks.js +34 -0
  18. package/library/viewModules/viewTask/schemas/tasks.js +52 -0
  19. package/library/viewModules/viewTask/viewTask/list.vue +195 -0
  20. package/library/viewModules/viewsEnterpriseBuy/router/enterprise_buy.js +91 -0
  21. package/library/viewModules/viewsEnterpriseBuy/schemas/enterprise_buy.js +420 -0
  22. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/OrderInfoButton.vue +550 -0
  23. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/cardList.vue +119 -0
  24. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/expressCopy.vue +259 -0
  25. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/operateHistory.vue +164 -0
  26. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/send_list.vue +395 -0
  27. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/storeList.vue +100 -0
  28. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/workHistory.vue +163 -0
  29. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/detail.vue +503 -0
  30. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/list.vue +635 -0
  31. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/order_detail.vue +860 -0
  32. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/set_create.vue +219 -0
  33. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/set_list.vue +237 -0
  34. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/table-card.vue +180 -0
  35. package/library/viewModules/viewsFinance/router/balance.js +75 -0
  36. package/library/viewModules/viewsFinance/router/finance.js +30 -0
  37. package/library/viewModules/viewsFinance/schemas/trade.record.js +153 -0
  38. package/library/viewModules/viewsFinance/schemas/wallet.js +116 -0
  39. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listChannel.vue +220 -0
  40. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listOpenapi.vue +260 -0
  41. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listPartner.vue +217 -0
  42. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listSupplier.vue +229 -0
  43. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_channel.vue +401 -0
  44. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_openapi.vue +364 -0
  45. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_partner.vue +633 -0
  46. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_supplier.vue +417 -0
  47. package/library/viewModules/viewsFinance/viewsFinance/balance/list.vue +75 -0
  48. package/library/viewModules/viewsFinance/viewsFinance/index.vue +191 -0
  49. package/library/viewModules/viewsLimit/router/buyLimit/buyLimit.js +31 -0
  50. package/library/viewModules/viewsLimit/schemas/buyLimit.js +22 -0
  51. package/library/viewModules/viewsLimit/viewsLimit/index.vue +211 -0
  52. package/package.json +114 -0
@@ -0,0 +1,259 @@
1
+ <template>
2
+ <div
3
+ class="xd-add-express"
4
+ v-if="expressList.length > 0"
5
+ :style="{width: width}"
6
+ >
7
+ <div class="xd-add-express__form">
8
+ <div
9
+ class="xd-add-express__form-item"
10
+ v-for="(item , index) in expressContent"
11
+ :key="index"
12
+ >
13
+ <div class="xd-add-express__form-item-company">
14
+ <xd-select-list
15
+ :size="size"
16
+ :default-value="item.company"
17
+ v-model="item.company"
18
+ placeholder="请选择快递"
19
+ :list="expressList"
20
+ ></xd-select-list>
21
+ </div>
22
+ <div class="xd-add-express__form-item-number">
23
+ <el-input placeholder="输入快递单号" :size="size" v-model="item.number"></el-input>
24
+ </div>
25
+ <div class="xd-add-express__form-item-comment" v-if="isComment">
26
+ <el-input placeholder="描述" :size="size" v-model="item.comment"></el-input>
27
+ </div>
28
+ <!-- <el-button-->
29
+ <!-- v-if="(expressContent.length -1) === index"-->
30
+ <!-- @click="add"-->
31
+ <!-- :size="size"-->
32
+ <!-- type="primary"-->
33
+ <!-- icon="el-icon-circle-plus-outline"></el-button>-->
34
+ <!-- <el-button-->
35
+ <!-- v-else-->
36
+ <!-- :size="size"-->
37
+ <!-- @click="remove(index)"-->
38
+ <!-- type="danger"-->
39
+ <!-- icon="el-icon-remove-outline"></el-button>-->
40
+ </div>
41
+ </div>
42
+ <div class="xd-add-express__btn" v-if="isSubmit">
43
+ <el-button
44
+ @click="onSubmit(true)"
45
+ :size="size"
46
+ type="primary"
47
+ >{{btnName}}
48
+ </el-button>
49
+ </div>
50
+ </div>
51
+ </template>
52
+
53
+ <script>
54
+ import XdSelectList from "@/components/XdSelectList";
55
+
56
+ /**
57
+ * @description 添加快递插件
58
+ * 依赖于 element-ui
59
+ * 参考网站如下:
60
+ * https://element.eleme.cn/#/zh-CN/component/installation
61
+ * 文档:https://www.npmjs.com/package/gxd-helper
62
+ *
63
+ * @property {Array} defaultValue 显示默认数据列表 默认: []
64
+ * @property {Array|null} express 数据列表数据 默认: null null=>使用测试数据列表
65
+ * @property {Array} btnName 提交按钮名称 默认: []
66
+ * @property {Array} width 插件显示默认宽度 默认:100%
67
+ * @property {String} size 文本块显示大小 默认:medium 其值:medium / small / mini
68
+ *
69
+ * @event {Function} onConfirm 选中改变事件 参数:{expressContent}
70
+ * @v-model 绑定数据
71
+ */
72
+
73
+
74
+ export default {
75
+ name: "XdAddExpress",
76
+ components: {
77
+ XdSelectList
78
+ },
79
+ props: {
80
+ defaultValue: {
81
+ type: Array,
82
+ default() {
83
+ return [
84
+ // {"company": 7, "name": "EMS", "number": "9885360910887", "comment": ""},
85
+ // {"company": 7, "name": "EMS", "number": "9885360910888", "comment": ""}
86
+ ];
87
+ }
88
+ },
89
+
90
+ isComment: {
91
+ type: Boolean,
92
+ default: true
93
+ },
94
+
95
+ size: {
96
+ type: String,
97
+ default: 'medium' // medium / small / mini
98
+ },
99
+
100
+ width: {
101
+ type: String,
102
+ default: '100%'
103
+ },
104
+
105
+ express: {
106
+ type: Array | null,
107
+ default: null
108
+ },
109
+
110
+ btnName: {
111
+ type: String,
112
+ default: '确定'
113
+ },
114
+
115
+ isSubmit: {
116
+ type: Boolean,
117
+ default: true
118
+ }
119
+ },
120
+
121
+ watch: {
122
+ express(val) {
123
+ if (val === null) this.expressList = this.$xdHelper.cloneDeep(this.testExpressList);
124
+ else this.expressList = this.$xdHelper.cloneDeep(val);
125
+ }
126
+ },
127
+
128
+ data() {
129
+ return {
130
+ expressList: [], //快递列表
131
+ expressEmptyItem: {
132
+ company: '',
133
+ number: '',
134
+ comment: '',
135
+ },
136
+ expressContent: [], //当前填写快递内容
137
+
138
+ //快递公司列表
139
+ testExpressList: [
140
+ {"label": "顺丰", "value": 1},
141
+ {"label": "中通", "value": 2},
142
+ {"label": "申通", "value": 3},
143
+ {"label": "圆通速递", "value": 4},
144
+ {"label": "百世", "value": 5},
145
+ {"label": "韵达", "value": 6},
146
+ {"label": "EMS", "value": 7},
147
+ {"label": "邮政快递", "value": 16},
148
+ {"label": "EMS小包", "value": 8},
149
+ {"label": "德邦快递", "value": 9}
150
+ ]
151
+ }
152
+ },
153
+ created() {
154
+ this.expressContent = this.expressContent.concat(this.defaultValue);
155
+ if (this.express === null) this.expressList = this.$xdHelper.cloneDeep(this.testExpressList);
156
+ else this.expressList = this.$xdHelper.cloneDeep(this.express);
157
+
158
+ //数据为空自动添加一条数据
159
+ if (this.expressContent.length === 0) {
160
+ this.expressContent.push(this.$xdHelper.cloneDeep(this.expressEmptyItem));
161
+ }
162
+ this.onSubmit(false);
163
+ },
164
+
165
+ methods: {
166
+ add() {
167
+ this.expressContent.push(this.$xdHelper.cloneDeep(this.expressEmptyItem));
168
+ this.$emit('input', this.expressContent)
169
+ },
170
+ remove(index) {
171
+ this.expressContent.splice(index, 1);
172
+ this.$emit('input', this.expressContent)
173
+ },
174
+
175
+ onSubmit(flag) {
176
+ if (this.isSubmit) {
177
+ this.$emit('input', this.expressContent)
178
+ if (flag) {
179
+ this.$emit('onConfirm', this.expressContent);
180
+ }
181
+ return;
182
+ }
183
+ this.$emit('input', this.expressContent)
184
+ return this.expressContent
185
+
186
+ }
187
+
188
+ }
189
+ }
190
+ </script>
191
+
192
+ <style scoped lang="scss">
193
+
194
+ .xd-add-express {
195
+ &__form {
196
+ &-item {
197
+ display: flex;
198
+ justify-content: flex-start;
199
+ align-items: center;
200
+ width: 100%;
201
+ padding: 5px 0;
202
+
203
+ &:first-child {
204
+ padding-top: 0;
205
+ }
206
+
207
+ & > * {
208
+ margin-right: 10px;
209
+ }
210
+
211
+ & > *:last-child {
212
+ flex-shrink: 0;
213
+ margin-right: 0;
214
+ }
215
+
216
+ & > *:first-child {
217
+ flex-shrink: 0;
218
+ max-width: 120px;
219
+ }
220
+ }
221
+ }
222
+
223
+ &__btn {
224
+ width: 40%;
225
+ margin-top: 5px;
226
+
227
+ & > * {
228
+ width: 100%;
229
+ max-width: 200px;
230
+ }
231
+ }
232
+ }
233
+
234
+
235
+ @media screen and (max-width: 450px) and (orientation: portrait) {
236
+ .updatePrice-item {
237
+ display: block;
238
+ }
239
+
240
+ .updatePrice-item > * {
241
+ display: inline-block;
242
+ min-width: 100%;
243
+ }
244
+ }
245
+
246
+ @media screen and (max-width: 800px) and (orientation: landscape) {
247
+ .updatePrice-item {
248
+ display: block;
249
+ }
250
+
251
+ .updatePrice-item > * {
252
+ display: inline-block;
253
+ min-width: 100px;
254
+ }
255
+
256
+ }
257
+
258
+ /**checkbox**/
259
+ </style>
@@ -0,0 +1,164 @@
1
+ <template>
2
+ <div class="app-container__list-card" style="margin-bottom: 10px;">
3
+ <el-card>
4
+ <div slot="header" class="clearfix">
5
+ <span>操作记录</span>
6
+ </div>
7
+ <div class="app-container__list-table">
8
+ <xd-table
9
+ :headers="headers"
10
+ :list="tables"
11
+ is-border
12
+ >
13
+ </xd-table>
14
+ </div>
15
+ <div class="app-container__list-pagination">
16
+ <xd-pagination
17
+ :total="total"
18
+ :limit.sync="limit"
19
+ :page="pageSize"
20
+ :auto-scroll="false"
21
+ @onPagination="handlePagination"
22
+ ></xd-pagination>
23
+ </div>
24
+ </el-card>
25
+ </div>
26
+
27
+ </template>
28
+
29
+ <script>
30
+ import {
31
+ mapActions,
32
+ mapState,
33
+ } from 'vuex';
34
+ import {Loading} from 'element-ui';
35
+ import XdPagination from "@/components/XdPagination.vue";
36
+ import XdTable from "@/components/XdTable";
37
+
38
+ export default {
39
+ name: "work_history",
40
+ components: {
41
+ XdPagination,
42
+ XdTable,
43
+ },
44
+
45
+ // mixins: [downloadString, getChannelList],
46
+
47
+ data() {
48
+ return {
49
+ pageSize: 1,//当前页面数量
50
+ hasNextPage: true,
51
+ limit: 20,
52
+ tables: [],
53
+ multipleSelection: [],
54
+ tableRefresh: 'tableRefresh',
55
+ total: 0,
56
+ headers: [{
57
+ "type": "normal",
58
+ "prop": "admin_name",
59
+ "align": "left",
60
+ "width": 200,
61
+ "label": "操作人"
62
+ }, {
63
+ "type": "normal",
64
+ "prop": "action_name",
65
+ "align": "center",
66
+ "minWidth": 200,
67
+ "label": "操作内容"
68
+ }, {
69
+ "type": "normal",
70
+ "prop": "content",
71
+ "align": "center",
72
+ "minWidth": 200,
73
+ "label": "备注"
74
+ }, {
75
+ "type": "normal",
76
+ "prop": "created_time",
77
+ "align": "center",
78
+ "minWidth": 200,
79
+ "label": "操作时间"
80
+ }],
81
+ }
82
+ },
83
+ props: {
84
+ main_order_id: "",
85
+ sub_order_id: '',
86
+ },
87
+ created() {
88
+ this.title = this.$route.meta.title;
89
+ this.getList();
90
+ },
91
+
92
+ methods: {
93
+
94
+ ...mapActions('enterprise_buy',
95
+ [
96
+ 'mainOrderChangeLogsWh',
97
+ 'subOrderChangeLogsWh'
98
+ ]
99
+ ),
100
+ getList() {
101
+ console.log(this.main_order_id, 'main_order_id1')
102
+ //请求数据
103
+ let params = {
104
+ page_token: this.pageSize.toString(),
105
+ page_size: this.limit,
106
+ main_order_id: !this.main_order_id ? '' : this.main_order_id,
107
+ sub_order_id: !this.sub_order_id ? '' : this.sub_order_id,
108
+ };
109
+ console.log(params)
110
+ let fn = ['mainOrderChangeLogsWh','subOrderChangeLogsWh'];
111
+ // let useFn = fn[0];
112
+ let useFn = '';
113
+ if(this.sub_order_id){
114
+ useFn = fn[1]
115
+ }else{
116
+ useFn = fn[0]
117
+ }
118
+ let loading = Loading.service({});
119
+ this[useFn](params).then(res => {
120
+ const {list, total_size} = res.data;
121
+ list.map(item => {
122
+ item.created_time = window.getTimeFormat(item.created_time)
123
+ });
124
+ this.tables = list;
125
+ console.log(this.tables, ' this.tables,11')
126
+ this.total = total_size;
127
+ loading.close();
128
+ }).catch(err=>{
129
+ console.log(err,'err')
130
+ loading.close();
131
+ })
132
+ },
133
+ /**
134
+ * @description 翻页处理方法
135
+ * @param page {Number} 访问页面页码数
136
+ */
137
+ handlePagination(page) {
138
+ this.pageSize = page;
139
+ this.getList();
140
+ }, //todo
141
+
142
+ /**跳转工单列表**/
143
+ toWorkList(item) {
144
+ return `/corders/work_detail/${item}`;
145
+ },
146
+
147
+ }
148
+ }
149
+ </script>
150
+
151
+ <style scoped lang="scss">
152
+ .app-container__title {
153
+ font-size: 16px;
154
+ line-height: 24px;
155
+ padding: 0 0 20px;
156
+ font-weight: bold;
157
+ }
158
+
159
+ @media screen and (max-width: 768px) {
160
+ .app-container__title {
161
+ padding: 0 0 10px;
162
+ }
163
+ }
164
+ </style>