diff --git a/package.json b/package.json index 27f7e5df..b7ef11cc 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "js-beautify": "1.13.0", "jsencrypt": "3.3.1", "min-dash": "3.5.2", + "moment": "^2.29.4", "nprogress": "0.2.0", "qrcode.vue": "^1.7.0", "quill": "1.3.7", diff --git a/src/main.js b/src/main.js index 7531aaab..4d698738 100644 --- a/src/main.js +++ b/src/main.js @@ -85,7 +85,7 @@ import Tinymce from '@/components/tinymce/index.vue'; Vue.component('tinymce', Tinymce); import '@/assets/icons'; import request from '@/utils/request'; // 实现 form generator 使用自己定义的 axios request 对象 -console.log(request); +// console.log(request); Vue.prototype.$axios = request; import '@/styles/index.scss'; diff --git a/src/views/quality/base/qualityInspectionBoxBtn/index.vue b/src/views/quality/base/qualityInspectionBoxBtn/index.vue index 741ec1c2..8c777b7c 100644 --- a/src/views/quality/base/qualityInspectionBoxBtn/index.vue +++ b/src/views/quality/base/qualityInspectionBoxBtn/index.vue @@ -1,227 +1,343 @@ diff --git a/src/views/quality/base/qualityInspectionDet/index.vue b/src/views/quality/base/qualityInspectionDet/index.vue index 64d263e1..939568c5 100644 --- a/src/views/quality/base/qualityInspectionDet/index.vue +++ b/src/views/quality/base/qualityInspectionDet/index.vue @@ -1,227 +1,314 @@ + + diff --git a/src/views/quality/base/qualityInspectionType/index.vue b/src/views/quality/base/qualityInspectionType/index.vue index 4629e7e4..9bafb076 100644 --- a/src/views/quality/base/qualityInspectionType/index.vue +++ b/src/views/quality/base/qualityInspectionType/index.vue @@ -1,214 +1,354 @@ diff --git a/src/views/quality/components/dialogForm.vue b/src/views/quality/components/dialogForm.vue new file mode 100644 index 00000000..000e1cf9 --- /dev/null +++ b/src/views/quality/components/dialogForm.vue @@ -0,0 +1,180 @@ + + + + + + + diff --git a/src/views/quality/mixin/basicPageMixin.js b/src/views/quality/mixin/basicPageMixin.js new file mode 100644 index 00000000..c65eab32 --- /dev/null +++ b/src/views/quality/mixin/basicPageMixin.js @@ -0,0 +1,97 @@ +import DialogForm from '../components/dialogForm.vue'; + +export default { + components: { DialogForm }, + data() { + return { + // 遮罩层 + loading: true, + // 导出遮罩层 + exportLoading: false, + // 显示搜索条件 + showSearch: true, + // 总条数 + total: 0, + // 质量检测信息基础列表 + list: [], + // 弹出层标题 + title: '', + // 是否显示弹出层 + open: false, + // 列表数据 + tableData: [], + // 弹窗的表单 + // form: {}, // 占位 + // 搜索框需要的 keys + // searchBarKeys: [], // 占位 + // tableProps: [], // 占位 + // tableBtn: [], // 占位 + // searchBarFormConfig: [], // 占位 + // // 弹窗表单配置 + // dialogFormConfig: [], // 占位 + }; + }, + mounted() {}, + methods: { + // 处理搜索条件 + handleSearchBarBtnClick() {}, + // 处理表格按钮 + handleTableBtnClick({ data, type }) { + switch (type) { + case 'edit': + this.handleUpdate(data); + break; + case 'delete': + this.handleDelete(data); + break; + } + }, + // 处理搜索栏按钮 + handleSearchBarBtnClick(btn) { + // const keys = ['name', 'createTime']; // timeVal // 已被 searchBarKeys 替代 + switch (btn.btnName) { + case 'search': + this.searchBarKeys.forEach((key) => { + if (key == 'timeVal') { + this.queryParams['startTime'] = btn.timeVal[0]; + this.queryParams['endTime'] = btn.timeVal[1]; + return; + } + this.queryParams[key] = btn[key] || null; + }); + this.handleQuery(); + break; + case 'add': + this.handleAdd(); + break; + case 'export': + this.handleExport(); + break; + case 'reset': + this.$refs['search-bar'].resetForm(); + this.resetQuery(); + break; + } + }, + handleEmitFun(val) { + console.log('emit unf', val); + }, + // 获取列表数据 + getList() {}, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNo = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm('queryForm'); + this.handleQuery(); + }, + /** 取消按钮 */ + cancel() { + this.open = false; + this.reset(); + }, + }, +}; diff --git a/yarn.lock b/yarn.lock index 10de2f3c..000b5599 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6842,6 +6842,11 @@ moddle@^5.0.2: dependencies: min-dash "^3.0.0" +moment@^2.29.4: + version "2.29.4" + resolved "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz"