From 2260184afb85c80eabce02da190f9f07ee660ab3 Mon Sep 17 00:00:00 2001 From: yuyu <1981343953@qq.com> Date: 星期二, 08 八月 2023 14:35:57 +0800 Subject: [PATCH] 委托检验、原材料报检和检验申请页面 --- src/api/inspection/commisioninspection.js | 10 src/views/experiment/inspectionApplication/index.vue | 527 +++++++++++++++++++++ .eslintrc.js | 394 +++++++------- .eslintignore | 2 src/router/index.js | 2 src/views/experiment/planAssignments/index.vue | 254 ++++++++++ src/views/inspectionManagement/commissionInspection/addCommision.vue | 181 ++++-- src/views/inspectionManagement/commissionInspection/index.vue | 104 ++-- 8 files changed, 1,154 insertions(+), 320 deletions(-) diff --git a/.eslintignore b/.eslintignore index e6529fc..99b9edd 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,4 @@ build/*.js -src/assets +src public dist diff --git a/.eslintrc.js b/.eslintrc.js index c977505..059ec89 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,198 +1,198 @@ -module.exports = { - root: true, - parserOptions: { - parser: 'babel-eslint', - sourceType: 'module' - }, - env: { - browser: true, - node: true, - es6: true, - }, - extends: ['plugin:vue/recommended', 'eslint:recommended'], +// module.exports = { +// root: true, +// parserOptions: { +// parser: 'babel-eslint', +// sourceType: 'module' +// }, +// env: { +// browser: true, +// node: true, +// es6: true, +// }, +// extends: ['plugin:vue/recommended', 'eslint:recommended'], - // add your custom rules here - //it is base on https://github.com/vuejs/eslint-config-vue - rules: { - "vue/max-attributes-per-line": [2, { - "singleline": 10, - "multiline": { - "max": 1, - "allowFirstLine": false - } - }], - "vue/singleline-html-element-content-newline": "off", - "vue/multiline-html-element-content-newline":"off", - "vue/name-property-casing": ["error", "PascalCase"], - "vue/no-v-html": "off", - 'accessor-pairs': 2, - 'arrow-spacing': [2, { - 'before': true, - 'after': true - }], - 'block-spacing': [2, 'always'], - 'brace-style': [2, '1tbs', { - 'allowSingleLine': true - }], - 'camelcase': [0, { - 'properties': 'always' - }], - 'comma-dangle': [2, 'never'], - 'comma-spacing': [2, { - 'before': false, - 'after': true - }], - 'comma-style': [2, 'last'], - 'constructor-super': 2, - 'curly': [2, 'multi-line'], - 'dot-location': [2, 'property'], - 'eol-last': 2, - 'eqeqeq': ["error", "always", {"null": "ignore"}], - 'generator-star-spacing': [2, { - 'before': true, - 'after': true - }], - 'handle-callback-err': [2, '^(err|error)$'], - 'indent': [2, 2, { - 'SwitchCase': 1 - }], - 'jsx-quotes': [2, 'prefer-single'], - 'key-spacing': [2, { - 'beforeColon': false, - 'afterColon': true - }], - 'keyword-spacing': [2, { - 'before': true, - 'after': true - }], - 'new-cap': [2, { - 'newIsCap': true, - 'capIsNew': false - }], - 'new-parens': 2, - 'no-array-constructor': 2, - 'no-caller': 2, - 'no-console': 'off', - 'no-class-assign': 2, - 'no-cond-assign': 2, - 'no-const-assign': 2, - 'no-control-regex': 0, - 'no-delete-var': 2, - 'no-dupe-args': 2, - 'no-dupe-class-members': 2, - 'no-dupe-keys': 2, - 'no-duplicate-case': 2, - 'no-empty-character-class': 2, - 'no-empty-pattern': 2, - 'no-eval': 2, - 'no-ex-assign': 2, - 'no-extend-native': 2, - 'no-extra-bind': 2, - 'no-extra-boolean-cast': 2, - 'no-extra-parens': [2, 'functions'], - 'no-fallthrough': 2, - 'no-floating-decimal': 2, - 'no-func-assign': 2, - 'no-implied-eval': 2, - 'no-inner-declarations': [2, 'functions'], - 'no-invalid-regexp': 2, - 'no-irregular-whitespace': 2, - 'no-iterator': 2, - 'no-label-var': 2, - 'no-labels': [2, { - 'allowLoop': false, - 'allowSwitch': false - }], - 'no-lone-blocks': 2, - 'no-mixed-spaces-and-tabs': 2, - 'no-multi-spaces': 2, - 'no-multi-str': 2, - 'no-multiple-empty-lines': [2, { - 'max': 1 - }], - 'no-native-reassign': 2, - 'no-negated-in-lhs': 2, - 'no-new-object': 2, - 'no-new-require': 2, - 'no-new-symbol': 2, - 'no-new-wrappers': 2, - 'no-obj-calls': 2, - 'no-octal': 2, - 'no-octal-escape': 2, - 'no-path-concat': 2, - 'no-proto': 2, - 'no-redeclare': 2, - 'no-regex-spaces': 2, - 'no-return-assign': [2, 'except-parens'], - 'no-self-assign': 2, - 'no-self-compare': 2, - 'no-sequences': 2, - 'no-shadow-restricted-names': 2, - 'no-spaced-func': 2, - 'no-sparse-arrays': 2, - 'no-this-before-super': 2, - 'no-throw-literal': 2, - 'no-trailing-spaces': 2, - 'no-undef': 2, - 'no-undef-init': 2, - 'no-unexpected-multiline': 2, - 'no-unmodified-loop-condition': 2, - 'no-unneeded-ternary': [2, { - 'defaultAssignment': false - }], - 'no-unreachable': 2, - 'no-unsafe-finally': 2, - 'no-unused-vars': [2, { - 'vars': 'all', - 'args': 'none' - }], - 'no-useless-call': 2, - 'no-useless-computed-key': 2, - 'no-useless-constructor': 2, - 'no-useless-escape': 0, - 'no-whitespace-before-property': 2, - 'no-with': 2, - 'one-var': [2, { - 'initialized': 'never' - }], - 'operator-linebreak': [2, 'after', { - 'overrides': { - '?': 'before', - ':': 'before' - } - }], - 'padded-blocks': [2, 'never'], - 'quotes': [2, 'single', { - 'avoidEscape': true, - 'allowTemplateLiterals': true - }], - 'semi': [2, 'never'], - 'semi-spacing': [2, { - 'before': false, - 'after': true - }], - 'space-before-blocks': [2, 'always'], - 'space-before-function-paren': [2, 'never'], - 'space-in-parens': [2, 'never'], - 'space-infix-ops': 2, - 'space-unary-ops': [2, { - 'words': true, - 'nonwords': false - }], - 'spaced-comment': [2, 'always', { - 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] - }], - 'template-curly-spacing': [2, 'never'], - 'use-isnan': 2, - 'valid-typeof': 2, - 'wrap-iife': [2, 'any'], - 'yield-star-spacing': [2, 'both'], - 'yoda': [2, 'never'], - 'prefer-const': 2, - 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, - 'object-curly-spacing': [2, 'always', { - objectsInObjects: false - }], - 'array-bracket-spacing': [2, 'never'] - } -} +// // add your custom rules here +// //it is base on https://github.com/vuejs/eslint-config-vue +// // rules: { +// // "vue/max-attributes-per-line": [2, { +// // "singleline": 10, +// // "multiline": { +// // "max": 1, +// // "allowFirstLine": false +// // } +// // }], +// // "vue/singleline-html-element-content-newline": "off", +// // "vue/multiline-html-element-content-newline":"off", +// // "vue/name-property-casing": ["error", "PascalCase"], +// // "vue/no-v-html": "off", +// // 'accessor-pairs': 2, +// // 'arrow-spacing': [2, { +// // 'before': true, +// // 'after': true +// // }], +// // 'block-spacing': [2, 'always'], +// // 'brace-style': [2, '1tbs', { +// // 'allowSingleLine': true +// // }], +// // 'camelcase': [0, { +// // 'properties': 'always' +// // }], +// // 'comma-dangle': [2, 'never'], +// // 'comma-spacing': [2, { +// // 'before': false, +// // 'after': true +// // }], +// // 'comma-style': [2, 'last'], +// // 'constructor-super': 2, +// // 'curly': [2, 'multi-line'], +// // 'dot-location': [2, 'property'], +// // 'eol-last': 2, +// // 'eqeqeq': ["error", "always", {"null": "ignore"}], +// // 'generator-star-spacing': [2, { +// // 'before': true, +// // 'after': true +// // }], +// // 'handle-callback-err': [2, '^(err|error)$'], +// // 'indent': [2, 2, { +// // 'SwitchCase': 1 +// // }], +// // 'jsx-quotes': [2, 'prefer-single'], +// // 'key-spacing': [2, { +// // 'beforeColon': false, +// // 'afterColon': true +// // }], +// // 'keyword-spacing': [2, { +// // 'before': true, +// // 'after': true +// // }], +// // 'new-cap': [2, { +// // 'newIsCap': true, +// // 'capIsNew': false +// // }], +// // 'new-parens': 2, +// // 'no-array-constructor': 2, +// // 'no-caller': 2, +// // 'no-console': 'off', +// // 'no-class-assign': 2, +// // 'no-cond-assign': 2, +// // 'no-const-assign': 2, +// // 'no-control-regex': 0, +// // 'no-delete-var': 2, +// // 'no-dupe-args': 2, +// // 'no-dupe-class-members': 2, +// // 'no-dupe-keys': 2, +// // 'no-duplicate-case': 2, +// // 'no-empty-character-class': 2, +// // 'no-empty-pattern': 2, +// // 'no-eval': 2, +// // 'no-ex-assign': 2, +// // 'no-extend-native': 2, +// // 'no-extra-bind': 2, +// // 'no-extra-boolean-cast': 2, +// // 'no-extra-parens': [2, 'functions'], +// // 'no-fallthrough': 2, +// // 'no-floating-decimal': 2, +// // 'no-func-assign': 2, +// // 'no-implied-eval': 2, +// // 'no-inner-declarations': [2, 'functions'], +// // 'no-invalid-regexp': 2, +// // 'no-irregular-whitespace': 2, +// // 'no-iterator': 2, +// // 'no-label-var': 2, +// // 'no-labels': [2, { +// // 'allowLoop': false, +// // 'allowSwitch': false +// // }], +// // 'no-lone-blocks': 2, +// // 'no-mixed-spaces-and-tabs': 2, +// // 'no-multi-spaces': 2, +// // 'no-multi-str': 2, +// // 'no-multiple-empty-lines': [2, { +// // 'max': 1 +// // }], +// // 'no-native-reassign': 2, +// // 'no-negated-in-lhs': 2, +// // 'no-new-object': 2, +// // 'no-new-require': 2, +// // 'no-new-symbol': 2, +// // 'no-new-wrappers': 2, +// // 'no-obj-calls': 2, +// // 'no-octal': 2, +// // 'no-octal-escape': 2, +// // 'no-path-concat': 2, +// // 'no-proto': 2, +// // 'no-redeclare': 2, +// // 'no-regex-spaces': 2, +// // 'no-return-assign': [2, 'except-parens'], +// // 'no-self-assign': 2, +// // 'no-self-compare': 2, +// // 'no-sequences': 2, +// // 'no-shadow-restricted-names': 2, +// // 'no-spaced-func': 2, +// // 'no-sparse-arrays': 2, +// // 'no-this-before-super': 2, +// // 'no-throw-literal': 2, +// // 'no-trailing-spaces': 2, +// // 'no-undef': 2, +// // 'no-undef-init': 2, +// // 'no-unexpected-multiline': 2, +// // 'no-unmodified-loop-condition': 2, +// // 'no-unneeded-ternary': [2, { +// // 'defaultAssignment': false +// // }], +// // 'no-unreachable': 2, +// // 'no-unsafe-finally': 2, +// // 'no-unused-vars': [2, { +// // 'vars': 'all', +// // 'args': 'none' +// // }], +// // 'no-useless-call': 2, +// // 'no-useless-computed-key': 2, +// // 'no-useless-constructor': 2, +// // 'no-useless-escape': 0, +// // 'no-whitespace-before-property': 2, +// // 'no-with': 2, +// // 'one-var': [2, { +// // 'initialized': 'never' +// // }], +// // 'operator-linebreak': [2, 'after', { +// // 'overrides': { +// // '?': 'before', +// // ':': 'before' +// // } +// // }], +// // 'padded-blocks': [2, 'never'], +// // 'quotes': [2, 'single', { +// // 'avoidEscape': true, +// // 'allowTemplateLiterals': true +// // }], +// // 'semi': [2, 'never'], +// // 'semi-spacing': [2, { +// // 'before': false, +// // 'after': true +// // }], +// // 'space-before-blocks': [2, 'always'], +// // 'space-before-function-paren': [2, 'never'], +// // 'space-in-parens': [2, 'never'], +// // 'space-infix-ops': 2, +// // 'space-unary-ops': [2, { +// // 'words': true, +// // 'nonwords': false +// // }], +// // 'spaced-comment': [2, 'always', { +// // 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] +// // }], +// // 'template-curly-spacing': [2, 'never'], +// // 'use-isnan': 2, +// // 'valid-typeof': 2, +// // 'wrap-iife': [2, 'any'], +// // 'yield-star-spacing': [2, 'both'], +// // 'yoda': [2, 'never'], +// // 'prefer-const': 2, +// // 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, +// // 'object-curly-spacing': [2, 'always', { +// // objectsInObjects: false +// // }], +// // 'array-bracket-spacing': [2, 'never'] +// // } +// } diff --git a/src/api/inspection/commisioninspection.js b/src/api/inspection/commisioninspection.js new file mode 100644 index 0000000..07cb024 --- /dev/null +++ b/src/api/inspection/commisioninspection.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 鏌ヨ濮旀墭妫�楠屽垪琛� +export function getCommisionList(params) { + return request({ + url: '/link-basic-table/page', + method: 'get', + params + }) +} \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index cff7490..d0203a4 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -200,7 +200,7 @@ path: 'planAssignments', name: 'PlanAssignments', component: () => import('@/views/experiment/planAssignments/index'), - meta: { title: '妫�楠岃鍒掑垎閰�', icon: 'tree' } + meta: { title: '妫�楠岃鍒�', icon: 'tree' } }, { path: 'checkTheReport', diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index e3a2d0e..7303bda 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -1,5 +1,528 @@ <template> <div> - 妫�楠岀敵璇� + <template v-if="!showDetail"> + <div class="content-main"> + <div class="top-bar"> + <el-form ref="form" :inline="true" :model="searchData"> + <el-form-item> + <el-input + v-model="searchData.keyword" + class="input-form" + placeholder="璇疯緭鍏ョ敵璇峰崟鍙�/妫�楠屽璞�/瀵硅薄浣嶇疆/瀵硅薄鍚嶇О" + > + <i slot="prefix" class="el-input__icon el-icon-search" /> + </el-input> + </el-form-item> + <el-form-item> + <el-button type="primary">鏌ヨ</el-button> + <el-button type="primary" plain>閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-form class="rightBtn"> + <el-form-item class="createBtn"> + <el-button type="primary" icon="el-icon-document-add" @click="checkTypeVisible = true" style="background-color: rgb(1, 102, 226);">鏂板妫�楠屽崟</el-button> + </el-form-item> + <el-form-item class="getDataBtn"> + <el-button type="primary" icon="el-icon-download" style="background-color: rgb(1, 102, 226);">瀵煎嚭妫�楠屽崟</el-button> + </el-form-item> + </el-form> + </div> + <div class="library-table"> + <div class="table-header"> + <div class="search-bar"> + <el-radio-group v-model="radioValue"> + <el-radio-button label="鍏ㄩ儴" /> + <el-radio-button label="寰呮彁浜�" /> + <el-radio-button label="宸叉彁浜�" /> + <el-radio-button label="宸蹭綔搴�" /> + </el-radio-group> + </div> + </div> + <div class="table-box"> + <el-table + ref="inspectionTable" + :max-height="800" + :cell-style="{textAlign: 'center'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :data="inspectionTable" + style="width: 100%" + > + <el-table-column + type="selection" + min-width="30px" + /> + <el-table-column + prop="applicationnum" + label="鐢宠鍗曞彿" + min-width="100px" + /> + <el-table-column + prop="checktype" + label="妫�楠岀被鍨�" + min-width="80px" + /> + <el-table-column + prop="checkstate" + label="妫�楠岀姸鎬�" + min-width="70px"> + <template slot-scope="scope"> + <div v-if="scope.row.checkstate === '1'"> + <span style="color: green;">宸叉娴�</span> + </div> + <div v-else> + <span style="color: red;">鏈娴�</span> + </div> + + </template> + </el-table-column> + <el-table-column + prop="deliverydate" + label="鏉ユ枡鏃ユ湡" + min-width="100px" + /> + <el-table-column + prop="provider" + label="渚涘簲鍟嗗悕绉�" + min-width="150px" + /> + <el-table-column + prop="rawcode" + label="鍘熸潗鏂欑紪鐮�" + min-width="120px" + /> + <el-table-column + prop="rawname" + label="鍘熸潗鏂欏悕绉�" + min-width="80px" + /> + <el-table-column + prop="modelandspecification" + label="瑙勬牸鍨嬪彿" + min-width="160px" + /> + <el-table-column + prop="unit" + label="鍗曚綅" + min-width="50px" + /> + <el-table-column + prop="amount" + label="鏁伴噺" + min-width="50px" + /> + <el-table-column + prop="registrationdate" + label="鐧昏鏃ユ湡" + min-width="80px" + /> + <el-table-column + prop="registrator" + label="鐧昏浜�" + min-width="80px" + /> + <el-table-column + prop="qualified" + label="妫�楠岀姸鎬�" + min-width="80px"> + <template slot-scope="scope"> + <div v-if="scope.row.qualified === null"> + <span></span> + </div> + <div v-else> + <el-tag :type="scope.row.qualified === '0' ? 'success' : 'danger'" + disable-transitions + >{{ scope.row.qualified === '0' ? '鍚堟牸' : '涓嶅悎鏍�' }}</el-tag> + </div> + </template> + </el-table-column> + <el-table-column + prop="applier" + label="鐢宠浜�" + min-width="80px" + /> + <el-table-column + prop="checker" + label="妫�楠屼汉" + min-width="80px" + /> + <el-table-column + prop="checktime" + label="妫�楠屾棩鏈�" + min-width="80px" + /> + <el-table-column + label="鎿嶄綔" + min-width="150" + fixed="right" + > + <template slot-scope="scope"> + <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button> + <el-button type="text" size="small" >鎻愪氦</el-button> + <el-button type="text" size="small" >浣滃簾</el-button> + </template> + </el-table-column> + </el-table> + <!-- 鍒嗛〉鍣� --> + <div> + <el-pagination + class="pagination" + :current-page="currentPage" + :page-sizes="[100, 200, 300, 400]" + :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + /> + </div> + </div> + </div> + <div class="checkType"> + <el-dialog + title="鏂板妫�楠屽崟" + :visible.sync="checkTypeVisible" + width="50%" + > + <div class="check-box"> + <el-radio-group v-model="type"> + <el-radio :label="0" border>鍘熸潗鏂欐楠�</el-radio> + <el-radio :label="1" border>鍗婃垚鍝佹楠�</el-radio> + <el-radio :label="2" border>鎴愬搧妫�楠�</el-radio> + </el-radio-group> + </div> + <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="top" label-width="200px" size="mini"> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏉ユ枡鏃ユ湡锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.deliverydate" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="渚涘簲鍟嗗悕绉帮細"> + <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> + <el-input style="width: 300px" type="text" :value="infoForm.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欏悕绉帮細"> + <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.modelandspecification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍗曚綅锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏁伴噺锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.amount" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾椂闂达細"> + <el-date-picker + v-model="infoForm.checkdate" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + style="width: 300px;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="checkTypeVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="goToForInspectionDetail">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> + </div> + </template> + <template v-else> + <router-view /> + </template> </div> -</template> + </template> + + <script> + import { getInspectionList } from '@/api/rawMaterials/reportForInspection' + export default { + data() { + return { + showDetail: false, + searchData: { + keyword: '' + }, + inspectionTable: [{ + applicationnum: 'QC22-09155', + checktype: '鍘熸潗鏂欐楠�', + checkstate: '1', + deliverydate: '2023-07-31', + provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', + rawcode: '1010010090124', + rawname: '閾濆寘閽㈢粸绾�', + modelandspecification: 'JLHA1/G1A-185/30-27/7', + unit: 'ml/kg', + amount: '1999', + registrationdate: '2022-09-23', + registrator: '鏉庡皬榫�', + qualified: '0', + applier: '鏉庡皬榫�', + checker: '鏉庡皬榫�', + checktime: '2023-12-09' + },{ + applicationnum: 'QC22-09155', + checktype: '鍘熸潗鏂欐楠�', + checkstate: '1', + deliverydate: '2023-07-31', + provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', + rawcode: '1010010090124', + rawname: '閾濆寘閽㈢粸绾�', + modelandspecification: 'JLHA1/G1A-185/30-27/7', + unit: 'ml/kg', + amount: '1999', + registrationdate: '2022-09-23', + registrator: '鏉庡皬榫�', + qualified: '0', + applier: '鏉庡皬榫�', + checker: '鏉庡皬榫�', + checktime: '2023-12-09' + },{ + applicationnum: 'QC22-09155', + checktype: '鍘熸潗鏂欐楠�', + checkstate: '0', + deliverydate: '2023-07-31', + provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', + rawcode: '1010010090124', + rawname: '閾濆寘閽㈢粸绾�', + modelandspecification: 'JLHA1/G1A-185/30-27/7', + unit: 'ml/kg', + amount: '1999', + registrationdate: '2022-09-23', + registrator: '鏉庡皬榫�', + qualified: null, + applier: '鏉庡皬榫�', + checker: '鏉庡皬榫�', + checktime: '2023-12-09' + },{ + applicationnum: 'QC22-09155', + checktype: '鍘熸潗鏂欐楠�', + checkstate: '1', + deliverydate: '2023-07-31', + provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', + rawcode: '1010010090124', + rawname: '閾濆寘閽㈢粸绾�', + modelandspecification: 'JLHA1/G1A-185/30-27/7', + unit: 'ml/kg', + amount: '1999', + registrationdate: '2022-09-23', + registrator: '鏉庡皬榫�', + qualified: '1', + applier: '鏉庡皬榫�', + checker: '鏉庡皬榫�', + checktime: '2023-12-09' + }], + infoForm:{ + deliverydate: '', + provider: '', + code: '', + name: '', + modelandspecification: '', + unit: '', + amount: '', + checkdate: '' + }, + currentPage: 1, + total: 20, // 鎬绘潯鏁� + pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁� + radioValue: '鍏ㄩ儴', + checkTypeVisible: false, + type: 0 + } + }, + watch: { + $route: { + handler(val, oldval) { + console.log(val)// 鏂拌矾鐢变俊鎭� + console.log(oldval)// 鑰佽矾鐢变俊鎭� + }, + // 娣卞害瑙傚療鐩戝惉 + deep: true + } + }, + // beforeRouteEnter(to, from, next) { + // console.log(to, from) + // next() + // // 鍦ㄦ覆鏌撹缁勪欢鐨勫搴旇矾鐢辫 confirm 鍓嶈皟鐢� + // // 涓嶏紒鑳斤紒鑾峰彇缁勪欢瀹炰緥 `this` + // // 鍥犱负褰撻挬瀛愭墽琛屽墠锛岀粍浠跺疄渚嬭繕娌¤鍒涘缓 + // }, + // beforeRouteUpdate(to, from, next) { + // console.log(to, from) + // if (to.name === 'ForInspectionDetail') this.showDetail = true + // this.$nextTick(() => { + // console.log(1) + // this.showDetail = true + // }) + // next() + // // 鍦ㄥ綋鍓嶈矾鐢辨敼鍙橈紝浣嗘槸璇ョ粍浠惰澶嶇敤鏃惰皟鐢� + // // 涓句緥鏉ヨ锛屽浜庝竴涓甫鏈夊姩鎬佸弬鏁扮殑璺緞 /foo/:id锛屽湪 /foo/1 鍜� /foo/2 涔嬮棿璺宠浆鐨勬椂鍊欙紝 + // // 鐢变簬浼氭覆鏌撳悓鏍风殑 Foo 缁勪欢锛屽洜姝ょ粍浠跺疄渚嬩細琚鐢ㄣ�傝�岃繖涓挬瀛愬氨浼氬湪杩欎釜鎯呭喌涓嬭璋冪敤銆� + // // 鍙互璁块棶缁勪欢瀹炰緥 `this` + // }, + created() { + this.getInspectionTableData() + }, + updated() { + if (this.$route.name === 'ForInspectionDetail') this.showDetail = true + }, + methods: { + async getInspectionTableData() { + const res = await getInspectionList({ pageSize: this.currentPage, countSize: this.pageSize }) + // this.inspectionTable = data + console.log(res) + }, + goToForInspectionDetail() { + this.$router.push('/rawMaterials/reportForInspection/forInspectionDetail') + }, + handleClick(row) { + console.log(row) + }, + // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉) + this.currentPage = 1 + this.pageSize = val + }, + // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`) + this.currentPage = val + } + } + } + </script> + + <style lang="scss" scoped> + .checkType{ + .check-box{ + .el-radio-group{ + display: flex; + justify-content: space-around; + .el-radio{ + // display: flex; + // align-items: center; + &.is-checked{ + background: #ecf5ff; + border-color: #b3d8ff; + ::v-deep .el-radio__label{ + color: #333 !important; + + } + } + height: auto; + font-size: 22px !important; + padding: 20px 40px !important; + ::v-deep .el-radio__label{ + font-size: 22px !important; + padding-left: 0px !important; + } + ::v-deep .el-radio__input{ + display: none !important; + } + } + } + } + } + .content-main{ + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + } + .top-bar{ + margin: -25px -15px; + background: #fff; + display: flex; + justify-content: space-between; + padding: 5px 24px 0px 24px; + } + .input-form{ + width: 500px; + } + .retrieval{ + float: right; + font-size: 14px; + color: rgb(0, 120, 255); + line-height: 40px; + } + .rightBtn { + display: flex; + justify-content: flex-end; + } + + .getDataBtn, .createBtn { + margin-left: 10px; /* Optional: Add some space between the buttons */ + } + .library-table{ + background-color: #fff; + flex: 1; + max-width: 100%; + margin-left: -15px; + margin-right: -15px; + margin-top: 50px; + display: flex; + flex-direction: column; + .table-header{ + padding: 20px; + display: flex; + justify-content: space-between; + .el-form-item{ + margin-bottom: 30px !important; + } + } + .table-box{ + padding: 0px 20px; + margin-top: 20px; + flex: 1; + background: #fff; + // padding: 20px 20px 10px 20px; + display: flex; + flex-direction: column; + .el-table { + flex: 1; + } + >div:nth-child(2){ + display: flex; + justify-content: end; + margin: 20px 0; + margin-top: 30px; + } + } + } +.infoForm{ + margin-top: 30px; + margin-left: 50px; + .el-row{ + margin-bottom: 10px; + } +} + </style> + \ No newline at end of file diff --git a/src/views/experiment/planAssignments/index.vue b/src/views/experiment/planAssignments/index.vue index 5f0f590..cffcc61 100644 --- a/src/views/experiment/planAssignments/index.vue +++ b/src/views/experiment/planAssignments/index.vue @@ -1,13 +1,259 @@ <template> - <div>妫�楠岃鍒掑垎閰�</div> + <div class="content-main"> + <div class="top-bar"> + <el-form ref="form" :inline="true" :model="searchData"> + <el-form-item label="璁惧鍚嶇О:" class="sermargin"> + <el-select v-model="searchData.devicename" placeholder="鍏ㄩ儴" style="width: 100px;"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="妫�楠屾椂闂�:" class="sermargin"> + <el-date-picker + v-model="searchData.time" + type="daterange" + range-separator="~" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="妫�楠屼汉:" style="margin-right: 20px;"> + <el-select v-model="searchData.person" placeholder="鍏ㄩ儴" style="width: 80px;margin-right: 100px;"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" plain style="margin-right: 10px;">閲嶇疆</el-button> + <el-button type="primary">鏌ヨ</el-button> + </el-form-item> + </el-form> + </div> + <div class="table-box"> + <div class="formwrapper"> + <el-table + ref="planTable" + :max-height="800" + :cell-style="{textAlign: 'center'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :data="planTable" + style="width: 100%" + > + <el-table-column + type="index" + label="搴忓彿" + min-width="10%" + /> + <el-table-column + prop="device" + label="妫�楠岃澶�" + min-width="8%" + /> + <el-table-column + prop="samplename" + label="鏍峰搧鍚嶇О" + min-width="8%" + /> + <el-table-column + prop="sampleid" + label="鏍峰搧缂栧彿" + min-width="10%" + /> + <el-table-column + prop="modelandspecification" + label="瑙勬牸鍨嬪彿" + min-width="12%" + /> + <el-table-column + prop="unit" + label="鍗曚綅" + min-width="5%" + /> + <el-table-column + prop="amount" + label="鏁伴噺" + min-width="5%" + /> + <el-table-column + prop="checkproject" + label="妫�楠岄」鐩�" + min-width="12%" + /> + <el-table-column + prop="checker" + label="妫�楠屼汉" + min-width="6%" + /> + <el-table-column + prop="duration" + label="璁″垝宸ユ湡/h" + min-width="8%" + /> + <el-table-column + prop="progress" + label="妫�楠岃繘搴�" + min-width="12%"> + <template slot-scope="scope"> + <div v-if="scope.row.progress === 100" style="display: flex;"> + <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" status="success" style="width: 70%;"></el-progress> + <span style="color: rgb(103, 194, 58);">宸插畬鎴�</span> + </div> + <div v-if="scope.row.progress <100 && scope.row.progress >0" style="display: flex;"> + <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" status="warning" style="width: 70%;"></el-progress> + <span style="color: rgb(230, 162, 60);">妫�楠屼腑</span> + </div> + <div v-if="scope.row.progress === 0" style="display: flex;"> + <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" style="width: 70%;"></el-progress> + <span style="color: gray">鏈垎閰�</span> + </div> + <div v-else> + </div> + </template> + </el-table-column> + <el-table-column + prop="starttime" + label="璁″垝寮�濮嬫椂闂�" + min-width="10%" + /> + <el-table-column + prop="finishtime" + label="璁″垝缁撴潫鏃堕棿" + min-width="10%" + /> + <el-table-column + label="鎿嶄綔" + min-width="8%" + > + <template slot-scope="scope"> + <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + </div> </template> <script> export default { - -} + data() { + return { + searchData: { + devicename: "", + time: "", + person: "", + }, + options: [ + { + value: "閫夐」1", + label: "閫夐」1", + }, + { + value: "閫夐」2", + label: "閫夐」2", + disabled: true, + }, + ], + planTable: [{ + device: '鎷夊姏鏈�', + samplename: '闀�閿岄挗缁炵嚎', + sampleid: 'SN1027401-12937', + modelandspecification: 'JLHA/G1A-185/30-14/7', + unit: 'm', + amount: '200', + checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級', + checker: '榛勫皬鏄�', + duration: '2', + progress: 100, + starttime: '2023-08-04 8:00', + finishtime: '2023-08-04 10:00', + },{ + device: '鎷夊姏鏈�', + samplename: '闀�閿岄挗缁炵嚎', + sampleid: 'SN1027401-12937', + modelandspecification: 'JLHA/G1A-185/30-14/7', + unit: 'm', + amount: '200', + checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級', + checker: '榛勫皬鏄�', + duration: '2', + progress: 60, + starttime: '2023-08-04 8:00', + finishtime: '2023-08-04 10:00', + },{ + device: '鎷夊姏鏈�', + samplename: '闀�閿岄挗缁炵嚎', + sampleid: 'SN1027401-12937', + modelandspecification: 'JLHA/G1A-185/30-14/7', + unit: 'm', + amount: '200', + checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級', + checker: '榛勫皬鏄�', + duration: '2', + progress: 30, + starttime: '2023-08-04 8:00', + finishtime: '2023-08-04 10:00', + },{ + device: '鎷夊姏鏈�', + samplename: '闀�閿岄挗缁炵嚎', + sampleid: 'SN1027401-12937', + modelandspecification: 'JLHA/G1A-185/30-14/7', + unit: 'm', + amount: '200', + checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級', + checker: '榛勫皬鏄�', + duration: '2', + progress: 0, + starttime: '2023-08-04 8:00', + finishtime: '2023-08-04 10:00', + }] + }; + }, +}; </script> <style lang="scss" scoped> - +.content-main { + height: 100vh; + display: flex; + flex-direction: column; +} +.top-bar { + margin: -25px -15px; + background: #fff; + display: flex; + justify-content: space-between; + padding: 5px 24px 0px 24px; + .sermargin { + margin-right: 60px; + } +} +.table-box{ + background-color: #fff; + margin: 0px -15px; + margin-top: 35px; + display: flex; + flex-direction: column; + height: 78vh; + .formwrapper{ + padding: 0px 20px; + margin-top: 0px; + flex: 1; + background: #fff; + /* padding: 20px 20px 10px 20px; */ + display: flex; + flex-direction: column; + .el-table { + flex: 1; + } + } +} </style> diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue index e0999c0..9d65ee3 100644 --- a/src/views/inspectionManagement/commissionInspection/addCommision.vue +++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue @@ -1,24 +1,26 @@ <template> <div class="content-main"> <div class="firstBox"> - <span>妫�娴嬩俊鎭�</span> - <div tableBox> - <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button> + <div class="title">妫�娴嬩俊鎭�</div> + <div class="tableBox"> + <div class="tableBox-header"> + <el-button class="split" type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button> <el-input v-model="searchData" - class="input-form" + class="input-form split" placeholder="鎵弿浜岀淮鐮佸綍鍏ユ牱鍝�..." prefix-icon="el-icon-search" style="width: 200px;" > </el-input> <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">閲嶇疆</el-button> + </div> <el-table - ref="commisionTable" + ref="detectionInfo" :max-height="800" :cell-style="{textAlign: 'center'}" :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" - :data="commisionTable" + :data="detectionInfo" style="width: 100%" > <el-table-column @@ -27,24 +29,14 @@ min-width="10%" /> <el-table-column - prop="commisioncode" - label="濮旀墭缂栧彿" - min-width="8%" - /> - <el-table-column - prop="department" - label="濮旀墭鍗曚綅" - min-width="10%" - /> - <el-table-column - prop="samplecode" + prop="sampleid" label="鏍峰搧缂栧彿" min-width="8%" /> <el-table-column prop="samplename" label="鏍峰搧鍚嶇О" - min-width="8%" + min-width="10%" /> <el-table-column prop="modelandspecification" @@ -52,28 +44,34 @@ min-width="10%" /> <el-table-column - prop="arrivetime" - label="閫佽揪鏃堕棿" + prop="unit" + label="鍗曚綅" min-width="8%" /> <el-table-column - prop="deadline" - label="瀹屾垚鏈熼檺" + prop="amount" + label="鏁伴噺" min-width="8%" /> <el-table-column - prop="person" - label="濮旀墭缂栧埗浜�" + prop="addway" + label="娣诲姞鏂瑰紡" + min-width="8%"> + <template slot-scope="scope"> + <el-tag + :type="scope.row.addway === 0 ? 'success' : 'primary'" + disable-transitions + >{{ scope.row.addway === 0 ? '鎵弿' : '褰曞叆' }}</el-tag> + </template> + </el-table-column> + <el-table-column + prop="experiment" + label="璇曢獙" min-width="8%" /> <el-table-column - prop="checkdate" - label="妫�楠屾棩鏈�" - min-width="8%" - /> - <el-table-column - prop="state" - label="鐘舵��" + prop="other" + label="澶囨敞" min-width="8%" /> <el-table-column @@ -81,6 +79,7 @@ min-width="8%" > <template slot-scope="scope"> + <el-button type="text" size="small">淇敼</el-button> <el-button type="text" size="small" @click="handleClick(scope.row)">鍒犻櫎</el-button> </template> </el-table-column> @@ -88,6 +87,7 @@ <!-- 鍒嗛〉鍣� --> <div> <el-pagination + class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" @@ -106,43 +106,43 @@ <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> </el-col> </el-row> - <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="left" label-width="100px" size="mini" > + <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="right" label-width="100px" size="mini" > <div class="formwrapper"> - <el-row :gutter="50"> - <el-col :span="12"> + <el-row :gutter="200"> + <el-col :span="5"> <el-form-item label="濮旀墭缂栧彿锛�"> - <el-input style="width: 100px;" v-model="infoForm.commisioncode" placeholder="璇疯緭鍏ヨ鍗曞彿" readonly autocomplete="off" /> + <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" autocomplete="off" /> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="5"> <el-form-item label="濮旀墭鍗曚綅锛�"> - <el-select style="width: 180px;" v-model="infoForm.department" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> + <el-select style="width: 160px;" v-model="infoForm.department" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option value="閫夐」1"></el-option> <el-option value="閫夐」2"></el-option> </el-select> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="5"> <el-form-item label="鑱旂郴浜猴細"> - <el-select style="width: 180px;" v-model="infoForm.contacter" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> + <el-select style="width: 160px;" v-model="infoForm.contacter" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option value="閫夐」1"></el-option> <el-option value="閫夐」2"></el-option> </el-select> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="5"> <el-form-item label="鑱旂郴鐢佃瘽锛�"> - <el-select style="width: 180px;" v-model="infoForm.tel" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> + <el-select style="width: 160px;" v-model="infoForm.tel" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option value="閫夐」1"></el-option> <el-option value="閫夐」2"></el-option> </el-select> </el-form-item> </el-col> </el-row> - <el-row :gutter="450"> + <el-row :gutter="200"> <el-col :span="5"> <el-form-item label="鑱旂郴鍦板潃锛�" > - <el-select style="width: 180px;" v-model="infoForm.address" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> + <el-select style="width: 160px;" v-model="infoForm.address" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option value="閫夐」1"></el-option> <el-option value="閫夐」2"></el-option> </el-select> @@ -154,7 +154,7 @@ v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" - style="width: 180px;"> + style="width: 160px;"> </el-date-picker> </el-form-item> </el-col> @@ -164,41 +164,44 @@ v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" - style="width: 180px;"> + style="width: 160px;"> </el-date-picker> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="閫佹牱鏂瑰紡锛�"> - <el-select style="width: 180px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> + <el-select style="width: 160px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> <el-option value="閫夐」1"></el-option> <el-option value="閫夐」2"></el-option> </el-select> </el-form-item> </el-col> </el-row> - <el-row :gutter="450"> + <el-row :gutter="200"> <el-col :span="5"> <el-form-item label="閫佹牱浜猴細" > - <el-input style="width: 180px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" /> + <el-input style="width: 160px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="閫佹牱浜虹數璇濓細" > - <el-input style="width: 180px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�" autocomplete="off" /> + <el-input style="width: 160px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="鎶ュ憡鏁帮細"> - <el-input style="width: 180px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" /> + <el-input style="width: 160px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="濮旀墭澶囨敞锛�"> - <el-input style="width: 180px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" /> + <el-input style="width: 160px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" /> </el-form-item> </el-col> </el-row> + </div> + <div class="submitBtn"> + <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button> </div> </el-form> </div> @@ -210,9 +213,10 @@ export default { data() { return { + currentPage: 0, searchData: '', - infoForm: [{ - commisioncode: '', + infoForm: { + commisioncode: 'ST9162324', department: '', contacter: '', tel: '', @@ -224,31 +228,78 @@ sendertel: '', num: '', other: '' + }, + detectionInfo: [{ + sampleid: 'GW31478631', + samplename: '缁濈紭鏉�', + modelandspecification: 'JLHA/G1A-185/30-26/7', + unit: '鏍�', + amount: '40', + addway: 0, + experiment: '浜ゆ祦鑰愬帇璇曢獙', + other: '123', + opertion: '', }] } }, methods: { - handleSelectionChange(val) { - console.log(val) - this.radioSelected = val.number // 閫変腑琛岀殑number - this.multipleSelection = val // 閫変腑鐨勪竴琛屾暟鎹� - }, handleSizeChange(pageSize) { this.pageParams.pageSize = pageSize }, handleCurrentChange(pageNo) { this.pageParams.pageNo = pageNo - }, - headerBg({ row, rowIndex }) { - console.log('rowIndex', rowIndex) - if (rowIndex === 0) { - return 'headerBgClass' - } } } } </script> <style lang="scss" scoped> - +.firstBox{ + .title{ + padding:0px 10px 10px 10px; + } + .tableBox{ + background-color: #fff; + padding: 0px 20px; + margin: 0px -15px; + flex: 1; + background: #fff; + /* padding: 20px 20px 10px 20px; */ + display: flex; + flex-direction: column; + .tableBox-header{ + padding: 20px 0px; + .split{ + margin-right: 15px; + } + } + .el-table { + flex: 1; + } + >div:nth-child(3){ + display: flex; + justify-content: end; + margin: 10px 0; + } + } +} +.secondBox{ + margin: 0px -15px; + .header{ + display: flex; + justify-content: space-between; + padding: 10px 20px; + margin-top: 10px; + } + .submitBtn{ + display: flex; + justify-content: end; + margin-right: 156px; + margin-top: 20px; + } +} +.infoForm{ + background-color: #fff; + padding: 20px 50px; +} </style> diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue index f34234e..be593cd 100644 --- a/src/views/inspectionManagement/commissionInspection/index.vue +++ b/src/views/inspectionManagement/commissionInspection/index.vue @@ -62,60 +62,72 @@ style="width: 100%" > <el-table-column + type="selection" + min-width="10%" + /> + <el-table-column type="index" label="搴忓彿" min-width="10%" /> <el-table-column - prop="commisioncode" + prop="entrust_coding" label="濮旀墭缂栧彿" min-width="8%" /> <el-table-column - prop="department" + prop="entrusted" label="濮旀墭鍗曚綅" - min-width="10%" + min-width="12%" /> <el-table-column - prop="samplecode" + prop="samples_number" label="鏍峰搧缂栧彿" min-width="8%" /> <el-table-column - prop="samplename" + prop="sample_name" label="鏍峰搧鍚嶇О" min-width="8%" /> <el-table-column - prop="modelandspecification" + prop="specifications_models" label="瑙勬牸鍨嬪彿" - min-width="10%" + min-width="12%" /> <el-table-column - prop="arrivetime" + prop="dateSurvey" label="閫佽揪鏃堕棿" min-width="8%" /> <el-table-column - prop="deadline" + prop="completionDeadline" label="瀹屾垚鏈熼檺" min-width="8%" /> <el-table-column - prop="person" + prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> <el-table-column - prop="checkdate" + prop="inspectionTime" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column - prop="state" + prop="inspection_status" label="鐘舵��" - min-width="8%" - /> + min-width="8%"> + <template slot-scope="scope"> + <div v-if="scope.row.inspection_status === 1"> + <span style="color: green;">宸叉娴�</span> + </div> + <div v-else> + <span style="color: red;">寰呮娴�</span> + </div> + </template> + </el-table-column> <el-table-column label="鎿嶄綔" min-width="8%" @@ -131,10 +143,10 @@ @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" - :page-sizes="[100, 200, 300, 400]" - :page-size="100" + :page-sizes="[5, 10, 20]" + :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="400"> + :total="total"> </el-pagination> </div> </div> @@ -148,6 +160,7 @@ </template> <script> +import { getCommisionList } from '@/api/inspection/commisioninspection' export default { data() { return { @@ -169,42 +182,26 @@ }], radioValue: '', commisionTable: [{ - commisioncode: 'GW31478631', - department: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - samplecode: 'BP214274', - samplename: '缁濈紭鏉�', - modelandspecification: 'JLHA/G1A-185/30-26/7', - arrivetime: '2023-08-01', - deadline: '2023-08-05', - person: '榛勫皬鏄�', - checkdate: '2023-08-02', - state: '宸叉娴�' - }, { - commisioncode: 'GW31478631', - department: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - samplecode: 'BP214274', - samplename: '缁濈紭鏉�', - modelandspecification: 'JLHA/G1A-185/30-26/7', - arrivetime: '2023-08-01', - deadline: '2023-08-05', - person: '榛勫皬鏄�', - checkdate: '2023-08-02', - state: '宸叉娴�' - }, { - commisioncode: 'GW31478631', - department: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - samplecode: 'BP214274', - samplename: '缁濈紭鏉�', - modelandspecification: 'JLHA/G1A-185/30-26/7', - arrivetime: '2023-08-01', - deadline: '2023-08-05', - person: '榛勫皬zhi', - checkdate: '2023-08-02', - state: '宸叉娴�' + specifications_models: "GGXH-AAAAA", + inspectionTime: "2023-08-03", + id: 2, + samples_number: 0, + dateSurvey: "2023-08-03", + entrusted: "闃块噷宸村反", + completionDeadline: "2023-08-03", + contacts: "灏忛粦", + entrust_coding: "SL20230803000003", + sample_name: "鍙戝姩鏈�", + inspection_status: 1 }], - currentPage: 0, + currentPage: 1, + pageSize: 5, + total: 100, showDetail: false } + }, + created() { + this.getCommisionList() }, updated() { if (this.$router.currentRoute.name === 'AddCommision') { @@ -213,6 +210,12 @@ } }, methods: { + async getCommisionList(){ + const res = await getCommisionList({pageNo:this.currentPage , pageSize:this.pageSize}) + this.commisionTable = res.data.row + // this.total = res.data.row.length + console.log(this.commisionTable) + }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { console.log(`姣忛〉 ${val} 鏉) @@ -223,6 +226,7 @@ handleCurrentChange(val) { console.log(`褰撳墠椤�: ${val}`) this.currentPage = val + this.commisionTable = getCommisionList({pageNo:this.currentPage , pageSize:this.pageSize}) }, goToaddCommision() { this.$router.push('/inspectionManagement/commissionInspection/addCommision') -- Gitblit v1.9.3