diff --git a/.env.dev b/.env.dev index 2f15db72..0a166561 100644 --- a/.env.dev +++ b/.env.dev @@ -1,10 +1,10 @@ ### # @Author: Do not edit # @Date: 2023-08-29 09:40:39 - # @LastEditTime: 2023-10-16 09:22:52 - # @LastEditors: DY - # @Description: -### + # @LastEditTime: 2023-10-17 09:51:48 + # @LastEditors: zhp + # @Description: +### # 开发环境配置 ENV = 'development' @@ -14,7 +14,7 @@ VUE_APP_TITLE = 产线监控系统 # 芋道管理系统/开发环境 # VUE_APP_BASE_API = 'http://192.168.1.49:48080' # VUE_APP_BASE_API = 'http://192.168.1.8:48080' -VUE_APP_BASE_API = 'http://192.168.0.33:48080' +VUE_APP_BASE_API = 'http://192.168.1.56:48080' # VUE_APP_BASE_API = 'http://192.168.1.188:48080' # 路由懒加载 diff --git a/src/api/base/modelType.js b/src/api/base/modelType.js new file mode 100644 index 00000000..41389bcd --- /dev/null +++ b/src/api/base/modelType.js @@ -0,0 +1,68 @@ +/* + * @Author: zhp + * @Date: 2023-10-18 09:33:57 + * @LastEditTime: 2023-10-18 16:02:09 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 创建包装 +export function createPackingType(data) { + return request({ + url: '/base/packaging-print-type/create', + method: 'post', + data: data + }) +} + +// 获得包装code +export function getCode() { + return request({ + url: '/base/packaging-print-log/getPackagingSerialCode', + method: 'get' + }) +} +// 更新包装 +export function updatePackingType(data) { + return request({ + url: '/base/packaging-print-type/update', + method: 'put', + data: data + }) +} + +// 删除包装 +export function deletePackingType(id) { + return request({ + url: '/base/packaging-print-type/delete?id=' + id, + method: 'delete' + }) +} + +// 获得包装 +export function getPackingType(id) { + return request({ + url: '/base/packaging-print-type/get?id=' + id, + method: 'get' + }) +} + +// 获得包装分页 +export function getPackingTypePage(query) { + return request({ + url: '/base/packaging-print-type/page', + method: 'get', + params: query + }) +} + +// 导出包装 Excel +export function exportPackingExcel(query) { + return request({ + url: '/base/packaging-print-type/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/src/api/base/packingInfo.js b/src/api/base/packingInfo.js new file mode 100644 index 00000000..468c2aa6 --- /dev/null +++ b/src/api/base/packingInfo.js @@ -0,0 +1,92 @@ +/* + * @Author: zhp + * @Date: 2023-10-18 09:33:57 + * @LastEditTime: 2023-10-18 16:18:12 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 创建包装 +export function createPacking(data) { + return request({ + url: '/base/packaging-print-log/create', + method: 'post', + data: data + }) +} + +// 获得包装code +export function getCode() { + return request({ + url: '/base/packaging-print-log/getPackagingSerialCode', + method: 'get' + }) +} +// 更新包装 +export function updatePacking(data) { + return request({ + url: '/base/packaging-print-log/update', + method: 'put', + data: data + }) +} + +// 删除包装 +export function deletePacking(id) { + return request({ + url: '/base/packaging-print-log/delete?id=' + id, + method: 'delete' + }) +} + +// 获得包装 +export function getPacking(id) { + return request({ + url: '/base/packaging-print-log/get?id=' + id, + method: 'get' + }) +} + +// 获得包装分页 +export function getPackingPage(query) { + return request({ + url: '/base/packaging-print-log/page', + method: 'get', + params: query + }) +} + +// 导出包装 Excel +export function exportPackingExcel(query) { + return request({ + url: '/base/packaging-print-log/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} + +export function getCustomerList(query) { + return request({ + url: '/base/core-customer/listAll', + method: 'get', + params: query, + }) +} + +export function getModelList(query) { + return request({ + url: '/base/packaging-print-model/listbyfilter', + method: 'get', + params: query, + }) +} diff --git a/src/api/base/printModel.js b/src/api/base/printModel.js new file mode 100644 index 00000000..cb047d8f --- /dev/null +++ b/src/api/base/printModel.js @@ -0,0 +1,92 @@ +/* + * @Author: zhp + * @Date: 2023-10-18 09:33:57 + * @LastEditTime: 2023-10-19 15:28:00 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 创建包装 +export function createPackingModel(data) { + return request({ + url: '/base/packaging-print-model/create', + method: 'post', + data: data + }) +} + +// 获得包装code +// export function getCode() { +// return request({ +// url: '/base/packaging-print-log/getPackagingSerialCode', +// method: 'get' +// }) +// } +// 更新包装 +export function updatePackingModel(data) { + return request({ + url: '/base/packaging-print-model/update', + method: 'put', + data: data + }) +} + +// 删除包装 +export function deletePackingModel(id) { + return request({ + url: '/base/packaging-print-model/delete?id=' + id, + method: 'delete' + }) +} + +// 获得包装 +export function getPackingModel(id) { + return request({ + url: '/base/packaging-print-model/get?id=' + id, + method: 'get' + }) +} + +// 获得包装分页 +export function getPackingModelPage(query) { + return request({ + url: '/base/packaging-print-model/page', + method: 'get', + params: query + }) +} + +// 导出包装 Excel +// export function exportPackingExcel(query) { +// return request({ +// url: '/base/packaging-print-log/export-excel', +// method: 'get', +// params: query, +// responseType: 'blob' +// }) +// } + +// export function getWorkOrderList(query) { +// return request({ +// url: '/base/core-work-order/listbyfilter', +// method: 'get', +// params: query, +// }) +// } + +// export function getCustomerList(query) { +// return request({ +// url: '/base/core-customer/listAll', +// method: 'get', +// params: query, +// }) +// } + +export function getTypeList(query) { + return request({ + url: '/base/packaging-print-type/listbyfilter', + method: 'get', + params: query, + }) +} diff --git a/src/main.js b/src/main.js index eb160008..9d15a451 100644 --- a/src/main.js +++ b/src/main.js @@ -71,7 +71,9 @@ import DocAlert from '@/components/DocAlert'; // 头部标签插件 import VueMeta from 'vue-meta'; import CodeBrickZj from 'code-brick-zj'; - +import { hiPrintPlugin,disAutoConnect } from 'vue-plugin-hiprint' +disAutoConnect(); +Vue.use(hiPrintPlugin) Vue.use(CodeBrickZj) Vue.use(directive); Vue.use(plugins); diff --git a/src/router/index.js b/src/router/index.js index fc08e221..555a4184 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -72,7 +72,7 @@ export const constantRoutes = [ { path: '/', component: Layout, - redirect: 'core/base/factory', + // redirect: 'core/base/factory', // children: [{ // path: 'index', // redirect: 'core/base/factory', diff --git a/src/views/base/custom/SmallTitle.vue b/src/views/base/custom/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/base/custom/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/base/custom/index.vue b/src/views/base/custom/index.vue new file mode 100644 index 00000000..873693a1 --- /dev/null +++ b/src/views/base/custom/index.vue @@ -0,0 +1,411 @@ + + + + + diff --git a/src/views/base/custom/preview.vue b/src/views/base/custom/preview.vue new file mode 100644 index 00000000..f7d18de2 --- /dev/null +++ b/src/views/base/custom/preview.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/base/custom/print-data.js b/src/views/base/custom/print-data.js new file mode 100644 index 00000000..077f8388 --- /dev/null +++ b/src/views/base/custom/print-data.js @@ -0,0 +1,90 @@ +/* + * @Author: zhp + * @Date: 2023-09-27 14:23:54 + * @LastEditTime: 2023-09-27 14:29:59 + * @LastEditors: zhp + * @Description: + */ +export default { + totalCap: '壹佰元整', + test: { + a: '111', + b: '222', + longText: '浙江在线3月29日讯最近,\n一篇小学五年级学生写的作文引起了钱报记者的关注这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文' + }, + testaaa: { + a: { + b: { + c: { + d: 'dddddddddddd' + } + } + } + }, + table_test: { + a: [ + { NAME: '测试商品01', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品02', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品03', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品04', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品05', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品06', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品07', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品08', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品09', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品10', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品11', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品12', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品13', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品14', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品15', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品16', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品17', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品18', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品19', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品20', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品21', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品22', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品23', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品24', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品25', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品26', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品27', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品28', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品29', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' } + ] + }, + table: [ + { NAME: '测试商品01', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品02', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品03', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品04', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品05', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品06', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品07', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品08', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品09', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品10', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品11', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品12', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品13', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品14', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品15', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品16', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品17', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品18', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品19', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品20', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品21', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品22', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品23', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品24', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品25', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品26', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品27', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品28', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品29', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' }, + { NAME: '测试商品30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' } + ] +} diff --git a/src/views/base/custom/providers.js b/src/views/base/custom/providers.js new file mode 100644 index 00000000..fa8996d3 --- /dev/null +++ b/src/views/base/custom/providers.js @@ -0,0 +1,447 @@ +/* eslint-disable */ +import {hiprint} from 'vue-plugin-hiprint' + +/* eslint-disable */ +// import {hiprint} from '../../index' + +// 自定义设计元素1 +export const aProvider = function (ops) { + var addElementTypes = function (context) { + context.removePrintElementTypes("aProviderModule"); + context.addPrintElementTypes( + "aProviderModule", + [ + new hiprint.PrintElementTypeGroup("平台", [ + { + tid: 'aProviderModule.header', title: '单据表头', data: '单据表头', type: 'text', + options: { + testData: '单据表头', + height: 17, + fontSize: 16.5, + fontWeight: "700", + textAlign: "center", + hideTitle: true + } + }, + { + tid: 'aProviderModule.type', title: '单据类型', data: '单据类型', type: 'text', + options: { + testData: '单据类型', + height: 16, + fontSize: 15, + fontWeight: "700", + textAlign: "center", + hideTitle: true + } + }, + { + tid: 'aProviderModule.order', title: '订单编号', data: 'XS888888888', type: 'text', + options: { + field: 'orderId', + testData: 'XS888888888', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'aProviderModule.date', title: '业务日期', data: '2020-01-01', type: 'text', + options: { + field: 'date', + testData: '2020-01-01', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'aProviderModule.barcode', title: '条形码', data: 'XS888888888', type: 'text', + options: { + field: 'barcode', + testData: 'XS888888888', + height: 32, + fontSize: 12, + lineHeight: 18, + textType: "barcode" + } + }, + { + tid: 'aProviderModule.qrcode', title: '二维码', data: 'XS888888888', type: 'text', + options: { + field: 'qrcode', + testData: 'XS888888888', + height: 32, + fontSize: 12, + lineHeight: 18, + textType: "qrcode" + } + }, + { + tid: 'aProviderModule.platform', title: '平台名称', data: '平台名称', type: 'text', + options: { + testData: '平台名称', + height: 17, + fontSize: 16.5, + fontWeight: "700", + textAlign: "center", + hideTitle: true + } + }, + {tid: 'aProviderModule.logo', title: 'Logo', data: '', type: 'image'}, + ]), + new hiprint.PrintElementTypeGroup("库管", [ + { + tid: 'aProviderModule.creater', title: '制单人', data: '李四', type: 'text', + options: { + field: 'creater', + testData: '李四', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'aProviderModule.printDate', title: '打印时间', data: '2022-01-01 09:00', type: 'text', + options: { + field: 'printDate', + testData: '2022-01-01 09:00', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'aProviderModule.signer', title: '库管签字', data: '', type: 'text', + options: { + title: '库管签字:', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + ]), + new hiprint.PrintElementTypeGroup("表格/其他", [ + { + tid: 'aProviderModule.table', title: '订单数据', + type: 'table', + options: { + field: 'table', + tableHeaderRepeat: 'first', + tableFooterRepeat: 'last', + fields: [ + {text: '名称', field: 'NAME'}, + {text: '数量', field: 'SL'}, + {text: '规格', field: 'GG'}, + {text: '条码', field: 'TM'}, + {text: '单价', field: 'DJ'}, + {text: '金额', field: 'JE'}, + ], + }, + editable: true, + columnDisplayEditable: true,//列显示是否能编辑 + columnDisplayIndexEditable: true,//列顺序显示是否能编辑 + columnTitleEditable: true,//列标题是否能编辑 + columnResizable: true, //列宽是否能调整 + columnAlignEditable: true,//列对齐是否调整 + isEnableEditField: true, //编辑字段 + isEnableContextMenu: true, //开启右键菜单 默认true + isEnableInsertRow: true, //插入行 + isEnableDeleteRow: true, //删除行 + isEnableInsertColumn: true, //插入列 + isEnableDeleteColumn: true, //删除列 + isEnableMergeCell: true, //合并单元格 + columns: [ + [ + {title: '名称', align: 'center', field: 'NAME', width: 150}, + {title: '数量', align: 'center', field: 'SL', width: 80}, + {title: '规格', align: 'center', field: 'GG', width: 80, checked: false}, + {title: '条码', align: 'center', field: 'TM', width: 100, checked: false}, + {title: '单价', align: 'center', field: 'DJ', width: 100}, + {title: '金额', align: 'center', field: 'JE', width: 100, checked: false}, + ], + ], + rowsColumnsMerge: function (data, col, index) { + // 返回一个数组,参数一为行(rowspan)合并数,参数二为列(colspan)合并数, 被合并的行或者列值设为0 + if (index == 0) { + return [1, data.INDEX % 2 == 1 ? 2 : 1] + } else if (index > 0 && index < 2) { + return [data.INDEX % 2 == 1 ? 0 : 1, 1] + } else { + return [data.INDEX % 2 == 1 ? 2 : 0, 1] + } + }, + footerFormatter: function (options, rows, data, currentPageGridRowsData) { + if (data && data['totalCap']) { + return `${'应收金额大写: ' + data['totalCap']}` + } + return '应收金额大写: ' + }, + }, + {tid: 'aProviderModule.customText', title: '文本', customText: '自定义文本', custom: true, type: 'text'}, + { + tid: 'aProviderModule.longText', title: '长文本', type: 'longText', options: { + field: 'test.longText', + width: 200, + testData: '长文本分页/不分页测试' + }, + } + ]), + new hiprint.PrintElementTypeGroup("辅助", [ + { + tid: 'aProviderModule.hline', + title: '横线', + type: 'hline' + }, + { + tid: 'aProviderModule.vline', + title: '竖线', + type: 'vline' + }, + { + tid: 'aProviderModule.rect', + title: '矩形', + type: 'rect' + }, + { + tid: 'aProviderModule.oval', + title: '椭圆', + type: 'oval' + }, + { + tid: 'aProviderModule.barcode', + title: '条形码', + type: 'barcode', + }, + { + tid: 'aProviderModule.qrcode', + title: '二维码', + type: 'qrcode', + } + ]) + ] + ); + }; + return { + addElementTypes: addElementTypes + }; +}; + +// 自定义设计元素2 +export const bProvider = function (ops) { + var addElementTypes = function (context) { + context.removePrintElementTypes("bProviderModule"); + context.addPrintElementTypes( + "bProviderModule", + [ + new hiprint.PrintElementTypeGroup("常规", [ + { + tid: 'bProviderModule.header', title: '单据表头', data: '单据表头', type: 'text', + options: { + testData: '单据表头', + height: 17, + fontSize: 16.5, + fontWeight: "700", + textAlign: "center", + hideTitle: true + } + }, + { + tid: 'bProviderModule.type', title: '单据类型', data: '单据类型', type: 'text', + options: { + testData: '单据类型', + height: 16, + fontSize: 15, + fontWeight: "700", + textAlign: "center", + hideTitle: true + } + }, + { + tid: 'bProviderModule.order', title: '订单编号', data: 'XS888888888', type: 'text', + options: { + field: 'orderId', + testData: 'XS888888888', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'bProviderModule.date', title: '业务日期', data: '2020-01-01', type: 'text', + options: { + field: 'date', + testData: '2020-01-01', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'bProviderModule.barcode', title: '条形码', data: 'XS888888888', type: 'text', + options: { + field: 'barcode', + testData: 'XS888888888', + height: 32, + fontSize: 12, + lineHeight: 18, + textType: "barcode" + } + }, + { + tid: 'bProviderModule.qrcode', title: '二维码', data: 'XS888888888', type: 'text', + options: { + field: 'qrcode', + testData: 'XS888888888', + height: 32, + fontSize: 12, + lineHeight: 18, + textType: "qrcode" + } + }, + { + tid: 'bProviderModule.platform', title: '平台名称', data: '平台名称', type: 'text', + options: { + testData: '平台名称', + height: 17, + fontSize: 16.5, + fontWeight: "700", + textAlign: "center", + hideTitle: true + } + }, + {tid: 'bProviderModule.image', title: 'Logo', data: 'data: image/png;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', type: 'image', options: { + src: 'data: image/png;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', + fit: 'none' + }}, + ]), + new hiprint.PrintElementTypeGroup("客户", [ + { + tid: 'bProviderModule.khname', title: '客户名称', data: '高级客户', type: 'text', + options: { + field: 'name', + testData: '高级客户', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + { + tid: 'bProviderModule.tel', title: '客户电话', data: '18888888888', type: 'text', + options: { + field: 'tel', + testData: '18888888888', + height: 16, + fontSize: 6.75, + fontWeight: "700", + textAlign: "left", + textContentVerticalAlign: "middle" + } + }, + ]), + new hiprint.PrintElementTypeGroup("表格/其他", [ + { + tid: 'bProviderModule.table', title: '订单数据', + type: 'table', + options: { + field: 'table', + fields: [ + {text: '名称', field: 'NAME'}, + {text: '数量', field: 'SL'}, + {text: '规格', field: 'GG'}, + {text: '条码', field: 'TM'}, + {text: '单价', field: 'DJ'}, + {text: '金额', field: 'JE'}, + {text: '备注', field: 'DETAIL'}, + ], + }, + editable: true, + columnDisplayEditable: true,//列显示是否能编辑 + columnDisplayIndexEditable: true,//列顺序显示是否能编辑 + columnTitleEditable: true,//列标题是否能编辑 + columnResizable: true, //列宽是否能调整 + columnAlignEditable: true,//列对齐是否调整 + columns: [ + [ + {title: '名称', align: 'center', field: 'NAME', width: 100}, + {title: '数量', align: 'center', field: 'SL', width: 100}, + {title: '条码', align: 'center', field: 'TM', width: 100}, + {title: '规格', align: 'center', field: 'GG', width: 100}, + {title: '单价', align: 'center', field: 'DJ', width: 100}, + {title: '金额', align: 'center', field: 'JE', width: 100}, + {title: '备注', align: 'center', field: 'DETAIL', width: 100}, + ] + ], + footerFormatter: function (options, rows, data, currentPageGridRowsData) { + if (data && data['totalCap']) { + return `${'应收金额大写: ' + data['totalCap']}` + } + return '应收金额大写: ' + }, + }, + {tid: 'bProviderModule.customText', title: '文本', customText: '自定义文本', custom: true, type: 'text'}, + { + tid: 'bProviderModule.longText', title: '长文本', type: 'longText', options: { + field: 'test.longText', + width: 200, + testData: '长文本分页/不分页测试' + }, + } + ]), + new hiprint.PrintElementTypeGroup("辅助", [ + { + tid: 'bProviderModule.hline', + title: '横线', + type: 'hline' + }, + { + tid: 'bProviderModule.vline', + title: '竖线', + type: 'vline' + }, + { + tid: 'bProviderModule.rect', + title: '矩形', + type: 'rect' + }, + { + tid: 'bProviderModule.oval', + title: '椭圆', + type: 'oval' + } + ]) + ] + ); + }; + return { + addElementTypes: addElementTypes + }; +}; + +// type: 1供货商 2经销商 +export default [{ + name: 'A设计', + value: 'aProviderModule', + type: 1, + f: aProvider() +}, { + name: 'B设计', + value: 'bProviderModule', + type: 2, + f: bProvider() +}] diff --git a/src/views/base/mixins/basic-add.js b/src/views/base/mixins/basic-add.js new file mode 100644 index 00000000..0b9acd23 --- /dev/null +++ b/src/views/base/mixins/basic-add.js @@ -0,0 +1,100 @@ +/* + * @Author: zwq + * @Date: 2022-08-24 11:19:43 + * @LastEditors: zwq + * @LastEditTime: 2023-08-03 14:21:04 + * @Description: + */ +export default { + data() { + /* eslint-disable */ + return { + urlOptions: { + createURL: '', + updateURL: '', + infoURL: '', + codeURL: '', + getOption: false, + isGetCode: false, + optionArrUrl: [], + optionArr: {} + }, + visible: false, + setData: false + } + }, + created() { + }, + activated() { + }, + methods: { + init(id) { + this.dataForm.id = id || ""; + this.visible = true; + if (this.urlOptions.getOption) { + this.getArr() + } + this.$nextTick(() => { + this.$refs["dataForm"].resetFields(); + if (this.dataForm.id) { + this.urlOptions.infoURL(id).then(response => { + this.dataForm = response.data; + if (this.setData) { + this.setDataForm() + } + }); + } else { + if (this.urlOptions.isGetCode) { + this.getCode() + } + } + }); + }, + getCode() { + this.urlOptions.codeURL() + .then(({ data: res }) => { + this.dataForm.code = res; + }) + .catch(() => {}); + }, + getArr() { + const params = { + pageSize: 100, + pageNo: 1, + } + this.urlOptions.optionArrUrl.forEach((item, index) => { + item(params).then(({ data: res }) => { + this.$set(this.urlOptions.optionArr, `arr${index}`, res.list) + }) + .catch(() => { + }); + }); + }, + // 表单提交 + dataFormSubmit() { + this.$refs["dataForm"].validate((valid) => { + if (!valid) { + return false; + } + // 修改的提交 + if (this.dataForm.id) { + this.urlOptions.updateURL(this.dataForm).then(response => { + this.$modal.msgSuccess("修改成功"); + this.visible = false; + this.$emit("refreshDataList"); + }); + return; + } + // 添加的提交 + this.urlOptions.createURL(this.dataForm).then(response => { + this.$modal.msgSuccess("新增成功"); + this.visible = false; + this.$emit("refreshDataList"); + }); + }); + }, + formClear() { + this.$refs.dataForm.resetFields() + } + } +} diff --git a/src/views/base/mixins/basic-page.js b/src/views/base/mixins/basic-page.js new file mode 100644 index 00000000..8723be82 --- /dev/null +++ b/src/views/base/mixins/basic-page.js @@ -0,0 +1,168 @@ +/* + * @Author: zwq + * @Date: 2022-08-24 11:19:43 + * @LastEditors: DY + * @LastEditTime: 2023-09-21 16:02:07 + * @Description: + */ +export default { + data() { + /* eslint-disable */ + return { + urlOptions: { + getDataListURL: '', + deleteURL: '', + statusUrl: '', + exportURL: '' + }, + tableData: [], + listQuery: { + pageSize: 10, + pageNo: 1, + total: 1, + }, + exportLoading: false, + dataListLoading: false, + addOrEditTitle: '', + addOrUpdateVisible: false, + } + }, + created() { + }, + mounted() { + this.getDataList() + }, + methods: { + // 获取数据列表 + getDataList() { + this.dataListLoading = true; + this.urlOptions.getDataListURL(this.listQuery).then(response => { + this.tableData = response.data.list; + this.listQuery.total = response.data.total; + this.dataListLoading = false; + }); + }, + // 每页数 + sizeChangeHandle(val) { + this.listQuery.pageSize = val; + this.listQuery.pageNo = 1; + this.getDataList(); + }, + // 当前页 + currentChangeHandle(val) { + this.listQuery.pageNo = val; + this.getDataList(); + }, + // 新增 / 修改 + addOrUpdateHandle(id) { + this.addOrUpdateVisible = true; + this.$nextTick(() => { + this.$refs.addOrUpdate.init(id); + }); + }, + cancel(id) { + this.$refs["popover-" + id].showPopper = false; + }, + //改变状态 + changeStatus(id) { + this.$http + .post(this.urlOptions.statusUrl, { id }) + .then(({ data: res }) => { + if (res.code !== 0) { + return this.$message.error(res.msg); + } + this.$refs["popover-" + id].showPopper = false; + this.$message({ + message: this.$t("prompt.success"), + type: "success", + duration: 500, + onClose: () => { + this.getDataList(); + }, + }); + }) + .catch(() => { }); + }, + //tableBtn点击 + handleClick(val) { + if (val.type === "edit") { + this.addOrUpdateVisible = true; + this.addOrEditTitle = "编辑"; + this.$nextTick(() => { + this.$refs.addOrUpdate.init(val.data.id); + }); + } else if (val.type === "delete") { + this.deleteHandle(val.data.id, val.data.name, val.data._pageIndex) + } else if (val.type === "change") { + this.changeStatus(val.data.id) + } else { + this.otherMethods(val) + } + }, + // 删除 + deleteHandle(id, name, index) { + this.$confirm(`确定对${name ? '[名称=' + name + ']' : '[序号=' + index + ']'}进行删除操作?`, "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.urlOptions.deleteURL(id).then(({ data }) => { + this.$message({ + message: "操作成功", + type: "success", + duration: 1500, + onClose: () => { + this.getDataList(); + }, + }); + }); + }) + .catch(() => { }); + }, + //search-bar点击 + buttonClick(val) { + switch (val.btnName) { + case "search": + this.listQuery.xm1 = val.xm1; + this.listQuery.xm2 = val.xm2; + this.listQuery.pageNo = 1; + this.getDataList(); + break; + case "add": + this.addOrEditTitle = '新增' + this.addOrUpdateVisible = true; + this.addOrUpdateHandle() + break; + default: + console.log(val) + } + }, + handleCancel() { + this.$refs.addOrUpdate.formClear() + this.addOrUpdateVisible = false + this.addOrEditTitle = '' + }, + handleConfirm() { + this.$refs.addOrUpdate.dataFormSubmit() + }, + successSubmit() { + this.handleCancel() + this.getDataList() + }, + /** 导出按钮操作 */ + handleExport() { + // 处理查询参数 + let params = { ...this.queryParams }; + params.pageNo = undefined; + params.pageSize = undefined; + this.$modal.confirm('是否确认导出所有数据项?').then(() => { + this.exportLoading = true; + return this.urlOptions.exportURL(params); + }).then(response => { + this.$download.excel(response, '工厂.xls'); + this.exportLoading = false; + }).catch(() => { }); + } + } +} diff --git a/src/views/base/mixins/code-filter.js b/src/views/base/mixins/code-filter.js new file mode 100644 index 00000000..30c5f12e --- /dev/null +++ b/src/views/base/mixins/code-filter.js @@ -0,0 +1,69 @@ + +/* + * @Date: 2020-12-29 16:49:28 + * @LastEditors: DY + * @LastEditTime: 2023-09-12 11:13:34 + * @FilePath: \basic-admin\src\filters\basicData\index.js + * @Description: + */ + +const table = { + lineStatus: { + 1: '生产中', + 2: '停止', + 3: '未知', + }, + reportType: { + 1: '日', + 2: '周', + 3: '月' + } +} + +// 日期格式化 +export function parseTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.\d{3}/gm),''); + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { + return ['日', '一', '二', '三', '四', '五', '六'][value] + } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} +export default function (dictTable) { + return function (val) { + return table?.[dictTable]?.[val] + } +} diff --git a/src/views/base/packagingPrintLog/SmallTitle.vue b/src/views/base/packagingPrintLog/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/base/packagingPrintLog/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/base/packagingPrintLog/add-or-updata.vue b/src/views/base/packagingPrintLog/add-or-updata.vue new file mode 100644 index 00000000..6acab937 --- /dev/null +++ b/src/views/base/packagingPrintLog/add-or-updata.vue @@ -0,0 +1,421 @@ + + + + + + diff --git a/src/views/base/packagingPrintLog/index.vue b/src/views/base/packagingPrintLog/index.vue new file mode 100644 index 00000000..a1f352c0 --- /dev/null +++ b/src/views/base/packagingPrintLog/index.vue @@ -0,0 +1,292 @@ + + + + diff --git a/src/views/base/packagingPrintLog/unitDict.vue b/src/views/base/packagingPrintLog/unitDict.vue new file mode 100644 index 00000000..94702ab4 --- /dev/null +++ b/src/views/base/packagingPrintLog/unitDict.vue @@ -0,0 +1,15 @@ + + diff --git a/src/views/base/packagingPrintModel/SmallTitle.vue b/src/views/base/packagingPrintModel/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/base/packagingPrintModel/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/base/packagingPrintModel/add-or-updata.vue b/src/views/base/packagingPrintModel/add-or-updata.vue new file mode 100644 index 00000000..ebb1c444 --- /dev/null +++ b/src/views/base/packagingPrintModel/add-or-updata.vue @@ -0,0 +1,442 @@ + + + + + + diff --git a/src/views/base/packagingPrintModel/index.vue b/src/views/base/packagingPrintModel/index.vue new file mode 100644 index 00000000..2fa44750 --- /dev/null +++ b/src/views/base/packagingPrintModel/index.vue @@ -0,0 +1,210 @@ + + + + diff --git a/src/views/base/packagingPrintModel/unitDict.vue b/src/views/base/packagingPrintModel/unitDict.vue new file mode 100644 index 00000000..94702ab4 --- /dev/null +++ b/src/views/base/packagingPrintModel/unitDict.vue @@ -0,0 +1,15 @@ + + diff --git a/src/views/base/packagingPrintType/SmallTitle.vue b/src/views/base/packagingPrintType/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/base/packagingPrintType/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/base/packagingPrintType/add-or-updata.vue b/src/views/base/packagingPrintType/add-or-updata.vue new file mode 100644 index 00000000..469b5622 --- /dev/null +++ b/src/views/base/packagingPrintType/add-or-updata.vue @@ -0,0 +1,347 @@ + + + + + + diff --git a/src/views/base/packagingPrintType/index.vue b/src/views/base/packagingPrintType/index.vue new file mode 100644 index 00000000..8ccb212d --- /dev/null +++ b/src/views/base/packagingPrintType/index.vue @@ -0,0 +1,191 @@ + + + + diff --git a/src/views/base/packagingPrintType/unitDict.vue b/src/views/base/packagingPrintType/unitDict.vue new file mode 100644 index 00000000..94702ab4 --- /dev/null +++ b/src/views/base/packagingPrintType/unitDict.vue @@ -0,0 +1,15 @@ + + diff --git a/src/views/print/design.vue b/src/views/print/design.vue index 97e31726..cf15a7c3 100644 --- a/src/views/print/design.vue +++ b/src/views/print/design.vue @@ -1,4 +1,4 @@ -