From a970199e2417318743ca3f7852dca896906ac574 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期三, 30 八月 2023 09:09:23 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before --- src/api/inspection/commisioninspection.js | 16 src/views/experiment/inspectionApplication/index.vue | 1981 +++++++++++++++++++++++-------------------------- src/components/experiment/checkTheReport/index.vue | 1 src/views/login/index.vue | 6 src/views/inspectionManagement/reportForInspection/index.vue | 6 src/router/index.js | 141 +- src/views/inspectionManagement/commissionInspection/addCommision.vue | 139 ++- .env.staging | 2 src/views/home/index.vue | 2 .env.production | 2 src/views/laboratory/ledger/index.vue | 9 src/components/experiment/template_testReport/index.vue | 21 src/views/experiment/checkTheReport/index.vue | 34 src/App.vue | 5 src/layout/components/Sidebar/SidebarItem.vue | 4 src/views/inspectionManagement/commissionInspection/index.vue | 17 16 files changed, 1,167 insertions(+), 1,219 deletions(-) diff --git a/.env.production b/.env.production index d5166db..dd72fa5 100644 --- a/.env.production +++ b/.env.production @@ -3,5 +3,5 @@ # base api # VUE_APP_BASE_API = '/prod-api' -VUE_APP_BASE_API = 'http://192.168.110.167:1234/' +VUE_APP_BASE_API = 'http://localhost:1234/' diff --git a/.env.staging b/.env.staging index 65e5ce8..92fbe73 100644 --- a/.env.staging +++ b/.env.staging @@ -5,6 +5,6 @@ # base api # VUE_APP_BASE_API = '/stage-api' -VUE_APP_BASE_API = 'http://192.168.110.167:1234/' +VUE_APP_BASE_API = 'http://localhost:1234/' diff --git a/src/App.vue b/src/App.vue index 230665e..f9aafd2 100644 --- a/src/App.vue +++ b/src/App.vue @@ -6,7 +6,10 @@ <script> export default { - name: 'App' + name: 'App', + mounted() { + document.title = "瑁呭鐢电紗 lims 绯荤粺" + } } </script> diff --git a/src/api/inspection/commisioninspection.js b/src/api/inspection/commisioninspection.js index 275a65b..64b2717 100644 --- a/src/api/inspection/commisioninspection.js +++ b/src/api/inspection/commisioninspection.js @@ -64,4 +64,20 @@ method: 'get', params }) +} + +export function getProductList(params){ + return request({ + url: '/link-basic/chooseProject', + method: 'get', + params + }) +} + +export function getContractsSampleInfo(params){ + return request({ + url: '/link-basic/getContractsSampleInfo', + method: 'get', + params + }) } \ No newline at end of file diff --git a/src/components/experiment/checkTheReport/index.vue b/src/components/experiment/checkTheReport/index.vue index 7d22893..3f4d022 100644 --- a/src/components/experiment/checkTheReport/index.vue +++ b/src/components/experiment/checkTheReport/index.vue @@ -73,6 +73,7 @@ </template> <script> export default({ + name: 'Preview', data() { return { logoSrc : require("@/assets/404_images/logo.png"), diff --git a/src/views/template_testReport/index.vue b/src/components/experiment/template_testReport/index.vue similarity index 98% rename from src/views/template_testReport/index.vue rename to src/components/experiment/template_testReport/index.vue index 575e579..ecc76e1 100644 --- a/src/views/template_testReport/index.vue +++ b/src/components/experiment/template_testReport/index.vue @@ -30,7 +30,7 @@ <div class="name"> <div style="width:140px; text-align-last: justify;"> <div>濮旀墭鍗曚綅</div> - <span style="font-size: 14px;display: block;margin: 10px 50px 0px;">Client</span> + <span style="font-size: 14px;display: block;margin: 10px 45px 0px;">Client</span> </div> <div class="line"> 娴嬭瘯鍚嶇О</div> </div> @@ -469,9 +469,8 @@ <script> export default { - props:{ - - }, + name:'TestReport', + props:["reportData"], data(){ return { resultTable:[ @@ -500,15 +499,13 @@ <style lang="scss" scoped> .content-wrapper{ - background-color: #f0f2f5; - width: 100%; - height: 100vh; - overflow-y: auto; + // background-color: #f0f2f5; + // width: 100%; + // height: 100vh; + // overflow-y: auto; .content-main{ - margin: -50px auto; - width: 50%; - // background-color: #fff; - // background-color: #bfa; + margin: -100px auto; + width: 90%; .cover{ margin: 80px 0px; padding:0px 50px; diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index 498db1c..9c2d33b 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -4,10 +4,6 @@ <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> <el-menu-item v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> - <!-- <el-menu-item :style="{width:'0px',height:'0px'}" v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> --> - <!-- <template slot="title"> - <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> - </template> --> <item :show="onlyOneChild.meta.show" :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> <span v-if="onlyOneChild.meta.title==='涓婚〉'">涓婚〉</span> </el-menu-item> diff --git a/src/router/index.js b/src/router/index.js index 3f4bca3..da562bd 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -472,7 +472,13 @@ name: 'BasicDataMessage', component: () => import('@/views/basicData/index'), meta: { title: '鍩虹鏁版嵁', icon: 'el-icon-s-tools' } - } + }, + { + path: 'myBusiness', + name: 'MyBusiness', + component: () => import('@/views/personal/myBusiness/index'), + meta: { title: '鎴戠殑浼佷笟', icon: 'tree', show: false } + } ] }, { path: '*', redirect: '/404', hidden: true } @@ -516,10 +522,10 @@ let result = []; let obj = {}; for (let i = 0; i < tempArr.length; i++) { - if (!obj[tempArr[i].path]) { - result.push(tempArr[i]); - obj[tempArr[i].path] = true; - }; + if (!obj[tempArr[i].path]) { + result.push(tempArr[i]); + obj[tempArr[i].path] = true; + }; }; return result; }; @@ -527,82 +533,89 @@ function createRouter(Routees) { if (JSON.parse(sessionStorage.getItem("user")) != undefined && JSON.parse(sessionStorage.getItem("user")) != null) { - let sessionLayerId=JSON.parse(sessionStorage.getItem("user")).sessionLayerId - if(sessionLayerId!='f5c8bcb7d5a0fd27e2323280f7e98cad'){ - let role = JSON.parse(sessionStorage.getItem("user")).role - let menuFather = baseRouter - const dataMenuFather = fn3(menuFather) - role.roleMenuList.forEach((r) => { - dataMenuFather.push(Routees.filter(item => { - return item.path === r.menuUrl - })[0]) - }) - let eqChildren = []; - role.roleMenuList.forEach((r) => { + let sessionLayerId = JSON.parse(sessionStorage.getItem("user")).sessionLayerId + if (sessionLayerId != 'f5c8bcb7d5a0fd27e2323280f7e98cad') { + let role = JSON.parse(sessionStorage.getItem("user")).role + let menuFather = baseRouter + const dataMenuFather = fn3(menuFather) + role.roleMenuList.forEach((r) => { + dataMenuFather.push(Routees.filter(item => { + return item.path === r.menuUrl + })[0]) + }) + let eqChildren = []; + role.roleMenuList.forEach((r) => { + dataMenuFather.forEach(m => { + if (r.menuUrl === m.path) { + r.children.forEach(rc => { + m.children.forEach(mc => { + if (mc.meta != undefined) { + eqChildren.push({ "path": mc.path, "meta": JSON.parse(JSON.stringify(mc.meta)) }) + delete mc["meta"] + } + }) + }) + } + }) + }) + let once = [] + role.roleMenuList.forEach((r) => { + r.children.forEach(rc => { + eqChildren.forEach(eq => { + if (eq != undefined) { + if (eq.path == rc.menuUrl.split("/")[1]) { + once.push(eq) + } + } + }) + }) + }) dataMenuFather.forEach(m => { - if (r.menuUrl === m.path) { - r.children.forEach(rc => { - m.children.forEach(mc => { - if (mc.meta != undefined) { - eqChildren.push({ "path": mc.path, "meta": JSON.parse(JSON.stringify(mc.meta)) }) - delete mc["meta"] + let i = 0 + if (m.children != undefined) { + m.children.forEach(mc => { + once.forEach(eq => { + if (eq != undefined) { + if (mc.path == eq.path) { + if (i === 0) { + m.redirect = m.path + "/" + eq.path + } + i++; + mc.meta = eq.meta + } } }) }) } }) - }) - let once = [] - role.roleMenuList.forEach((r) => { - r.children.forEach(rc => { - eqChildren.forEach(eq => { - if (eq != undefined) { - if (eq.path == rc.menuUrl.split("/")[1]) { - once.push(eq) - } - } - }) - }) - }) - dataMenuFather.forEach(m => { - let i = 0 - if (m.children != undefined) { - m.children.forEach(mc => { - once.forEach(eq => { - if (eq != undefined) { - if (mc.path == eq.path) { - if (i === 0) { - m.redirect = m.path + "/" + eq.path - } - i++; - mc.meta = eq.meta - } - } - }) - }) - } - }) - dataMenuFather.push({path: '*', redirect: '/404', hidden: true}) - dataMenuFather.push() - Routees = dataMenuFather - } + dataMenuFather.push({ path: '*', redirect: '/404', hidden: true }) + dataMenuFather.push() + Routees = dataMenuFather + } } else { Routees = baseRouter } return new Router({ - // mode: 'history', // require service support + mode: 'history', // require service support scrollBehavior: () => ({ y: 0 }), routes: Routees }) } -let router = createRouter(getRoutes()) +let router = createRouter(getRoutes()) // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export async function resetRouter() { let newRouter = createRouter(getRoutes()) - router.matcher = newRouter.matcher + router.matcher = newRouter.matcher } -router.beforeEach(async (to, from, next) => { +router.beforeEach((to, from, next) => { + /** + * 濮旀墭鏂板 鏀捐 + */ + if (to.path.indexOf("/addCommision/") === 0) { + next() + return + } // 1. 鍒ゆ柇鏄笉鏄櫥褰曢〉闈� // 鏄櫥褰曢〉闈� if (to.path === '/login') { @@ -611,8 +624,8 @@ // 涓嶆槸鐧诲綍椤甸潰 // 2. 鍒ゆ柇 鏄惁鐧诲綍杩� let token = sessionStorage.getItem('user') - if(token!=null&&token!=undefined){ - await resetRouter() + if (token != null && token != undefined) { + resetRouter() } token ? next() : next('/login') } diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue index dce2174..b4efda6 100644 --- a/src/views/experiment/checkTheReport/index.vue +++ b/src/views/experiment/checkTheReport/index.vue @@ -60,8 +60,8 @@ <el-button type="primary" @click="printFun()">鎵撳嵃</el-button> </span> <div class="printStyle"> - <preview id="printDiv" :reportData="reportData" v-if="reportType===0"></preview> - <div v-else>鎴愬搧妫�娴嬫姤鍛�</div> + <Preview id="printRaw" :reportData="reportData" v-if="reportType===0"></Preview> + <TestReport id="printFinished" :reportData="reportData" v-else></TestReport> </div> </el-dialog> <div class="table-box"> @@ -182,6 +182,7 @@ <script> import { selectAllReport,getReportData } from "@/api/experiment/checkTheReport"; import Preview from "@/components/experiment/checkTheReport/index.vue"; +import TestReport from "@/components/experiment/template_testReport/index.vue" import PrintJS from 'print-js' export default { data() { @@ -194,7 +195,26 @@ application_code: '' }, checkStatus: undefined, - reportTable: [], + reportTable: [ + { + materialCode:'SN23-0517001', + reportCode: 'SN23-0517001', + inspectionCode: 'SN23-0517001', + approver:'榛勫皬鏄�', + status: '', + conclusion: 1, + name: '榛勫皬鏄�' + }, + { + materialCode:'SN23-0517001', + reportCode: 'SN23-0517001', + inspectionCode: 'SN23-0517001', + approver:'榛勫皬鏄�', + status: '', + conclusion: 1, + name: '榛勫皬鏄�' + } + ], page: 1, total: 0, pageSize: 10, @@ -203,12 +223,13 @@ }; }, created() { - this.getData(); + // this.getData(); }, mounted(){ }, components:{ - Preview + Preview, + TestReport }, methods: { async queryReportByRCode(code){ @@ -219,6 +240,7 @@ }, //鏌ョ湅鎶ュ憡鎸夐挳 previewFun(row){ + console.log(row) this.reportType = row.type; this.queryReportByRCode(row.reportCode); }, @@ -226,7 +248,7 @@ printFun(){ this.dialogVisible = false; PrintJS({ - printable: "printDiv", + printable: this.reportType===0 ? "printRaw" : "printFinished", type: "html", // header: "鍘熸潗鏂欐娴嬫姤鍛�", targetStyles: ["*"], diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index 39318da..94664a1 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -1,1071 +1,932 @@ <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 label="鐢宠鍗曞彿:"> - <el-input - v-model="searchData.applicationnumber" - class="input-form" - placeholder="璇疯緭鍏ョ敵璇峰崟鍙�" - style="width: 200px; margin-right: 20px;" - > - <i slot="prefix" class="el-input__icon el-icon-search" /> - </el-input> - </el-form-item> - <el-form-item label="妫�楠岀被鍨�:"> - <el-select v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> - <el-option - v-for="item in typeoptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妫�楠岀粨鏋�:" style="margin-right: 20px;"> - <el-select v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> - <el-option - v-for="item in stateoptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="searchInspections">鏌ヨ</el-button> - <el-button type="primary" plain @click="reset">閲嶇疆</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="icode" - label="鐢宠鍗曞彿" - min-width="100px" - /> - <el-table-column - prop="type" - label="妫�楠岀被鍨�" - min-width="80px"> - <template slot-scope="scope"> - <div v-if="scope.row.type === 0" ><span >鍘熸潗鏂欐楠�</span></div> - <div v-if="scope.row.type === 1" ><span>濮旀墭妫�楠�</span></div> - <div v-if="scope.row.type === 2" ><span>鎴愬搧妫�楠�</span></div> - </template> - </el-table-column> - <el-table-column - prop="formTime" - label="鏉ユ枡鏃ユ湡" - min-width="100px" - /> - <el-table-column - prop="supplier" - label="渚涘簲鍟嗗悕绉�" - min-width="150px" - /> - <el-table-column - prop="mcode" - label="鍘熸潗鏂欑紪鐮�" - min-width="150px" - /> - <el-table-column - prop="name" - label="鍘熸潗鏂欏悕绉�" - min-width="80px" - /> - <el-table-column - prop="specifications" - label="瑙勬牸鍨嬪彿" - min-width="160px" - /> - <el-table-column - prop="unit" - label="鍗曚綅" - min-width="50px" - /> - <el-table-column - prop="num" - label="鏁伴噺" - min-width="50px" - /> - <el-table-column - prop="createTime" - label="鐧昏鏃ユ湡" - min-width="80px" - /> - <el-table-column - prop="userName" - label="鐧昏浜�" - min-width="80px" - /> - <el-table-column - prop="inspection_status" - label="妫�楠岀粨鏋�" - min-width="80px"> - <template slot-scope="scope"> - <el-tag class="tag" :type="scope.row.inspection_status === 0 ? 'danger' : 'success'" - disable-transitions - >{{ scope.row.inspection_status === 0 ? '涓嶅悎鏍�' : '鍚堟牸' }}</el-tag> - </template> - </el-table-column> - <el-table-column - prop="checkdate" - label="妫�楠屾棩鏈�" - min-width="150px" - /> - <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="[ 10, 20, 30,40]" - :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%" - top="10vh" - > - <div class="check-box"> - <el-radio-group v-model="type" @click.native="handleRadioChange"> - <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="0" border>鍘熸潗鏂欐楠�</el-radio> - <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="1" border>濮旀墭妫�楠�</el-radio> - <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="2" border>鎴愬搧妫�楠�</el-radio> - </el-radio-group> - </div> - <div v-if="type === 0"> - <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" size="medium"> - <el-row :gutter="100"> - <el-col :span="10"> - <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.startTime" 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.supplierName" 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.mcode" 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.specifications" 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.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="妫�楠屾椂闂达細"> - <el-date-picker - v-model="infoForm.endTime" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - style="width: 300px;"> - </el-date-picker> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <div v-if="type === 1"> - <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" 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="commisionSelection.entrust_coding" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="濮旀墭鍗曚綅"> - <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" 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="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鏍峰搧鍚嶇О"> - <el-input style="width: 300px" type="text" :value="commisionSelection.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="commisionSelection.specifications" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="閫佽揪鏃堕棿"> - <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" 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="commisionSelection.completionDeadline" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="妫�楠屾棩鏈燂細"> - <el-date-picker - v-model="commisionSelection.checkdate" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - style="width: 300px;"> - </el-date-picker> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <div v-if="type === 2"> - <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" 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" v-model="finishedTable.deliverydate" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="渚涘簲鍟嗗悕绉帮細"> - <el-input style="width: 300px" type="text" v-model="finishedTable.supplier" 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" v-model="finishedTable.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鍘熸潗鏂欏悕绉帮細"> - <el-input style="width: 300px" type="text" v-model="finishedTable.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" v-model="finishedTable.modelandspecification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鍗曚綅锛�"> - <el-input style="width: 300px" type="text" v-model="finishedTable.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" v-model="finishedTable.amount" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="妫�楠屾椂闂达細"> - <el-date-picker - v-model="finishedTable.checkdate" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - style="width: 300px;"> - </el-date-picker> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="checkTypeVisible = false">鍙� 娑�</el-button> - <!-- <el-button type="primary" @click="addInspection">纭� 瀹�</el-button> --> - <el-button type="primary" @click="QUEding">纭� 瀹�</el-button> - </span> - </el-dialog> - </div> - </div> - - <!-- 纭畾璺宠浆鍩烘湰搴撳脊绐� --> - <el-dialog - title="鏍囧噯搴�" - :visible.sync="Standardframe" - width="49%" - > - <el-card> - <template slot-scope="scope" > - <span>鐗堟湰閫夋嫨锛�</span> - <el-select @change="ccc" v-model="selectedValue" size="small" slot="append" style="width: 220px;"> - <el-option v-for="item in BANben" :key="item" :label="item" - :value="item"></el-option> - - </el-select> - </template> - </el-card> - <el-table - :data="tableData" - style="width: 100%; margin-bottom: 20px" - row-key="id" - border - height="calc(80vh - 250px)" - default-expand-all - ref="multipleTable" - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" - > - <el-table-column type="selection" label="搴忓彿"> </el-table-column> - <el-table-column - type="index" - width="50px" - label="搴忓彿" - ></el-table-column> - <el-table-column label="椤圭洰鍚嶇О" sortable> - <template scope="scope"> - <el-tag - ><div - class="firstDiv" - :style="`color: ${ + <div> + <template v-if="!showDetail"> + <div class="content-main"> + <div class="top-bar"> + <el-form ref="form" :inline="true" :model="searchData"> + <el-form-item label="鐢宠鍗曞彿:"> + <el-input v-model="searchData.applicationnumber" class="input-form" placeholder="璇疯緭鍏ョ敵璇峰崟鍙�" + style="width: 200px; margin-right: 20px;"> + <i slot="prefix" class="el-input__icon el-icon-search" /> + </el-input> + </el-form-item> + <el-form-item label="妫�楠岀被鍨�:"> + <el-select v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> + <el-option v-for="item in typeoptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="妫�楠岀粨鏋�:" style="margin-right: 20px;"> + <el-select v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> + <el-option v-for="item in stateoptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="searchInspections">鏌ヨ</el-button> + <el-button type="primary" plain @click="reset">閲嶇疆</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" style="width: 100%;overflow-y: auto;min-height: calc(100% - 50px)" + max-height="calc(100% - 50px)" :cell-style="{textAlign: 'center'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :data="inspectionTable"> + <el-table-column type="selection" min-width="30px" /> + <el-table-column prop="icode" label="鐢宠鍗曞彿" min-width="150px" /> + <el-table-column prop="type" label="妫�楠岀被鍨�" min-width="80px"> + <template slot-scope="scope"> + <div v-if="scope.row.type === 0"><span>鍘熸潗鏂欐楠�</span></div> + <div v-if="scope.row.type === 1"><span>濮旀墭妫�楠�</span></div> + <div v-if="scope.row.type === 2"><span>鎴愬搧妫�楠�</span></div> + </template> + </el-table-column> + <el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="80px" /> + <el-table-column prop="supplier" label="渚涘簲鍟嗗悕绉�" min-width="150px" /> + <el-table-column prop="mcode" label="鍘熸潗鏂欑紪鐮�" min-width="150px" /> + <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�" min-width="80px" /> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="160px" /> + <el-table-column prop="unit" label="鍗曚綅" min-width="50px" /> + <el-table-column prop="num" label="鏁伴噺" min-width="50px" /> + <el-table-column prop="createTime" label="鐧昏鏃ユ湡" min-width="80px" /> + <el-table-column prop="inspection_status" label="妫�楠岀粨鏋�" min-width="80px"> + <template slot-scope="scope"> + <el-tag class="tag" :type="scope.row.inspection_status === 0 ? 'danger' : 'success'" + disable-transitions>{{ scope.row.inspection_status === 0 ? '涓嶅悎鏍�' : '鍚堟牸' }}</el-tag> + </template> + </el-table-column> + <el-table-column prop="userName" label="鐧昏浜�" min-width="80px" /> + <el-table-column prop="checkdate" label="妫�楠屾棩鏈�" min-width="150px" /> + <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="[ 10, 20, 30,40]" + :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%" top="10vh"> + <div class="check-box"> + <el-radio-group v-model="type" @click.native="handleRadioChange"> + <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" + :label="0" border>鍘熸潗鏂欐楠�</el-radio> + <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" + :label="1" border>濮旀墭妫�楠�</el-radio> + <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" + :label="2" border>鎴愬搧妫�楠�</el-radio> + </el-radio-group> + </div> + <div v-if="type === 0"> + <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" + size="medium"> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏉ユ枡鏃ユ湡锛�"> + <!-- <el-input style="width: 300px" type="text" :value="infoForm.startTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> --> + <el-date-picker style="width: 300px" v-model="infoForm.formTime" type="date" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="渚涘簲鍟嗗悕绉帮細"> + <el-input style="width: 300px" type="text" :value="infoForm.supplier" 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.mcode" 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.specifications" 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.num" placeholder="璇疯緭鍏ユ暟閲�" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾椂闂达細"> + <el-date-picker v-model="infoForm.endTime" type="daterange" range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <div v-if="type === 1"> + <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" 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="commisionSelection.entrust_coding" + placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="濮旀墭鍗曚綅"> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" + 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="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鏍峰搧鍚嶇О"> + <el-input style="width: 300px" type="text" :value="commisionSelection.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="commisionSelection.specifications" + placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="閫佽揪鏃堕棿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" + 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="commisionSelection.completionDeadline" + placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾棩鏈燂細"> + <el-date-picker v-model="commisionSelection.checkdate" type="daterange" range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <div v-if="type === 2"> + <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" 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" v-model="finishedTable.deliverydate" + placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="渚涘簲鍟嗗悕绉帮細"> + <el-input style="width: 300px" type="text" v-model="finishedTable.supplier" 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" v-model="finishedTable.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欏悕绉帮細"> + <el-input style="width: 300px" type="text" v-model="finishedTable.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" v-model="finishedTable.modelandspecification" + placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍗曚綅锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.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" v-model="finishedTable.amount" placeholder="璇疯緭鍏ユ暟閲�" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾椂闂达細"> + <el-date-picker v-model="finishedTable.checkdate" type="daterange" range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="checkTypeVisible = false">鍙� 娑�</el-button> + <!-- <el-button type="primary" @click="addInspection">纭� 瀹�</el-button> --> + <el-button type="primary" @click="QUEding">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> + </div> + <!-- 纭畾璺宠浆鍩烘湰搴撳脊绐� --> + <el-dialog title="鏍囧噯搴�" :visible.sync="Standardframe" width="49%"> + <el-card> + <template slot-scope="scope"> + <span>鐗堟湰閫夋嫨锛�</span> + <el-select @change="ccc" v-model="selectedValue" size="small" slot="append" style="width: 220px;"> + <el-option v-for="item in BANben" :key="item" :label="item" :value="item"></el-option> + </el-select> + </template> + </el-card> + <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" row-key="id" border + height="calc(80vh - 250px)" default-expand-all ref="multipleTable" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column type="selection" label="搴忓彿"> </el-table-column> + <el-table-column type="index" width="50px" label="搴忓彿"></el-table-column> + <el-table-column label="椤圭洰鍚嶇О" sortable> + <template scope="scope"> + <el-tag> + <div class="firstDiv" :style="`color: ${ scope.row.code == '[1]' ? '#16a7ff' : '#58c173' - }`" - > - {{ scope.row.code == "[1]" ? "01" : "02" }} - </div> - <span style="color: black">{{ scope.row.name }}</span></el-tag - > - </template> - </el-table-column> - <el-table-column - prop="unit" - label="鍗曚綅" - sortable - ></el-table-column> - <el-table-column label="鏍囧噯鍊�" sortable> - <template scope="scope"> - <el-input - v-if="scope.row.edit === true || scope.row.code === '[2]'" - @blur="requiredOnfocus(scope)" - v-model="scope.row.required" - placeholder="璇疯緭鍏ユ爣鍑嗗��" - ></el-input> - </template> - </el-table-column> - <el-table-column prop="internal" label="鍐呮帶鍊�" sortable> - <template scope="scope"> - <el-input - v-if="scope.row.edit === true || scope.row.code === '[2]'" - @blur="requiredOnfocus(scope)" - v-model="scope.row.internal" - placeholder="璇疯緭鍏ュ唴鎺у��" - ></el-input> - </template> - </el-table-column> - </el-table> - <span slot="footer" class="dialog-footer"> - <el-button @click="Standardframe = false">鍙� 娑�</el-button> - <el-button type="primary" @click="GOfrom">纭� 瀹�</el-button> - </span> + }`"> + {{ scope.row.code == "[1]" ? "01" : "02" }} + </div> + <span style="color: black">{{ scope.row.name }}</span> + </el-tag> + </template> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅" sortable></el-table-column> + <el-table-column label="鏍囧噯鍊�" sortable> + <template scope="scope"> + <el-input v-if="scope.row.edit === true || scope.row.code === '[2]'" @blur="requiredOnfocus(scope)" + v-model="scope.row.required" placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input> + </template> + </el-table-column> + <el-table-column prop="internal" label="鍐呮帶鍊�" sortable> + <template scope="scope"> + <el-input v-if="scope.row.edit === true || scope.row.code === '[2]'" @blur="requiredOnfocus(scope)" + v-model="scope.row.internal" placeholder="璇疯緭鍏ュ唴鎺у��"></el-input> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="Standardframe = false">鍙� 娑�</el-button> + <el-button type="primary" @click="GOfrom">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 鍘熸潗鏂欐楠屾ā鎬佹 --> + <el-dialog title="鍘熸潗鏂欐楠�" :visible.sync="rawmaterialVisible" width="60%"> + <div class="table-box"> + <el-table ref="multipleTable" :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="rawMaterialTable" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table-column type="selection" min-width="10%" /> + <el-table-column type="index" label="搴忓彿" min-width="8%" /> + <el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="8%" /> + <el-table-column prop="supplier" label="渚涘簲鍟嗗悕绉�" min-width="12%" /> + <el-table-column prop="mcode" label="鏉愭枡缂栫爜" min-width="8%" /> + <el-table-column prop="name" label="鏉愭枡鍚嶇О" min-width="8%" /> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> + <el-table-column prop="unit" label="鍗曚綅" min-width="5%" /> + <el-table-column prop="num" label="鏁伴噺" min-width="5%" /> + <el-table-column prop="endTime" label="鎶ユ鏃ユ湡" min-width="8%" /> + <el-table-column prop="surveyor" label="妫�楠屼汉" min-width="8%" /> + <el-table-column prop="startTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="type" label="鐘舵��" min-width="8%"> + <template slot-scope="scope"> + <span :style="{ color: scope.row.state === type ? 'green' : 'red' }"> + {{ scope.row.state===1 ? '宸叉娴�':'寰呮娴�' }} + </span> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="rawmaterialVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="handleRawMaterialSelection">纭� 瀹�</el-button> + </span> + </div> + </el-dialog> + <!-- 濮旀墭妫�楠屾ā鎬佹 --> + <el-dialog title="濮旀墭妫�楠�" :visible.sync="commisionVisible" width="60%"> + <div class="table-box"> + <el-table ref="multipleTable" :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" @selection-change="handleSelectionChange" style="width: 100%"> + <el-table-column type="selection" min-width="10%" /> + <el-table-column type="index" label="搴忓彿" min-width="10%" /> + <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> + <el-table-column prop="supplier" label="濮旀墭鍗曚綅" min-width="12%" /> + <el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" /> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> + <el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" /> + <el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" /> + <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> + <el-table-column prop="endTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="inspection_status" label="鐘舵��" 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%"> + <template slot-scope="scope"> + <el-button type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="commisionVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="handleCommisionSelection">纭� 瀹�</el-button> + </span> + </div> + </el-dialog> + </template> + <template v-else> + <router-view /> + </template> + </div> +</template> - </el-dialog> - - <!-- 鍘熸潗鏂欐楠屾ā鎬佹 --> - <el-dialog - title="鍘熸潗鏂欐楠�" - :visible.sync="rawmaterialVisible" - width="60%"> - <div class="table-box"> - <el-table - ref="multipleTable" - :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="rawMaterialTable" - style="width: 100%" - @selection-change="handleSelectionChange" - > - <el-table-column - type="selection" - min-width="10%" - /> - <el-table-column - type="index" - label="搴忓彿" - min-width="8%" - /> - <el-table-column - prop="startTime" - label="鏉ユ枡鏃ユ湡" - min-width="8%" - /> - <el-table-column - prop="supplierName" - label="渚涘簲鍟嗗悕绉�" - min-width="12%" - /> - <el-table-column - prop="mcode" - label="鏉愭枡缂栫爜" - min-width="8%" - /> - <el-table-column - prop="name" - label="鏉愭枡鍚嶇О" - min-width="8%" - /> - <el-table-column - prop="specifications" - label="瑙勬牸鍨嬪彿" - min-width="12%" - /> - <el-table-column - prop="unit" - label="鍗曚綅" - min-width="5%" - /> - <el-table-column - prop="num" - label="鏁伴噺" - min-width="5%" - /> - <el-table-column - prop="endTime" - label="鎶ユ鏃ユ湡" - min-width="8%" - /> - <el-table-column - prop="supplier" - label="妫�楠屼汉" - min-width="8%" - /> - <el-table-column - prop="startTime" - label="妫�楠屾棩鏈�" - min-width="8%" - /> - <el-table-column - prop="condition" - label="鐘舵��" - min-width="8%" - > - <template slot-scope="scope"> - <span :style="{ color: scope.row.state === 1 ? 'green' : 'red' }"> - {{ scope.row.state===1 ? '宸叉娴�':'寰呮娴�' }} - </span> - </template> - </el-table-column> - </el-table> - <span slot="footer" class="dialog-footer"> - <el-button @click="rawmaterialVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="handleRawMaterialSelection">纭� 瀹�</el-button> - </span> - </div> - </el-dialog> - <!-- 濮旀墭妫�楠屾ā鎬佹 --> - <el-dialog - title="濮旀墭妫�楠�" - :visible.sync="commisionVisible" - width="60%"> - <div class="table-box"> - <el-table - ref="multipleTable" - :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" - @selection-change="handleSelectionChange" - style="width: 100%" - > - <el-table-column type="selection" min-width="10%" /> - <el-table-column type="index" label="搴忓彿" min-width="10%" /> - <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> - <el-table-column prop="supplier" label="濮旀墭鍗曚綅" min-width="12%" /> - <el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" /> - <el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" /> - <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> - <el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" /> - <el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" /> - <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> - <el-table-column prop="endTime" label="妫�楠屾棩鏈�" min-width="8%" /> - <el-table-column prop="inspection_status" label="鐘舵��" 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%"> - <template slot-scope="scope"> - <el-button type="text" size="small">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - <span slot="footer" class="dialog-footer"> - <el-button @click="commisionVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="handleCommisionSelection">纭� 瀹�</el-button> - </span> - </div> - </el-dialog> - </template> - <template v-else> - <router-view /> - </template> - </div> - </template> - - <script> - import { selectInspectsList, selectAll, addInspect,chooseVer,lookProByVer} from '@/api/experiment/planAssignments' - export default { - data() { - - return { - showDetail: false, - searchData: { - applicationnumber: '', - type: '', - state: '', - }, - valu:{}, - inputValue: '', - icode:'', - inspectionTable: [], - rawMaterialTable: [], - commisionTable: [], - finishedTable: { - deliverydate: '', - supplier: '', - code: '', - name: '', - modelandspecification: '', - unit: '', - amount: '', - checkdate: [] - }, - selectedValue:1, - infoForm:{}, - commisionSelection:{ - entrust_coding: '', - entrusted: '', - samples_number: '', - sample_name: '', - specifications_models: '', - dateSurvey: '', - completionDeadline: '', - contacts: '', - inspectionTime: '' - }, - typeoptions:[{ - value: 0, - label:'鍘熸潗鏂欐楠�' - },{ - value: 1, - label: '濮旀墭妫�楠�' - },{ - value: 2, - label: '鎴愬搧妫�楠�' - }], - stateoptions:[{ - value: 0, - label:'涓嶅悎鏍�' - },{ - value: 1, - label:'鍚堟牸' - }], - options:[{ - value: '0', - label: '閫夐」1' - },{ - value:'1', - label: '閫夐」2' - }], - currentPage: 1, - total: 20, // 鎬绘潯鏁� - pageSize: 8, // 姣忛〉鐨勬暟鎹潯鏁� - radioValue: '鍏ㄩ儴', - checkTypeVisible: false, - type: 0, // 榛樿涓嶉�変腑鐨勭姸鎬� - rawmaterialVisible: false, - commisionVisible: false, - tmp: '', - Standardframe: false, +<script> + import { + selectInspectsList, + selectAll, + addInspect, + chooseVer, + lookProByVer + } from '@/api/experiment/planAssignments' + export default { + data() { + return { + showDetail: false, + searchData: { + applicationnumber: '', + type: '', + state: '', + }, + valu: {}, + inputValue: '', + icode: '', + inspectionTable: [], + rawMaterialTable: [], + commisionTable: [], + finishedTable: { + deliverydate: '', + supplier: '', + code: '', + name: '', + modelandspecification: '', + unit: '', + amount: '', + checkdate: [] + }, + selectedValue: 1, + infoForm: {}, + commisionSelection: { + entrust_coding: '', + entrusted: '', + samples_number: '', + sample_name: '', + specifications_models: '', + dateSurvey: '', + completionDeadline: '', + contacts: '', + inspectionTime: '' + }, + typeoptions: [{ + value: 0, + label: '鍘熸潗鏂欐楠�' + }, { + value: 1, + label: '濮旀墭妫�楠�' + }, { + value: 2, + label: '鎴愬搧妫�楠�' + }], + stateoptions: [{ + value: 0, + label: '涓嶅悎鏍�' + }, { + value: 1, + label: '鍚堟牸' + }], + options: [{ + value: '0', + label: '閫夐」1' + }, { + value: '1', + label: '閫夐」2' + }], + currentPage: 1, + total: 20, // 鎬绘潯鏁� + pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁� + radioValue: '鍏ㄩ儴', + checkTypeVisible: false, + type: 0, // 榛樿涓嶉�変腑鐨勭姸鎬� + rawmaterialVisible: false, + commisionVisible: false, + tmp: {}, + Standardframe: false, tableData: [], - tableRow:{}, - BANben:[], - select_1: [], - aa:{} - } - }, - watch: { - $route: { - handler(val, oldval) { - console.log(val)// 鏂拌矾鐢变俊鎭� - console.log(oldval)// 鑰佽矾鐢变俊鎭� - }, - // 娣卞害瑙傚療鐩戝惉 - deep: true - } - }, - created() { - this.selectInspectsList() - }, - updated() { - if (this.$route.name === 'ForInspectionDetail') this.showDetail = true - }, - methods: { - async selectAll(){ - const res = selectAll({type:0}) - // console.log(res); - this.rawMaterialTable = res.data - }, - async selectAll(){ - const res = selectAll({type:2}) - // console.log(res); - this.commisionTable = res.data - }, - async handleClick(row){ - // this.inspectionTable = row; - this.id = row.id - this.$router.push({name:'Viewdetails',query: {id:row.id}}); - this.selectInspectsList() - }, - // validateInput() { - // if (this.inputValue.trim() === '') { - // } - // }, // 杈撳叆鍊间负绌猴紝寮瑰嚭鎻愮ず淇℃伅鎴栬繘琛屽叾浠栧鐞� - // alert('杈撳叆鍊间笉鑳戒负绌�'); - // return; - - //鐗堟湰搴� - async chooseVer() { - console.log(this.tmp.materialCoding); - console.log(this.tmp.materialName); - console.log(this.tmp.specificationsModels); - const res = await chooseVer ({ - mcode:this.tmp.mcode, - name:this.tmp.name, - specifications:this.tmp.specifications - }) - this.BANben = res.data - console.log(res.data); - this.aa = this.BANben[0] - this.lookProByVer() - }, - //鏍囧噯搴� - async lookProByVer() { - const res = await lookProByVer({ - mcode:this.tmp.mcode, - name:this.tmp.name, - specifications:this.tmp.specifications, - version:this.aa - }) - console.log(res); - this.tableData = res.data - }, - ccc(val){ - // console.log(val); - this.aa = val - this.lookProByVer() - }, - async selectInspectsList() { - // 鑾峰彇鍒嗛〉鍒楄〃 - const res = await selectInspectsList({ countSize: this.pageSize, pageSize: this.currentPage,message:this.id}) - // this.inspectionTable = data - // console.log(res.data.row) - const data = res.data.row - data.forEach((item) => { - var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] - var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] - var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] - var checkdate = startTime + '~' + endTime - var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%d')"] - item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 - item['checkdate'] = checkdate // 妫�楠屾棩鏈� - item['createTime'] = createTime // 鐧昏鏃ユ湡 - }) - this.inspectionTable = data - this.total = res.data.total - }, - async searchInspections(){ - const res = await selectInspectsList({countSize:this.pageSize,pageSize:this.currentPage,message:this.searchData.applicationnumber}) - var data = res.data.row - data.forEach((item) => { - var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] - var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] - var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] - var checkdate = startTime + '~' + endTime - var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] - item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 - item['checkdate'] = checkdate // 妫�楠屾棩鏈� - item['createTime'] = createTime // 鐧昏鏃ユ湡 - }) - this.inspectionTable = data - if(this.searchData.type !== ''){ - if(this.searchData.state !== ''){ - this.inspectionTable = data.filter((item)=>{ - return item.type===this.searchData.type && item.inspection_status === this.searchData.state - }) - }else{ - this.inspectionTable = data.filter((item)=>{ - return item.type===this.searchData.type - }) - } - }else{ - if(this.searchData.state !== ''){ - this.inspectionTable = data.filter((item)=>{ - return item.inspection_status===this.searchData.state - }) - } - } - this.total = this.inspectionTable.length - }, - reset(){ - this.countSize = 1; - this.pageSize = 8; - this.searchData = { }; - this.selectInspectsList(); - }, - //琚�変腑鐨勪俊鎭� 鍗曢�� - handleSelectionChange(val) { - if (val.length > 1) { - this.$refs.multipleTable.clearSelection(); - this.$refs.multipleTable.toggleRowSelection(val.pop()) - } - this.tmp = val[0] - // console.log(this.tmp); - }, - handleCommisionSelection(){ - this.commisionSelection = this.tmp - this.commisionVisible = false - }, - handleRawMaterialSelection(){ - this.infoForm = this.tmp - // console.log(this.infoForm); + tableRow: {}, + BANben: [], + select_1: [], + aa: {} + } + }, + watch: { + $route: { + handler(val, oldval) { + }, + // 娣卞害瑙傚療鐩戝惉 + deep: true + } + }, + created() { + this.selectInspectsList() + }, + updated() { + if (this.$route.name === 'ForInspectionDetail') this.showDetail = true + }, + methods: { + async selectAll() { + const res = selectAll({ + type: 0 + }) + this.rawMaterialTable = res.data + }, + async selectAll() { + const res = selectAll({ + type: 2 + }) + this.commisionTable = res.data + }, + async handleClick(row) { + this.inspectionTable = row; + this.id = row.id + this.$router.push({ + name: 'Viewdetails', + query: { + id: row.id + } + }); + this.selectInspectsList() + }, + // validateInput() { + // if (this.inputValue.trim() === '') { + // } + // }, // 杈撳叆鍊间负绌猴紝寮瑰嚭鎻愮ず淇℃伅鎴栬繘琛屽叾浠栧鐞� + // alert('杈撳叆鍊间笉鑳戒负绌�'); + // return; - this.rawmaterialVisible = false - }, - handleRadioChange(){ - setTimeout(()=>{ - if(this.type === 0){ - // 鍘熸潗鏂欐姤妫� - this.rawmaterialVisible = true - selectAll({type:0}).then(res=>{ - // console.log(res); - // var data = res.data - // data.forEach((item)=>{ - // var checkdate = [] - // checkdate.push(item['createTime']) - // checkdate.push(item['updateTime']) - // item['checkdate'] = checkdate // 妫�楠屾棩鏈� - // }) - console.log(res); - this.rawMaterialTable = res.data - }) - - // this.infoForm = res.data - // this.$router.push({ name: 'ReportForInspection' }); - }else if(this.type === 1){ - this.commisionVisible = true - selectAll({type:2}).then(res=>{ - - this.commisionTable = res.data - }) + //鐗堟湰搴� + async chooseVer() { + const res = await chooseVer({ + mcode: this.tmp.mcode, + name: this.tmp.name, + specifications: this.tmp.specifications + }) + this.BANben = res.data + this.aa = this.BANben[0] + this.lookProByVer() + }, + //鏍囧噯搴� + async lookProByVer() { + const res = await lookProByVer({ + mcode: this.tmp.mcode, + name: this.tmp.name, + specifications: this.tmp.specifications, + version: this.aa + }) + this.tableData = res.data + }, + ccc(val) { + this.aa = val + this.lookProByVer() + }, + async selectInspectsList() { + // 鑾峰彇鍒嗛〉鍒楄〃 + const res = await selectInspectsList({ + countSize: this.pageSize, + pageSize: this.currentPage, + message: this.id + }) + // this.inspectionTable = data + const data = res.data.row + data.forEach((item) => { + var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] + var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] + var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] + var checkdate = startTime + '~' + endTime + var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%d')"] + item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 + item['checkdate'] = checkdate // 妫�楠屾棩鏈� + item['createTime'] = createTime // 鐧昏鏃ユ湡 + }) + this.inspectionTable = data + this.total = res.data.total + }, + async searchInspections() { + const res = await selectInspectsList({ + countSize: this.pageSize, + pageSize: this.currentPage, + message: this.searchData.applicationnumber + }) + var data = res.data.row + data.forEach((item) => { + var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] + var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] + var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] + var checkdate = startTime + '~' + endTime + var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] + item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 + item['checkdate'] = checkdate // 妫�楠屾棩鏈� + item['createTime'] = createTime // 鐧昏鏃ユ湡 + }) + this.inspectionTable = data + if (this.searchData.type !== '') { + if (this.searchData.state !== '') { + this.inspectionTable = data.filter((item) => { + return item.type === this.searchData.type && item.inspection_status === this.searchData.state + }) + } else { + this.inspectionTable = data.filter((item) => { + return item.type === this.searchData.type + }) + } + } else { + if (this.searchData.state !== '') { + this.inspectionTable = data.filter((item) => { + return item.inspection_status === this.searchData.state + }) + } } - },100) - }, - // 鏂板妫�楠� - async addInspection(){ - if(this.type === 0){ - await addInspect({endTime: this.infoForm.checkdate[1], - formTime: this.infoForm.dateSurvey, - mcode: this.infoForm.materialCoding, - name: this.infoForm.materialName, - num: this.infoForm.quantity, - specifications: this.infoForm.specificationsModels, - startTime: this.infoForm.checkdate[0] , - supplier: this.infoForm.supplierName, - type: this.type, - unit: this.infoForm.unit}) - } - if(this.type === 1){ - console.log(this.commisionSelection) - const res = await addInspect({endTime: this.commisionSelection.checkdate[1], - formTime: this.commisionSelection.formTime, - mcode: this.commisionSelection.mcode, - name: this.commisionSelection.name, - num: this.commisionSelection.num, - specifications: this.commisionSelection.specifications, - startTime: this.commisionSelection.checkdate[0] , - supplier: this.commisionSelection.supplier, - type: this.type, - unit: this.commisionSelection.unit}) - console.log('res',res) - } - if(this.type === 2){ - console.log(this.finishedTable) - const res = await addInspect({ endTime: '2023-08-15', - formTime: this.finishedTable.deliverydate, - mcode: this.finishedTable.code, - name: this.finishedTable.name, - num: parseInt(this.finishedTable.amount), - specifications: this.finishedTable.modelandspecification, - startTime: '2023-08-14', - supplier: this.finishedTable.supplier, - type: this.type, - unit: this.finishedTable.unit }) - } - this.type = 0 - this.checkTypeVisible = false - this.$message({ - message: '娣诲姞鎴愬姛锛�', - type: 'success' - }); - }, - // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 - handleSizeChange(val) { - console.log(`姣忛〉 ${val} 鏉) - // this.currentPage = 1 - this.pageSize = val - this.selectInspectsList() - }, - // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� - handleCurrentChange(val) { - console.log(`褰撳墠椤�: ${val}`) - this.currentPage = val - this.selectInspectsList() - }, - //纭畾璺宠浆 - QUEding(){ - // this.tableRow = a - - this.Standardframe = true + this.total = this.inspectionTable.length + }, + reset() { + this.countSize = 1; + this.pageSize = 8; + this.searchData = {}; + this.selectInspectsList(); + }, + //琚�変腑鐨勪俊鎭� 鍗曢�� + handleSelectionChange(val) { + if (val.length > 1) { + this.$refs.multipleTable.clearSelection(); + this.$refs.multipleTable.toggleRowSelection(val.pop()) + } + this.tmp = val[0] + }, + handleCommisionSelection() { + this.commisionSelection = this.tmp + this.commisionVisible = false + }, + handleRawMaterialSelection() { + this.infoForm = this.tmp + this.rawmaterialVisible = false + }, + handleRadioChange() { + setTimeout(() => { + if (this.type === 0) { + // 鍘熸潗鏂欐姤妫� + this.rawmaterialVisible = true + selectAll({ + type: 0 + }).then(res => { + // var data = res.data + // data.forEach((item)=>{ + // var checkdate = [] + // checkdate.push(item['createTime']) + // checkdate.push(item['updateTime']) + // item['checkdate'] = checkdate // 妫�楠屾棩鏈� + // }) + this.rawMaterialTable = res.data + }) - this.chooseVer() - - }, - //纰哄畾瑭虫儏闋� - GOfrom( ){ - this.Standardframe = false - // console.log(this.tmp.materialCoding); - // console.log(this.tmp.materialName); - // console.log(this.tmp.specificationsModels); - // console.log(this.aa) - // const data = { - // // mcode : this.tmp.mcode, - // // name:this.tmp.name, - // // specifications:this.tmp.specifications, - // version:this.tmp.id - // } - - this.$router.push({name:'Viewdetails',query:{id:this.tmp.id}}) + // this.infoForm = res.data + // this.$router.push({ name: 'ReportForInspection' }); + } else if (this.type === 1) { + this.commisionVisible = true + selectAll({ + type: 2 + }).then(res => { - }, - } - } - </script> + this.commisionTable = res.data + }) + } + }, 100) + }, + // 鏂板妫�楠� + async addInspection() { + if (this.type === 0) { + await addInspect({ + endTime: this.infoForm.checkdate[1], + formTime: this.infoForm.dateSurvey, + mcode: this.infoForm.materialCoding, + name: this.infoForm.materialName, + num: this.infoForm.quantity, + specifications: this.infoForm.specificationsModels, + startTime: this.infoForm.checkdate[0], + supplier: this.infoForm.supplierName, + type: this.type, + unit: this.infoForm.unit + }) + } + if (this.type === 1) { + const res = await addInspect({ + endTime: this.commisionSelection.checkdate[1], + formTime: this.commisionSelection.formTime, + mcode: this.commisionSelection.mcode, + name: this.commisionSelection.name, + num: this.commisionSelection.num, + specifications: this.commisionSelection.specifications, + startTime: this.commisionSelection.checkdate[0], + supplier: this.commisionSelection.supplier, + type: this.type, + unit: this.commisionSelection.unit + }) + } + if (this.type === 2) { + const res = await addInspect({ + endTime: '2023-08-15', + formTime: this.finishedTable.deliverydate, + mcode: this.finishedTable.code, + name: this.finishedTable.name, + num: parseInt(this.finishedTable.amount), + specifications: this.finishedTable.modelandspecification, + startTime: '2023-08-14', + supplier: this.finishedTable.supplier, + type: this.type, + unit: this.finishedTable.unit + }) + } + this.type = 0 + this.checkTypeVisible = false + this.$message({ + message: '娣诲姞鎴愬姛锛�', + type: 'success' + }); + }, + // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 + handleSizeChange(val) { + // this.currentPage = 1 + this.pageSize = val + this.selectInspectsList() + }, + // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� + handleCurrentChange(val) { + this.currentPage = val + this.selectInspectsList() + }, + //纭畾璺宠浆 + QUEding() { + // this.tableRow = a - <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; + this.Standardframe = true - } - } - height: auto; - font-size: 22px !important; - padding: 40px 50px !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; - } + this.chooseVer() - .getDataBtn, .createBtn { - margin-left: 10px; /* Optional: Add some space between the buttons */ - } - .library-table{ - background-color: #fff; - flex: 1; - 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; - .tag{ - width: 80px; - } - } - >div:nth-child(2){ - display: flex; - justify-content: end; - margin: 20px 0; - margin-top: 30px; - } - } - } -.checkTypeForm{ - margin-top: 30px; - margin-left: 50px; - .el-row{ - margin-bottom: 10px; - } -} -.pagination{ - display: flex; - margin-top: 20px; - justify-content: end; -} -.dialog-footer{ - display: flex; - margin-top: 20px; - justify-content: end; -} - </style> + }, + //纰哄畾瑭虫儏闋� + GOfrom() { + this.Standardframe = false + // const data = { + // // mcode : this.tmp.mcode, + // // name:this.tmp.name, + // // specifications:this.tmp.specifications, + // version:this.tmp.id + // } + + this.$router.push({ + name: 'Viewdetails', + query: { + id: this.tmp.id + } + }) + + }, + } + } +</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: 40px 50px !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; + 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; + + .tag { + width: 80px; + } + } + + >div:nth-child(2) { + display: flex; + justify-content: end; + margin: 20px 0; + margin-top: 30px; + } + } + } + + .checkTypeForm { + margin-top: 30px; + margin-left: 50px; + + .el-row { + margin-bottom: 10px; + } + } + + .pagination { + display: flex; + margin-top: 20px; + justify-content: end; + } + + .dialog-footer { + display: flex; + margin-top: 20px; + justify-content: end; + } +</style> \ No newline at end of file diff --git a/src/views/home/index.vue b/src/views/home/index.vue index aeecc96..d7201cd 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -124,7 +124,7 @@ this.getcheckProjectNum(); this.getVerifiedData(); this.getUncheckedData(); - this.getPieChart(); + this.getPieChart(); }, methods: { cell({ row, column, rowIndex, columnIndex }) { diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue index ce5d9d4..42dbefa 100644 --- a/src/views/inspectionManagement/commissionInspection/addCommision.vue +++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue @@ -15,20 +15,17 @@ 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%;margin-bottom: 20px;"> <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%"> + <!-- <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> @@ -38,12 +35,12 @@ </div> <div v-else></div> </template> - </el-table-column> + </el-table-column> --> <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> + <el-button type="text" size="small" + @click.native.prevent="deleteRow(scope.$index, detectionInfo)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -103,8 +100,8 @@ <el-col :span="5"> <el-form-item label="閫佹牱鏂瑰紡锛�"> <el-select style="width: 200px;" 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-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.key" + :label="options.value">{{ options.value }}</el-option> </el-select> </el-form-item> </el-col> @@ -176,41 +173,39 @@ </el-col> <el-col :span="11"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О"> - <el-option v-for="options in model_spe_options" :value="options.value" + <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О" + @change="getProductList"> + <el-option v-for="options in model_sta_options" :value="options.key" :label="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="11"> <el-form-item label="鏍峰搧鍗曚綅锛�"> <el-input type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> - <el-col :span="11"> <el-form-item label="鏍峰搧鏁伴噺锛�"> <el-input type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> - </el-row> <el-row :gutter="50"> - <el-col :span="9"> + <el-col :span="11"> <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 v-for="(expers, ai) in productList" :label="expers" + :key="ai">{{ expers }}</el-checkbox> </el-checkbox-group> </el-form-item> </el-col> - <el-col :span="41"> + <el-col :span="11"> <el-form-item label="澶囨敞锛�"> - <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> + <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;" + v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> </el-form-item> </el-col> </el-row> @@ -231,7 +226,9 @@ getModelSpecification, getlink, addInspection, - isIfViewUUID + isIfViewUUID, + getProductList, + getContractsSampleInfo } from '@/api/inspection/commisioninspection' export default { data() { @@ -276,18 +273,11 @@ key: '4', label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙' }], - sampleoptions: [{ - key: '1', - value: '閫夐」1' - }, { - key: '2', - value: '閫夐」2' - }], - samplecodeoptions: [{ - key: '1', - value: '' - }], + sampleoptions: [], + samplecodeoptions: [], model_spe_options: [], + model_sta_options: [], + model_options: [], sampleDeliveryMode: [{ key: '1', value: '閫佹牱' @@ -297,7 +287,28 @@ }], dialogueFormVisible: false, showDetail: false, - viewId: null + viewId: null, + productList: [] + } + }, + watch: { + addPointerForm: { + handler: function(val) { + if (val.addway != "") { + this.model_sta_options = [] + this.model_options.forEach(a => { + if (a.specificationsName == val.addway) { + this.model_sta_options = a.children.map(item => { + return { + key: item.modelId, + value: item.modelName + } + }) + } + }) + } + }, + deep: true } }, created() { @@ -321,6 +332,8 @@ if (!res.data) { this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴') this.$router.push('/404') + } else { + this.getContractsSampleInfo() } }) }, @@ -338,6 +351,7 @@ const res = await getModelSpecification({ materialId: val }) + this.model_options = res.data this.model_spe_options = res.data.map((item) => { return { key: item.specificationsId, @@ -351,8 +365,6 @@ 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) @@ -392,11 +404,9 @@ this.infoForm.commisioncode = res.data if (res.data) { this.$message({ - message: '鎭枩浣�!', + message: '娣诲姞鎴愬姛!', type: 'success' }) - // 璺宠浆椤甸潰 - this.$router.push('/inspectionManagement/commissionInspection') this.showDetail = true } else { this.$message.error(res.message) @@ -408,8 +418,8 @@ handleCurrentChange(pageNo) { this.pageParams.pageNo = pageNo }, - deleteRow(row) { - + deleteRow(index, rows) { + rows.splice(index, 1); }, upMaterialName(val) { this.sampleoptions.forEach(a => { @@ -418,21 +428,52 @@ } }) this.getModelSpecification(val) + }, + getProductList(val) { + getProductList({ + modelId: val + }).then(res => { + this.productList = res.data.map(item => { + return item.name + }) + }) + }, + getContractsSampleInfo() { + getContractsSampleInfo({ + viewId: this.viewId + }).then(res => { + this.infoForm = { + commisioncode: res.data.entrustCoding, + deadline: res.data.completionDeadline, + address: res.data.contactAddress, + tel: res.data.contactNumber, + contacter: res.data.contacts, + other: res.data.entrustRemarks, + department: res.data.entrusted, + time: res.data.inspectionTime, + detectionInfo: res.data.linkDetectionList, + num: res.data.reportNumber, + way: '' + res.data.sampleDeliveryMode, + sendertel: res.data.sampleDeliveryPhone, + sender: res.data.sampleSender + } + this.detectionInfo = res.data.linkDetectionList + }) } } } </script> <style lang="scss" scoped> -.content-main{ - padding: 20px 40px; - background-color: #f0f2f5; - width: 100%; - height: 100vh; - display: flex; - flex-direction: column; - justify-content: space-between; - // align-items: center; + .content-main { + padding: 20px 40px; + background-color: #f0f2f5; + width: 100%; + height: 100vh; + display: flex; + flex-direction: column; + justify-content: space-between; + // align-items: center; .firstBox { .title { diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue index 042c160..dadc02c 100644 --- a/src/views/inspectionManagement/commissionInspection/index.vue +++ b/src/views/inspectionManagement/commissionInspection/index.vue @@ -65,20 +65,20 @@ <el-table-column type="index" label="搴忓彿" min-width="10%" /> <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> <el-table-column prop="entrusted" label="濮旀墭鍗曚綅" min-width="12%" /> - <el-table-column prop="samples_number" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="samples_number" label="鏍峰搧鏁伴噺" min-width="8%" /> <el-table-column prop="sample_name" label="鏍峰搧鍚嶇О" min-width="8%" /> <el-table-column prop="specifications_models" label="瑙勬牸鍨嬪彿" min-width="12%" /> - <el-table-column prop="dateSurvey" label="閫佽揪鏃堕棿" min-width="8%" /> + <el-table-column prop="inspectionTime" label="閫佹牱鏃堕棿" min-width="8%" /> <el-table-column prop="completionDeadline" label="瀹屾垚鏈熼檺" min-width="8%" /> <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> - <el-table-column prop="inspectionTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="insTime" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column prop="inspection_status" label="鐘舵��" min-width="8%"> <template slot-scope="scope"> - <div v-if="scope.row.inspection_status === 1"> - <span style="color: green;">宸叉娴�</span> + <div v-if="scope.row.inspection_status === 0"> + <span style="color: green;">宸叉姤妫�</span> </div> <div v-else> - <span style="color: red;">寰呮娴�</span> + <span style="color: red;">鏈姤妫�</span> </div> </template> </el-table-column> @@ -327,6 +327,9 @@ if (document.execCommand('copy')) { this.$message.success('宸插鍒跺埌鍓创鏉�') } + }, + handleClick(row){ + console.log(row); } } } @@ -338,7 +341,7 @@ background: #fff; display: flex; justify-content: space-between; - padding: 5px 24px 0px 24px; + padding: 24px 24px 0px 24px; .sermargin { margin-right: 60px; diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue index b71f993..292601a 100644 --- a/src/views/inspectionManagement/reportForInspection/index.vue +++ b/src/views/inspectionManagement/reportForInspection/index.vue @@ -428,10 +428,8 @@ // 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁 async getRawMaterialList(){ const res = await getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize}) - // console.log(res) this.inspectionTable = res.data.row this.data = res.data.row - console.log(res.data.row); this.total = res.data.total }, async search(){ @@ -443,7 +441,6 @@ pageNo: this.currentPage, pageSize: this.pageSize }) - // console.log(res) this.inspectionTable = res.data.row this.data = res.data.row this.total = res.data.total @@ -459,7 +456,6 @@ }, radioclick(){ this.searchData.state = this.radioValue - // console.log(this.radioValue) this.inspectionTable = this.data.filter((item)=>{ return item.condition === this.radioValue }) @@ -470,13 +466,11 @@ }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { - console.log(`姣忛〉 ${val} 鏉) this.pageSize = val this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize}) }, // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� handleCurrentChange(val) { - console.log(`褰撳墠椤�: ${val}`) this.currentPage = val this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize}) } diff --git a/src/views/laboratory/ledger/index.vue b/src/views/laboratory/ledger/index.vue index 73f919e..7cbc78a 100644 --- a/src/views/laboratory/ledger/index.vue +++ b/src/views/laboratory/ledger/index.vue @@ -54,7 +54,7 @@ <div class="table-box"> <el-table ref="equipmentTable" node-key="father_name" :cell-style="{ textAlign: 'center' }" :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }" - :data="equipmentTable" style="width: 100%"> + :data="equipmentTable" style="width: 100%;"> <el-table-column type="index" label="搴忓彿" min-width="90" /> <el-table-column prop="equipment_code" label="浠櫒璁惧缂栧彿" min-width="200" /> <el-table-column prop="equipment_name" label="浠櫒璁惧鍚嶇О" min-width="150" /> @@ -68,7 +68,6 @@ </template> </el-table-column> <el-table-column prop="storage_place" label="瀛樻斁鍦�" min-width="200" /> - <el-table-column label="鎿嶄綔" min-width="120" fixed="right"> <template slot-scope="scope"> <el-button type="text" size="small" @click="openDetail(scope.row)">缂栬緫</el-button> @@ -250,7 +249,7 @@ <el-form-item label="鎵�灞炲垎绫伙細" prop="classifyId" label-width="80" :rules="[ { required: true, message: '璇烽�夋嫨鎵�灞炲垎绫�', trigger: 'change' } ]"> - <el-cascader v-model="equipmentform.classifyId" :options="classTree" :show-all-levels="false" /> + <el-cascader style="width: 100%;" v-model="equipmentform.classifyId" :options="classTree" :show-all-levels="false" /> </el-form-item> </el-col> <el-col :span="11"> @@ -1052,7 +1051,7 @@ background: #fff; display: flex; justify-content: space-between; - padding: 0 24px 12px 24px; + padding: 15px 24px 12px 24px; .search-bar { .el-radio-button.is-active { @@ -1088,6 +1087,7 @@ .library-bom { flex: 2; margin-right: 12px; + height: 80vh; .bom-item-search { margin-bottom: 12px; @@ -1119,6 +1119,7 @@ margin-left: 12px; display: flex; flex-direction: column; + height: 80vh; .table-box { margin-top: 30px; diff --git a/src/views/login/index.vue b/src/views/login/index.vue index e50cf91..1d73885 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -135,9 +135,9 @@ </el-form> <div class="sao">寰俊鎵爜鐧诲綍</div> <div class="copyright"> - <p>姹熶笢閲戝叿璁惧鏈夐檺鍏徃</p> - <p>鐗堟潈鎵�鏈塁opyright 漏锔� 2012-2021 ZTT.All Rights Reserved.</p> - <p>[鑻廔CP澶�10047815鍙�-1]</p> + <!-- <p>鏈夐檺鍏徃</p> + <p>鐗堟潈鎵�鏈塁opyright 漏锔� </p> + <p>[鑻廔CP澶�10047815鍙�-1]</p> --> </div> </div> </div> -- Gitblit v1.9.3