From dfce0fb8a38424408ef577984cc590c149b131b1 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期四, 24 八月 2023 16:50:30 +0800 Subject: [PATCH] 修改委托 --- src/api/inspection/commisioninspection.js | 9 src/main.js | 2 package.json | 1 src/router/index.js | 17 src/views/inspectionManagement/commissionInspection/addCommision.vue | 1003 +++++++++++++++++++++++++--------------------------- src/views/inspectionManagement/commissionInspection/index.vue | 78 +++ 6 files changed, 564 insertions(+), 546 deletions(-) diff --git a/package.json b/package.json index 88ea6d3..00e6b41 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "path-to-regexp": "2.4.0", "postcss-pxtorem": "^5.1.1", "vue": "2.6.10", - "vue-qr": "^4.0.9", "vue-router": "3.0.6", "vuex": "3.1.0" }, diff --git a/src/api/inspection/commisioninspection.js b/src/api/inspection/commisioninspection.js index 7a1eb1d..982a2f0 100644 --- a/src/api/inspection/commisioninspection.js +++ b/src/api/inspection/commisioninspection.js @@ -55,4 +55,13 @@ url: '/link-basic/selectViewUUID', method: 'get' }) +} + + +export function isIfViewUUID(params){ + return request({ + url: '/link-basic/isIfViewUUID', + method: 'get', + params + }) } \ No newline at end of file diff --git a/src/main.js b/src/main.js index beb2705..4390dd9 100644 --- a/src/main.js +++ b/src/main.js @@ -41,6 +41,8 @@ return JSON.parse(JSON.stringify(val)) } +Vue.prototype.vueIp = "http://localhost:8080/" + // set ElementUI lang to EN Vue.use(ElementUI, { locale }) // 濡傛灉鎯宠涓枃鐗� element-ui锛屾寜濡備笅鏂瑰紡澹版槑 diff --git a/src/router/index.js b/src/router/index.js index 524e084..c1e514e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -53,6 +53,11 @@ meta: { title: '涓婚〉', icon: 'el-icon-s-home' } }] }, + { + path: '/addCommision/:viewId', + hidden: true, + component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'), + }, { path: '/standardLibrary', component: Layout, @@ -164,16 +169,7 @@ path: 'commissionInspection', name: 'CommissionInspection', component: () => import('@/views/inspectionManagement/commissionInspection/index'), - meta: { title: '濮旀墭妫�楠�', icon: 'table' }, - children: [ - { - path: 'addCommision/:viewId', - name: 'AddCommision', - hidden: true, - component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'), - meta: { title: '妫�娴嬩俊鎭�', icon: 'table' } - } - ] + meta: { title: '濮旀墭妫�楠�', icon: 'table' } }, { path: 'reportForInspection', @@ -478,6 +474,7 @@ const createRouter = () => new Router({ // mode: 'history', // require service support scrollBehavior: () => ({ y: 0 }), + mode: 'history', routes: constantRoutes }) diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue index cd441b4..5c44513 100644 --- a/src/views/inspectionManagement/commissionInspection/addCommision.vue +++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue @@ -1,529 +1,488 @@ <template> - <div v-if="!showDetail"> - <div class="content-main"> - <div class="firstBox"> - <div class="title">妫�娴嬩俊鎭�</div> - <div class="tableBox"> - <div class="tableBox-header"> - <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button> - <el-input - v-model="searchData" - 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="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="detectionInfo" - style="width: 100%" - > - <el-table-column - type="index" - label="搴忓彿" - min-width="10%" - /> - <el-table-column - prop="sampleNumber" - label="鏍峰搧缂栧彿" - min-width="8%" - /> - <el-table-column - prop="sampleName" - label="鏍峰搧鍚嶇О" - min-width="10%" - /> - <el-table-column - prop="specificationsModels" - label="瑙勬牸鍨嬪彿" - min-width="10%" - /> - <el-table-column - prop="unit" - label="鍗曚綅" - min-width="8%" - /> - <el-table-column - prop="samplesNumber" - label="鏁伴噺" - min-width="8%" - /> - <el-table-column - prop="addway" - label="娣诲姞鏂瑰紡" - min-width="8%"> - <template slot-scope="scope"> - <div v-if="scope.row.addway === 0"> - <el-tag :type= 'success' disable-transitions>鎵弿</el-tag> - </div> - <div v-if="scope.row.addway === 1"> - <el-tag :type= 'primary' disable-transitions>褰曞叆</el-tag> - </div> - <div v-else></div> - </template> - </el-table-column> - <el-table-column - prop="experiment" - label="璇曢獙" - min-width="8%" - /> - <el-table-column - prop="remarks" - label="澶囨敞" - min-width="8%" - /> - <el-table-column - label="鎿嶄綔" - min-width="8%" - > - <template slot-scope="scope"> - <el-button type="text" size="small">淇敼</el-button> - <el-button type="text" size="small" @click="deleteRow(scope.row)">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - <!-- 鍒嗛〉鍣� --> - <div> - <el-pagination - class="pagination" - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="currentPage" - :page-sizes="[100, 200, 300, 400]" - :page-size="100" - layout="total, sizes, prev, pager, next, jumper" - :total="400"> - </el-pagination> - </div> - </div> - <div class="secondBox"> - <el-row class="header"> - <el-col :span="12">鍩烘湰淇℃伅</el-col> - <el-col :span="12" style="text-align: right;"> - <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> - <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="right" label-width="100px" size="mini" > - <div class="formwrapper"> - <el-row :gutter="200"> - <el-col :span="5"> - <el-form-item label="濮旀墭缂栧彿锛�"> - <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="濮旀墭鍗曚綅锛�"> - <el-input style="width: 160px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="鑱旂郴浜猴細"> - <el-input style="width: 160px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="鑱旂郴鐢佃瘽锛�"> - <el-input style="width: 160px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="200"> - <el-col :span="5"> - <el-form-item label="鑱旂郴鍦板潃锛�" > - <el-input style="width: 160px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="瀹屾垚鏈熼檺锛�"> - <el-date-picker - v-model="infoForm.deadline" - type="date" - placeholder="閫夋嫨鏃ユ湡" - style="width: 160px;"> - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="閫佹牱鏃堕棿锛�"> - <el-date-picker - v-model="infoForm.time" - type="date" - placeholder="閫夋嫨鏃ユ湡" - style="width: 160px;"> - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="閫佹牱鏂瑰紡锛�"> - <el-select style="width: 160px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> - <el-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.value">{{ options.value }}</el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="200"> - <el-col :span="5"> - <el-form-item label="閫佹牱浜猴細" > - <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: 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: 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: 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" @click="submitInspection" style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button> - </div> - </el-form> - </div> - </div> - <div class="checkType"> - <el-dialog - title="娣诲姞鎸囨爣" - :visible.sync="dialogueFormVisible" - width="40%" - > - <el-form :model="addPointerForm" ref="addPointerForm" class="addPointerForm" label-position="right" label-width="100px" size="mini"> - <el-row :gutter="50"> - <el-col :span="10"> - <el-form-item label="鏍峰搧缂栧彿锛�"> - <el-select style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small" placeholder="璇烽�夋嫨鏍峰搧缂栧彿"> - <el-option v-for="options in samplecodeoptions" :value="options.value" :key="options.key" >{{ options.value }}</el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鏍峰搧鍚嶇О锛�"> - <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small" placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"> - <el-option v-for="options in sampleoptions" :value="options.value" :key="options.key">{{ options.value }}</el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="50"> - <el-col :span="10"> - <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" size="small" placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"> - <el-option v-for="options in model_spe_options" :value="options.value" :key="options.key">{{ options.value }}</el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鏍峰搧鍗曚綅锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="50"> - <el-col :span="10"> - <el-form-item label="鏍峰搧鏁伴噺锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="澶囨敞锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="50"> - <el-col :span="10"> - <el-form-item label="娣诲姞瀹為獙锛�"> - <el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;"> - <el-checkbox v-for="expers in experList" :label="expers.label" :key="expers.key">{{ expers.label }}</el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="addInspection">娣诲姞</el-button> - <el-button @click="dialogueFormVisible = false">鍙� 娑�</el-button> - </span> - </el-dialog> - </div> - </div> -</div> -<div v-else> - <router-view></router-view> -</div> + <div class="add_commision"> + <div class="content-main"> + <div class="firstBox"> + <div class="title">濮旀墭淇℃伅</div> + <div class="tableBox"> + <div class="tableBox-header"> + <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small" + style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button> + <!-- <el-input v-model="searchData" 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="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="detectionInfo" style="width: 100%"> + <el-table-column type="index" label="搴忓彿" min-width="10%" /> + <el-table-column prop="sampleNumber" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="sampleName" label="鏍峰搧鍚嶇О" min-width="10%" /> + <el-table-column prop="specificationsModels" label="瑙勬牸鍨嬪彿" min-width="10%" /> + <el-table-column prop="unit" label="鍗曚綅" min-width="8%" /> + <el-table-column prop="samplesNumber" label="鏁伴噺" min-width="8%" /> + <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%"> + <template slot-scope="scope"> + <div v-if="scope.row.addway === 0"> + <el-tag :type='success' disable-transitions>鎵弿</el-tag> + </div> + <div v-if="scope.row.addway === 1"> + <el-tag :type='primary' disable-transitions>褰曞叆</el-tag> + </div> + <div v-else></div> + </template> + </el-table-column> + <el-table-column prop="experiment" label="璇曢獙" min-width="8%" /> + <el-table-column prop="remarks" label="澶囨敞" min-width="8%" /> + <el-table-column label="鎿嶄綔" min-width="8%"> + <template slot-scope="scope"> + <el-button type="text" size="small">淇敼</el-button> + <el-button type="text" size="small" @click="deleteRow(scope.row)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <!-- 鍒嗛〉鍣� --> + <div> + <el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="[100, 200, 300, 400]" :page-size="100" + layout="total, sizes, prev, pager, next, jumper" :total="400"> + </el-pagination> + </div> + </div> + <div class="secondBox"> + <el-row class="header"> + <el-col :span="12">鍩烘湰淇℃伅</el-col> + <el-col :span="12" style="text-align: right;"> + <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> + <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="right" label-width="100px" + size="mini"> + <div class="formwrapper"> + <el-row :gutter="200"> + <el-col :span="5"> + <el-form-item label="濮旀墭缂栧彿锛�"> + <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="濮旀墭鍗曚綅锛�"> + <el-input style="width: 160px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鑱旂郴浜猴細"> + <el-input style="width: 160px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鑱旂郴鐢佃瘽锛�"> + <el-input style="width: 160px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="200"> + <el-col :span="5"> + <el-form-item label="鑱旂郴鍦板潃锛�"> + <el-input style="width: 160px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="瀹屾垚鏈熼檺锛�"> + <el-date-picker v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 160px;"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="閫佹牱鏃堕棿锛�"> + <el-date-picker v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 160px;"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="閫佹牱鏂瑰紡锛�"> + <el-select style="width: 160px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> + <el-option v-for="options in sampleDeliveryMode" :key="options.key" + :value="options.value">{{ options.value }}</el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="200"> + <el-col :span="5"> + <el-form-item label="閫佹牱浜猴細"> + <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: 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: 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: 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" @click="submitInspection" + style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button> + </div> + </el-form> + </div> + </div> + <div class="checkType"> + <el-dialog title="娣诲姞鎸囨爣" :visible.sync="dialogueFormVisible" width="40%"> + <el-form :model="addPointerForm" ref="addPointerForm" class="addPointerForm" label-position="right" + label-width="100px" size="mini"> + <el-row :gutter="50"> + <el-col :span="10"> + <el-form-item label="鏍峰搧缂栧彿锛�"> + <el-select style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small" + placeholder="璇烽�夋嫨鏍峰搧缂栧彿"> + <el-option v-for="options in samplecodeoptions" :value="options.value" + :key="options.key">{{ options.value }}</el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鏍峰搧鍚嶇О锛�"> + <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small" + placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"> + <el-option v-for="options in sampleoptions" :value="options.value" + :key="options.key">{{ options.value }}</el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="50"> + <el-col :span="10"> + <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" size="small" + placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"> + <el-option v-for="options in model_spe_options" :value="options.value" + :key="options.key">{{ options.value }}</el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鏍峰搧鍗曚綅锛�"> + <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" + autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="50"> + <el-col :span="10"> + <el-form-item label="鏍峰搧鏁伴噺锛�"> + <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="澶囨敞锛�"> + <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" + autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="50"> + <el-col :span="10"> + <el-form-item label="娣诲姞瀹為獙锛�"> + <el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;"> + <el-checkbox v-for="expers in experList" :label="expers.label" + :key="expers.key">{{ expers.label }}</el-checkbox> + </el-checkbox-group> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="addInspection">娣诲姞</el-button> + <el-button @click="dialogueFormVisible = false">鍙� 娑�</el-button> + </span> + </el-dialog> + </div> + </div> + </div> </template> <script> -import {getSampleName, getModelSpecification, getlink, addInspection} from '@/api/inspection/commisioninspection' -export default { - data() { - return { - currentPage: 0, - searchData: '', - infoForm: { - commisioncode: '', - department: '', - contacter: '', - tel: '', - address: '', - deadline: '', - time: '', - way: '', - sender: '', - sendertel: '', - num: '', - other: '' - }, - detectionInfo: [], - addPointerForm:{ - sampleNumber: '', - sampleName: '', - specificationsModels: '', - unit: '', - samplesNumber: '', - remarks: '', - experiment: [], - addway: '' - }, - experList:[{ - key: '1', - label: '澶栬妫�鏌�' - },{ - key: '2', - label: '鍔ㄤ綔鐢靛帇璇曢獙' - },{ - key: '3', - label: '鐢甸樆绠℃硠婕忕數娴佽瘯楠�' - },{ - key: '4', - label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙' - }], - sampleoptions:[{ - key:'1', - value: '閫夐」1' - },{ - key:'2', - value: '閫夐」2' - }], - samplecodeoptions:[{ - key:'1', - value: '' - }], - model_spe_options:[{ - key:'1', - value: '閫夐」1' - },{ - key: '2', - value: '閫夐」2' - }], - sampleDeliveryMode:[{ - key: '1', - value: '閫佹牱' - },{ - key: '2', - value: '涓婇棬' - }], - dialogueFormVisible: false, - showDetail: false - } - }, - created(){ - this.getlink() - }, - mounted(){ - this.getSampleName() - this.getModelSpecification() - }, - methods: { - // 鑾峰彇閾炬帴link - getlink(){ - getlink().then((result)=>{ - this.$store.commit('settings/SAVE_LINK',result.data) - console.log(this.$store.state.settings.link) - }) - }, - async getSampleName(){ - const res = await getSampleName() - // console.log('res',res.data) - this.sampleoptions = res.data.map((item)=>{ - return{ - key:item.id.toString(), - value:item.name - } - }) - this.samplecodeoptions = res.data.map((item)=>{ - return{ - key:item.id.toString(), - value:item.code - } - }) - }, - async getModelSpecification(){ - const res = await getModelSpecification({materialId: '1'}) - // console.log(res) - this.model_spe_options = res.data.map((item)=>{ - return{ - key:item.specificationsId, - value:item.specificationsName - } - }) - }, - addInspection(){ - let exper = this.addPointerForm.experiment[0] - this.addPointerForm.addway = 1 - for(let i=1;i<this.addPointerForm.experiment.length;i++){ - exper += ',' + this.addPointerForm.experiment[i] - } - // console.log(exper) - this.addPointerForm.experiment = exper - let tmp = this.addPointerForm - this.detectionInfo.push(tmp) - this.dialogueFormVisible = false - this.addPointerForm ={ - sampleNumber: '', - sampleName: '', - specificationsModels: '', - unit: '', - samplesNumber: '', - remarks: '', - experiment: [], - addway: '' - } - }, - async submitInspection(){ - let sampledeliveryway - if(this.infoForm.way === '閫佹牱'){ - sampledeliveryway = 1 - }else{ - sampledeliveryway = 2 - } - const res = await addInspection({completionDeadline: this.infoForm.deadline, - contactAddress: this.infoForm.address, - contactNumber: this.infoForm.tel, - contacts: this.infoForm.contacter, - entrustRemarks: this.infoForm.other, - entrusted: this.infoForm.department, - inspectionTime: this.infoForm.time, - linkDetectionList: this.detectionInfo, - reportNumber: parseInt(this.infoForm.num), - sampleDeliveryMode: sampledeliveryway, - sampleDeliveryPhone: this.infoForm.sendertel, - sampleSender: this.infoForm.sender}) -// const res = await addInspection({ -// completionDeadline: "2023-08-03", -// contactAddress: "姹熻嫃鍗楅��", -// contactNumber: "12321423432", -// contacts: "灏忛粦", -// entrustRemarks: "濮旀墭澶囨敞YPBH123456789YPBH123456789YPBH123456789", -// entrusted: "闃块噷宸村反", -// inspectionTime: "2023-08-03", -// linkDetectionList: [ -// { -// "experiment": "鍋氭ⅵ", -// "remarks": "閫氳繃浜�", -// "sampleName": "鍙戝姩鏈�", -// "sampleNumber": "YPBH123456789", -// "samplesNumber": 20, -// "specificationsModels": "GGXH-AAAAA", -// "unit": "鐧惧害" -// } -// ], -// reportNumber: 23, -// sampleDeliveryMode: 1, -// sampleDeliveryPhone: "123456789676", -// sampleSender: "灏忕櫧" -// }) - // console.log(res) - this.infoForm.commisioncode = res.data - if(res.data){ - this.$message({ - message: '鎭枩浣�!', - type: 'success' - }) - // 璺宠浆椤甸潰 - this.$router.push('/inspectionManagement/commissionInspection') - this.showDetail = true - }else{ - this.$message.error(res.message) - } - }, - handleSizeChange(pageSize) { - this.pageParams.pageSize = pageSize - }, - handleCurrentChange(pageNo) { - this.pageParams.pageNo = pageNo - }, - deleteRow(row){ - console.log(row) - row = null - } - } -} + import { + getSampleName, + getModelSpecification, + getlink, + addInspection, + isIfViewUUID + } from '@/api/inspection/commisioninspection' + import { + time + } from 'echarts'; + export default { + data() { + return { + currentPage: 0, + searchData: '', + infoForm: { + commisioncode: '', + department: '', + contacter: '', + tel: '', + address: '', + deadline: '', + time: '', + way: '', + sender: '', + sendertel: '', + num: '', + other: '' + }, + detectionInfo: [], + addPointerForm: { + sampleNumber: '', + sampleName: '', + specificationsModels: '', + unit: '', + samplesNumber: '', + remarks: '', + experiment: [], + addway: '' + }, + experList: [{ + key: '1', + label: '澶栬妫�鏌�' + }, { + key: '2', + label: '鍔ㄤ綔鐢靛帇璇曢獙' + }, { + key: '3', + label: '鐢甸樆绠℃硠婕忕數娴佽瘯楠�' + }, { + key: '4', + label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙' + }], + sampleoptions: [{ + key: '1', + value: '閫夐」1' + }, { + key: '2', + value: '閫夐」2' + }], + samplecodeoptions: [{ + key: '1', + value: '' + }], + model_spe_options: [{ + key: '1', + value: '閫夐」1' + }, { + key: '2', + value: '閫夐」2' + }], + sampleDeliveryMode: [{ + key: '1', + value: '閫佹牱' + }, { + key: '2', + value: '涓婇棬' + }], + dialogueFormVisible: false + } + }, + created() { + this.getlink(this.$route.params.viewId) + console.log(); + }, + mounted() { + // this.getSampleName() + // this.getModelSpecification() + }, + methods: { + // 鑾峰彇閾炬帴link + getlink(viewId) { + if (viewId == null) { + this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴') + this.$router.push('/404') + return + } + isIfViewUUID({ + viewId + }).then(res => { + if (!res.data) { + this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴') + this.$router.push('/404') + } + }) + }, + async getSampleName() { + const res = await getSampleName() + this.sampleoptions = res.data.map((item) => { + return { + key: item.id.toString(), + value: item.name + } + }) + this.samplecodeoptions = res.data.map((item) => { + return { + key: item.id.toString(), + value: item.code + } + }) + }, + async getModelSpecification() { + const res = await getModelSpecification({ + materialId: '1' + }) + this.model_spe_options = res.data.map((item) => { + return { + key: item.specificationsId, + value: item.specificationsName + } + }) + }, + addInspection() { + let exper = this.addPointerForm.experiment[0] + this.addPointerForm.addway = 1 + for (let i = 1; i < this.addPointerForm.experiment.length; i++) { + exper += ',' + this.addPointerForm.experiment[i] + } + this.addPointerForm.experiment = exper + let tmp = this.addPointerForm + this.detectionInfo.push(tmp) + this.dialogueFormVisible = false + this.addPointerForm = { + sampleNumber: '', + sampleName: '', + specificationsModels: '', + unit: '', + samplesNumber: '', + remarks: '', + experiment: [], + addway: '' + } + }, + async submitInspection() { + let sampledeliveryway + if (this.infoForm.way === '閫佹牱') { + sampledeliveryway = 1 + } else { + sampledeliveryway = 2 + } + const res = await addInspection({ + completionDeadline: this.infoForm.deadline, + contactAddress: this.infoForm.address, + contactNumber: this.infoForm.tel, + contacts: this.infoForm.contacter, + entrustRemarks: this.infoForm.other, + entrusted: this.infoForm.department, + inspectionTime: this.infoForm.time, + linkDetectionList: this.detectionInfo, + reportNumber: parseInt(this.infoForm.num), + sampleDeliveryMode: sampledeliveryway, + sampleDeliveryPhone: this.infoForm.sendertel, + sampleSender: this.infoForm.sender + }) + this.infoForm.commisioncode = res.data + if (res.data) { + this.$message({ + message: '鎭枩浣�!', + type: 'success' + }) + // 璺宠浆椤甸潰 + this.$router.push('/inspectionManagement/commissionInspection') + } else { + this.$message.error(res.message) + } + }, + handleSizeChange(pageSize) { + this.pageParams.pageSize = pageSize + }, + handleCurrentChange(pageNo) { + this.pageParams.pageNo = pageNo + }, + deleteRow(row) { + console.log(row) + row = null + } + } + } </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> + .add_commision{ + padding: 20px; + } + + .firstBox { + .title { + padding: 15px 10px; + font-size: 18px; + background-color: #0166e2; + color: #fff; + border-radius: 4px; + } + + .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> \ No newline at end of file diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue index a10086e..574abf8 100644 --- a/src/views/inspectionManagement/commissionInspection/index.vue +++ b/src/views/inspectionManagement/commissionInspection/index.vue @@ -24,11 +24,20 @@ </el-form-item> </el-form> <el-form> - <el-popover placement="left" width="130" trigger="click"> + <el-popover placement="left" width="350" trigger="click"> <div class="vue_qr_div"> - <span style="color: #0078ff;">鎵弿浜岀淮鐮�<br />鑾峰彇濮旀墭鍗�</span> - <vue-qr :text="viewId" :size="100" :margin="0" style="margin-top: 10px;"> - </vue-qr> + <el-row> + <el-col> + <el-input v-model="view" readonly size="medium" style="width: 250px;margin-right: 10px;"></el-input> + <el-button size="small" type="primary" v-if="viewId==null" @click="viewDia=true">鐢熸垚</el-button> + <el-button size="small" type="primary" v-else-if="viewId!=null" @click="copy">澶嶅埗</el-button> + </el-col> + </el-row> + <el-row style="margin-top: 10px;"> + <el-col v-if="viewId==null">褰撳墠閾炬帴宸茶繃鏈燂紝璇风偣鍑荤敓鎴愭寜閽噸鏂扮敓鎴�</el-col> + <el-col + v-else-if="viewId!=null">褰撳墠閾炬帴灏嗗湪{{(parseInt(viewTime)/60/60)>1?(parseInt(viewTime)/60/60).toFixed(1)+'灏忔椂':Math.round(parseInt(viewTime)/60)+'鍒嗛挓'}}鍚庤繃鏈�</el-col> + </el-row> </div> <el-button slot="reference" class="rightBtn" type="primary" @click="goToaddCommision">鏂板濮旀墭</el-button> </el-popover> @@ -93,6 +102,30 @@ <div v-else> <router-view /> </div> + <el-dialog title="閾炬帴鏃堕暱璁剧疆" :visible.sync="viewDia" width="30%"> + <div> + <el-row style="line-height: 46px;"> + <el-col :span="6" style="font-size: 14px;text-align: right;">鏃堕暱璁剧疆锛�</el-col> + <el-col :span="14" :offset="1"> + <el-select v-model="viewTime" size="medium"> + <el-option label="1 澶�" :value="1"></el-option> + <el-option label="2 澶�" :value="2"></el-option> + <el-option label="3 澶�" :value="3"></el-option> + <el-option label="4 澶�" :value="4"></el-option> + <el-option label="5 澶�" :value="5"></el-option> + <el-option label="6 澶�" :value="6"></el-option> + <el-option label="1 鍛�" :value="7"></el-option> + </el-select> + </el-col> + </el-row> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="getViewId()">鎻� 浜�</el-button> + <el-button @click="viewDia = false">鍙� 娑�</el-button> + </span> + </el-dialog> + <!-- 闅愯棌鍩熻緭鍏ユ鐢ㄦ潵澶嶅埗 --> + <input id="copyContext" style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;" /> </div> </template> @@ -102,11 +135,7 @@ getViewUUID, selectViewUUID } from '@/api/inspection/commisioninspection' - import vueQr from 'vue-qr' export default { - components: { - vueQr - }, data() { return { form: [], @@ -151,7 +180,10 @@ total: 100, showDetail: false, day: 1, - viewId: '' + view: null, + viewId: null, + viewTime: 1, + viewDia: false } }, created() { @@ -269,13 +301,32 @@ } }, goToaddCommision() { - // this.$router.push('/inspectionManagement/commissionInspection/addCommision') // this.showDetail = true selectViewUUID({ day: this.day }).then(res => { - this.viewId = res.data + this.view = `${this.vueIp}addCommision/${res.data.id}` + this.viewId = res.data.id + this.viewTime = res.data.time }) + }, + getViewId() { + getViewUUID({ + day: this.viewTime == null ? 1 : this.viewTime + }).then(res => { + this.viewId = res.data + this.view = `${this.vueIp}addCommision/${res.data.id}` + this.viewDia = false + this.$message.success('閾炬帴宸茬敓鎴愶紝鐐瑰嚮澶嶅埗鎸夐挳杩涜澶嶅埗') + }) + }, + copy() { + document.getElementById('copyContext').value = this.view + const input = document.querySelector('#copyContext'); + input.select() + if (document.execCommand('copy')) { + this.$message.success('宸插鍒跺埌鍓创鏉�') + } } } } @@ -336,8 +387,9 @@ } } } - - .vue_qr_div{ + + .vue_qr_div { text-align: center; + color: #0166e2; } </style> \ No newline at end of file -- Gitblit v1.9.3