| .eslintrc.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| .gitignore | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| package.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/settings.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/vehicle/queuing/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/vehicle/registration/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| vue.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| yarn.lock | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.eslintrc.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ module.exports = { root: true, env: { browser: true, node: true, }, extends: ["eslint:recommended", "plugin:vue/recommended"], parserOptions: { sourceType: "module", ecmaVersion: 2018, }, rules: {}, }; .gitignore
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ node_modules/ dist/ eslint_print_config.json package-lock.json dist.zip __MACOSX/ package.json
@@ -5,7 +5,7 @@ "author": "CMS", "license": "MIT", "scripts": { "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "dev": "vue-cli-service serve", "build": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", "preview": "node build/index.js --preview", @@ -112,6 +112,21 @@ "node": ">=8.9", "npm": ">= 3.0.0" }, "eslintConfig": { "root": true, "env": { "browser": true, "node": true }, "extends": [ "eslint:recommended", "plugin:vue/recommended" ], "parserOptions": { "sourceType": "module" }, "rules": {} }, "browserslist": [ "> 1%", "last 2 versions" src/settings.js
@@ -8,13 +8,16 @@ // | Author: CMS Team <admin@CMS.com> // +---------------------------------------------------------------------- // è¯·æ±æ¥å£å°å å¦ææ²¡æé ç½®èªå¨è·åå½åç½åè·¯å¾ const VUE_APP_API_URL = process.env.VUE_APP_BASE_API || `${location.origin}/api/`; // è¯·æ±æ¥å£å°åï¼ // - æµè§å¨è¿è¡æ¶å¯ä½¿ç¨ location.origin // - Node æå»º/å è½½é¶æ®µï¼vue-cli-service å è½½ vue.config.jsï¼æ²¡æ locationï¼å¿ é¡»å åº const VUE_APP_API_URL = process.env.VUE_APP_BASE_API || "http://172.17.0.1:9031/api/"; module.exports = { // æ¥å£è¯·æ±å°å apiBaseURL: VUE_APP_API_URL, title: 'CMS', title: "CMS", /** * @type {boolean} true | false @@ -46,5 +49,5 @@ * The default is only used in the production env * If you want to also use it in dev, you can pass ['production', 'development'] */ errorLog: 'production' } errorLog: "production", }; src/views/vehicle/queuing/index.vue
@@ -1,24 +1,44 @@ <template> <div class="divBox relative vehicle-queue"> <el-card class="box-card"> <div slot="header" class="clearfix"> <el-tabs v-model="tableFrom.areaId" @tab-click="handleChangeArea"> <div slot="header" class="clearfix" > <el-tabs v-model="tableFrom.areaId" @tab-click="handleChangeArea" > <el-tab-pane :label="item.name" :name="item.id.toString()" v-for="(item, index) in headeNum" :key="index" :label="item.name" :name="item.id.toString()" /> </el-tabs> <div class="sts-contanier" v-if="stsList.length > 0"> <div v-for="item in stsList" :key="item.title" class="sts-box"> <div class="sts-num">{{ item.num }}</div> <div class="sts-title">{{ item.title }}</div> <div v-if="stsList.length > 0" class="sts-contanier" > <div v-for="item in stsList" :key="item.title" class="sts-box" > <div class="sts-num"> {{ item.num }} </div> <div class="sts-title"> {{ item.title }} </div> </div> </div> <div class="container mt-1"> <el-form inline size="small"> <el-form inline size="small" > <el-form-item label="æéå·ç "> <el-input v-model="tableFrom.queueNumber" @@ -26,8 +46,7 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="ææºå·"> <el-input @@ -36,47 +55,83 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item> <el-button v-hasPermi="['admin:vehicle:queue']" size="small" type="primary" class="mr10" @click="getList(1)" v-hasPermi="['admin:vehicle:queue']" >æ¥è¯¢</el-button > æ¥è¯¢ </el-button> </el-form-item> </el-form> </div> </div> <el-table :key="tableKey" v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini" :key="tableKey" :highlight-current-row="true" :cell-style="{ textAlign: 'center' }" :header-cell-style="{ fontWeight: 'bold', textAlign: 'center' }" > <el-table-column prop="queueNumber" label="æéå·ç " min-width="80" /> <el-table-column prop="sort" label="å½åæåº" width="70" /> <el-table-column prop="name" label="å§å" min-width="80" /> <el-table-column prop="licensePlate" label="车çå·" width="90" /> <el-table-column prop="phone" label="ææºå·" min-width="100" /> <el-table-column prop="idCard" label="身份è¯å·" min-width="150" /> <el-table-column prop="queueNumber" label="æéå·ç " min-width="80" /> <el-table-column prop="sort" label="å½åæåº" width="70" /> <el-table-column prop="name" label="å§å" min-width="80" /> <el-table-column prop="licensePlate" label="车çå·" width="90" /> <el-table-column prop="phone" label="ææºå·" min-width="100" /> <el-table-column prop="idCard" label="身份è¯å·" min-width="150" /> <el-table-column prop="loadingAreaName" label="è£ å¸åºå" min-width="70" /> <el-table-column prop="orderTypeName" label="订åç±»å" min-width="70" /> <el-table-column prop="loadUnloadQty" label="è£ å¸æ°é" min-width="70" /> <el-table-column prop="unitName" label="åä½" min-width="50" /> <el-table-column prop="orderTypeName" label="订åç±»å" min-width="70" /> <el-table-column prop="loadUnloadQty" label="è£ å¸æ°é" min-width="70" /> <el-table-column prop="unitName" label="åä½" min-width="50" /> <el-table-column prop="vehicleStatusName" label="车è¾ç¶æ" @@ -88,7 +143,7 @@ <template v-if=" scope.row.vehicleStatusCode == 1256 || scope.row.vehicleStatusCode == 1257 scope.row.vehicleStatusCode == 1257 " > <el-tooltip @@ -100,20 +155,29 @@ class="over-img" src="../../../assets/imgs/over.svg" alt="" /> > </el-tooltip> </template> </div> </template ></el-table-column> </div> </template> </el-table-column> <el-table-column prop="goodsStatusName" label="è´§ç©ç¶æ" min-width="70" /> <el-table-column prop="reasonName" label="äºç±" min-width="60" /> <el-table-column prop="reasonName" label="äºç±" min-width="60" /> <el-table-column label="ç»è®°æ¶é´" width="135" align="center"> <el-table-column label="ç»è®°æ¶é´" width="135" align="center" > <template slot-scope="scope"> <span>{{ scope.row.registerTime | vformatDate }}</span> </template> @@ -133,21 +197,23 @@ >çæäºç»´ç </el-button > --> <el-button v-hasPermi="['admin:vehicle:print']" type="text" @click="handlePrintVehicle(scope.row)" size="small" class="mr10" v-hasPermi="['admin:vehicle:print']" >æå°</el-button @click="handlePrintVehicle(scope.row)" > æå° </el-button> <el-button v-hasPermi="['admin:vehicle:sort']" type="text" size="small" class="mr10" @click="handleChangeSort(scope.row)" v-hasPermi="['admin:vehicle:sort']" >è°æ´æåº</el-button > è°æ´æåº </el-button> <el-dropdown trigger="click"> <span class="el-dropdown-link"> æ´å¤<i class="el-icon-arrow-down el-icon--right" /> @@ -156,32 +222,36 @@ <el-dropdown-item v-if="scope.row.vehicleStatusCode == 1256" @click.native="handleMoreAction(0, scope.row)" >åéçä¿¡æé</el-dropdown-item > åéçä¿¡æé </el-dropdown-item> <el-dropdown-item v-if=" checkPermi(['admin:vehicle:call']) && scope.row.vehicleStatusCode == 1255 scope.row.vehicleStatusCode == 1255 " @click.native="handleMoreAction(1, scope.row)" >æå¨å«å·</el-dropdown-item > æå¨å«å· </el-dropdown-item> <el-dropdown-item v-if=" checkPermi(['admin:vehicle:pass']) && scope.row.vehicleStatusCode == 1256 scope.row.vehicleStatusCode == 1256 " @click.native="handleMoreAction(2, scope.row)" >æ 记为已è¿å·</el-dropdown-item > æ 记为已è¿å· </el-dropdown-item> <el-dropdown-item v-if=" checkPermi(['admin:vehicle:reQueue']) && scope.row.vehicleStatusCode == 1257 scope.row.vehicleStatusCode == 1257 " @click.native="handleMoreAction(3, scope.row)" >éæ°æé</el-dropdown-item > éæ°æé </el-dropdown-item> </el-dropdown-menu> </el-dropdown> </template> @@ -208,7 +278,7 @@ <edit v-if="editDialogConfig.visible" :edit-data="editDialogConfig.editData" :isReQueue="editDialogConfig.isReQueue" :is-re-queue="editDialogConfig.isReQueue" @hideEditDialog="hideEditDialog" @editSuccess="handleReloadData" /> @@ -216,10 +286,20 @@ </el-card> <el-card v-show="false"> <div class="print-dom"> <div class="print-dom-box" v-if="printInfo" id="printArea"> <div class="title">åºå ¥è¯ä¿¡æ¯</div> <div class="code-title">æéå·ç </div> <div class="code-code">{{ printInfo.queueNumber }}</div> <div v-if="printInfo" id="printArea" class="print-dom-box" > <div class="title"> åºå ¥è¯ä¿¡æ¯ </div> <div class="code-title"> æéå·ç </div> <div class="code-code"> {{ printInfo.queueNumber }} </div> <div class="code-wait"> åæ¹è¿æ{{ printInfo.currentWaitNum }}è¾è½¦æéä¸... </div> @@ -227,46 +307,84 @@ <qrcode v-if="printInfo.visible" :size="160" :qrUrl="printInfo.url" ></qrcode> :qr-url="printInfo.url" /> </div> <div class="qrcode-text">微信æ«ç æ¥çæéè¿åº¦</div> <div class="line"></div> <div class="qrcode-text"> 微信æ«ç æ¥çæéè¿åº¦ </div> <div class="line" /> <div class="cell"> <div class="cell-label">å§å</div> <div class="cell-value">{{ printInfo.name }}</div> <div class="cell-label"> å§å </div> <div class="cell-value"> {{ printInfo.name }} </div> </div> <div class="cell"> <div class="cell-label">车çå·</div> <div class="cell-value">{{ printInfo.licensePlate }}</div> <div class="cell-label"> 车çå· </div> <div class="cell-value"> {{ printInfo.licensePlate }} </div> </div> <div class="cell"> <div class="cell-label">ææºå·</div> <div class="cell-value">{{ printInfo.phone }}</div> <div class="cell-label"> ææºå· </div> <div class="cell-value"> {{ printInfo.phone }} </div> </div> <div class="cell"> <div class="cell-label">身份è¯å·ç </div> <div class="cell-value">{{ printInfo.idCard }}</div> <div class="cell-label"> 身份è¯å·ç </div> <div class="cell-value"> {{ printInfo.idCard }} </div> </div> <div class="cell"> <div class="cell-label">è£ å¸æ°é</div> <div class="cell-value">{{ printInfo.loadUnloadQty }}</div> <div class="cell-label"> è£ å¸æ°é </div> <div class="cell-value"> {{ printInfo.loadUnloadQty }} </div> </div> <div class="cell"> <div class="cell-label">åä½</div> <div class="cell-value">{{ printInfo.unitName }}</div> <div class="cell-label"> åä½ </div> <div class="cell-value"> {{ printInfo.unitName }} </div> </div> <div class="cell"> <div class="cell-label">è£ å¸åºå</div> <div class="cell-value">{{ printInfo.loadingAreaName }}</div> <div class="cell-label"> è£ å¸åºå </div> <div class="cell-value"> {{ printInfo.loadingAreaName }} </div> </div> <div class="cell"> <div class="cell-label">ç»è®°æ¶é´</div> <div class="cell-value">{{ printInfo.registerTime }}</div> <div class="cell-label"> ç»è®°æ¶é´ </div> <div class="cell-value"> {{ printInfo.registerTime }} </div> </div> <div class="cell"> <div class="cell-label">夿³¨</div> <div class="cell-value over-line">{{ printInfo.remark }}</div> <div class="cell-label"> 夿³¨ </div> <div class="cell-value over-line"> {{ printInfo.remark }} </div> </div> </div> </div> @@ -283,9 +401,9 @@ <div class="qrcodebox-container"> <qrcode v-if="qrcodeDialogConfig.visible" :qrUrl="qrcodeDialogConfig.url" :showText="qrcodeDialogConfig.text" ></qrcode> :qr-url="qrcodeDialogConfig.url" :show-text="qrcodeDialogConfig.text" /> </div> </el-dialog> </div> @@ -355,7 +473,7 @@ overTimeObj: null, // wsUrl: "wss://car-manager.truekey.mobi/admin/lineup", wsUrl: "wss://car-internalmanager.ztt.cn/admin/lineup", wsUrl: "wss://172.17.0.1:9031/admin/lineup", ws: null, lockReconnect: false, // æ¯å¦è¿æ¥æå @@ -365,8 +483,7 @@ }, mounted() { if (process.env.NODE_ENV === "production") { console.log("å½åæ¯ç产ç¯å¢"); let url = "https://car-internalmanager.ztt.cn/time"; let url = "https://172.17.0.1:9031/time"; // let url = "https://car-manager.truekey.mobi/time"; fetch(url, { method: "GET", @@ -382,7 +499,6 @@ this.goodHeade(); }); } else { console.log("å½åæ¯å¼åç¯å¢"); this.currentTime = this.getCurrentDate(); this.goodHeade(); } @@ -412,7 +528,7 @@ this.getList(1); }, //忢åºå handleChangeArea(tab, event) { handleChangeArea(tab) { this.tableFrom.areaId = tab.name; this.getList(1); this.getStsInfo(); @@ -420,7 +536,6 @@ handlePrintVehicle(item) { let that = this; getPrintVehcicleInfoApi({ queueNumber: item.queueNumber }).then((res) => { console.log("æå°ä¿¡æ¯ï¼", res); that.printInfo = undefined; let newEl = {}; newEl.queueNumber = res.queueNumber || "-"; @@ -439,7 +554,7 @@ newEl.registerTime = res.registerTime || "-"; newEl.remark = res.remark || "-"; // newEl.url = `https://car-manager.truekey.mobi/driver/javaMobile/queryResult/${res.linkCode}`; newEl.url = `https://car-manager.ztt.cn/driver/javaMobile/queryResult/${res.linkCode}`; newEl.url = `https://172.17.0.1:9031/driver/javaMobile/queryResult/${res.linkCode}`; newEl.visible = true; setTimeout(() => { @@ -467,7 +582,7 @@ if (type == 0) { this.$modalSure("åéçä¿¡æéåï¼").then(() => { sendSmsApi(item.id) .then((res) => { .then(() => { that.getList(1); that.listLoading = false; that.$message.success(tipsArr[type]); @@ -488,7 +603,7 @@ that.listLoading = true; const api = ["", putQueueCallNumberApi, putQueuePassNumberApi][type]; api(type == 1 ? item.id : item.masterId) .then((res) => { .then(() => { this.getList(1); that.listLoading = false; that.$message.success(tipsArr[type]); @@ -513,7 +628,7 @@ }, reloadOverTime() { let that = this; let url = "https://car-internalmanager.ztt.cn/time"; let url = "https://172.17.0.1:9031/time"; // let url = "https://car-manager.truekey.mobi/time"; fetch(url, { method: "GET", @@ -567,7 +682,6 @@ _fields.map((item) => { if (_lItem.status) { this.overtime = item.value; console.log("overtime", this.overtime); } }); }); @@ -594,7 +708,6 @@ }); this.headeNum = _selfList; console.log("xxxxx", this.headeNum); this.tableFrom.areaId = this.headeNum[0].id.toString(); this.getList(1); this.getStsInfo(this.tableFrom.areaId); @@ -654,8 +767,8 @@ // console.log('websocketåå»ºè¿æ¥-----ãæå') if ("WebSocket" in window) { that.ws = new WebSocket(that.wsUrl); } else if ("MozWebSocket" in window) { that.ws = new MozWebSocket(that.wsUrl); } else if ("MozWebSocket" in window && window.MozWebSocket) { that.ws = new window.MozWebSocket(that.wsUrl); } else { alert( "æ¨çæµè§å¨ä¸æ¯æwebsocketåè®®,å»ºè®®ä½¿ç¨æ°çè°·æãç«ççæµè§å¨ï¼è¯·å¿ä½¿ç¨IE10以䏿µè§å¨ï¼360æµè§å¨è¯·ä½¿ç¨æé模å¼ï¼ä¸è¦ä½¿ç¨å ¼å®¹æ¨¡å¼ï¼" src/views/vehicle/registration/index.vue
@@ -11,7 +11,12 @@ <el-card class="box-card"> <div class="clearfix"> <div class="container"> <el-form size="small" label-width="70px" ref="vehicleInfo" inline> <el-form ref="vehicleInfo" size="small" label-width="70px" inline > <el-form-item label="身份è¯å·"> <el-input v-model="tableFrom.idCard" @@ -19,8 +24,7 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="å§å"> <el-input @@ -29,8 +33,7 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="ææºå·"> <el-input @@ -39,8 +42,7 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="车çå·"> <el-input @@ -49,8 +51,7 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="è£ å¸åºå"> <el-select @@ -64,8 +65,7 @@ :key="item.id" :label="item.name" :value="item.id" > </el-option> /> </el-select> </el-form-item> <el-form-item label="订åç±»å"> @@ -80,8 +80,7 @@ :key="item.id" :label="item.name" :value="item.id" > </el-option> /> </el-select> </el-form-item> <el-form-item label="è£ å¸æ°é"> @@ -91,8 +90,7 @@ class="smallSelW" size="small" clearable > </el-input> /> ï½ <el-input v-model="tableFrom.loadUnloadQtyMax" @@ -100,8 +98,7 @@ class="smallSelW" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="åä½"> <el-select @@ -115,8 +112,7 @@ :key="item.id" :label="item.name" :value="item.id" > </el-option> /> </el-select> </el-form-item> <el-form-item label="车è¾ç¶æ"> @@ -131,8 +127,7 @@ :key="item.id" :label="item.name" :value="item.id" > </el-option> /> </el-select> </el-form-item> <el-form-item label="è´§ç©ç¶æ"> @@ -147,8 +142,7 @@ :key="item.id" :label="item.name" :value="item.id" > </el-option> /> </el-select> </el-form-item> <el-form-item label="æéå·ç "> @@ -158,8 +152,7 @@ class="selWidth" size="small" clearable > </el-input> /> </el-form-item> <el-form-item label="äºç±"> <el-select @@ -173,8 +166,7 @@ :key="item.id" :label="item.name" :value="item.id" > </el-option> /> </el-select> </el-form-item> @@ -192,34 +184,54 @@ /> </el-form-item> <el-form-item> <el-button type="primary" @click="getList(1)" size="small" >æ¥è¯¢</el-button <el-button type="primary" size="small" @click="getList(1)" > æ¥è¯¢ </el-button> </el-form-item> <el-form-item> <el-button @click="resetForm('vehicleInfo')" size="small" >éç½®</el-button <el-button size="small" @click="resetForm('vehicleInfo')" > éç½® </el-button> </el-form-item> </el-form> <el-button v-hasPermi="['admin:vehicle:add']" size="small" type="primary" class="mr10" @click="handleAddVehicle()" v-hasPermi="['admin:vehicle:add']" >æ·»å 车è¾ä¿¡æ¯</el-button > æ·»å 车è¾ä¿¡æ¯ </el-button> </div> </div> </el-card> <el-card v-show="showPrint"> <div class="print-dom"> <div class="print-dom-box" id="printArea"> <div v-for="item in printInfos" :key="item.id"> <div class="title">åºå ¥è¯ä¿¡æ¯</div> <div class="code-title">æéå·ç </div> <div class="code-code">{{ item.queueNumber }}</div> <div id="printArea" class="print-dom-box" > <div v-for="item in printInfos" :key="item.id" > <div class="title"> åºå ¥è¯ä¿¡æ¯ </div> <div class="code-title"> æéå·ç </div> <div class="code-code"> {{ item.queueNumber }} </div> <div class="code-wait"> åæ¹è¿æ{{ item.currentWaitNum }}è¾è½¦æéä¸... </div> @@ -227,46 +239,84 @@ <qrcode v-if="item.visible" :size="160" :qrUrl="item.url" ></qrcode> :qr-url="item.url" /> </div> <div class="qrcode-text">微信æ«ç æ¥çæéè¿åº¦</div> <div class="line"></div> <div class="qrcode-text"> 微信æ«ç æ¥çæéè¿åº¦ </div> <div class="line" /> <div class="cell"> <div class="cell-label">å§å</div> <div class="cell-value">{{ item.name }}</div> <div class="cell-label"> å§å </div> <div class="cell-value"> {{ item.name }} </div> </div> <div class="cell"> <div class="cell-label">车çå·</div> <div class="cell-value">{{ item.licensePlate }}</div> <div class="cell-label"> 车çå· </div> <div class="cell-value"> {{ item.licensePlate }} </div> </div> <div class="cell"> <div class="cell-label">ææºå·</div> <div class="cell-value">{{ item.phone }}</div> <div class="cell-label"> ææºå· </div> <div class="cell-value"> {{ item.phone }} </div> </div> <div class="cell"> <div class="cell-label">身份è¯å·ç </div> <div class="cell-value">{{ item.idCard }}</div> <div class="cell-label"> 身份è¯å·ç </div> <div class="cell-value"> {{ item.idCard }} </div> </div> <div class="cell"> <div class="cell-label">è£ å¸æ°é</div> <div class="cell-value">{{ item.loadUnloadQty }}</div> <div class="cell-label"> è£ å¸æ°é </div> <div class="cell-value"> {{ item.loadUnloadQty }} </div> </div> <div class="cell"> <div class="cell-label">åä½</div> <div class="cell-value">{{ item.unitName }}</div> <div class="cell-label"> åä½ </div> <div class="cell-value"> {{ item.unitName }} </div> </div> <div class="cell"> <div class="cell-label">è£ å¸åºå</div> <div class="cell-value">{{ item.loadingAreaName }}</div> <div class="cell-label"> è£ å¸åºå </div> <div class="cell-value"> {{ item.loadingAreaName }} </div> </div> <div class="cell"> <div class="cell-label">ç»è®°æ¶é´</div> <div class="cell-value">{{ item.registerTime }}</div> <div class="cell-label"> ç»è®°æ¶é´ </div> <div class="cell-value"> {{ item.registerTime }} </div> </div> <div class="cell"> <div class="cell-label">夿³¨</div> <div class="cell-value over-line">{{ item.remark }}</div> <div class="cell-label"> 夿³¨ </div> <div class="cell-value over-line"> {{ item.remark }} </div> </div> <!-- <div v-if="printInfos && printInfos.length > 1" class="mb"></div> --> </div> @@ -284,19 +334,47 @@ :cell-style="{ textAlign: 'center' }" :header-cell-style="{ fontWeight: 'bold', textAlign: 'center' }" > <el-table-column prop="idCard" label="身份è¯å·" width="150" /> <el-table-column prop="name" label="å§å" min-width="80" /> <el-table-column prop="idCard" label="身份è¯å·" width="150" /> <el-table-column prop="name" label="å§å" min-width="80" /> <el-table-column prop="phone" label="ææºå·" min-width="100" /> <el-table-column prop="licensePlate" label="车çå·" min-width="90" /> <el-table-column prop="phone" label="ææºå·" min-width="100" /> <el-table-column prop="licensePlate" label="车çå·" min-width="90" /> <el-table-column prop="loadingAreaName" label="è£ å¸åºå" min-width="70" /> <el-table-column prop="orderTypeName" label="订åç±»å" width="70" /> <el-table-column prop="loadUnloadQty" label="è£ å¸æ°é" min-width="70" /> <el-table-column prop="unitName" label="åä½" min-width="50" /> <el-table-column prop="orderTypeName" label="订åç±»å" width="70" /> <el-table-column prop="loadUnloadQty" label="è£ å¸æ°é" min-width="70" /> <el-table-column prop="unitName" label="åä½" min-width="50" /> <el-table-column prop="vehicleStatusName" label="车è¾ç¶æ" @@ -307,14 +385,30 @@ label="è´§ç©ç¶æ" min-width="70" /> <el-table-column prop="queueNumber" label="æéå·ç " min-width="80" /> <el-table-column prop="reasonName" label="äºç±" min-width="60" /> <el-table-column label="ç»è®°æ¶é´" min-width="135" align="center"> <el-table-column prop="queueNumber" label="æéå·ç " min-width="80" /> <el-table-column prop="reasonName" label="äºç±" min-width="60" /> <el-table-column label="ç»è®°æ¶é´" min-width="135" align="center" > <template slot-scope="scope"> <span>{{ scope.row.registerTime | vformatDate }}</span> </template> </el-table-column> <el-table-column prop="remark" label="夿³¨" min-width="60" /> <el-table-column prop="remark" label="夿³¨" min-width="60" /> <el-table-column label="æä½" @@ -324,21 +418,23 @@ > <template slot-scope="scope"> <el-button v-hasPermi="['admin:vehicle:edit']" type="text" @click="handleEditVehicle(scope.row)" size="small" class="mr10" v-hasPermi="['admin:vehicle:edit']" >ç¼è¾</el-button @click="handleEditVehicle(scope.row)" > ç¼è¾ </el-button> <el-button v-hasPermi="['admin:vehicle:delete']" type="text" size="small" v-hasPermi="['admin:vehicle:delete']" @click="handleDeleteVehicle(scope.row.masterId)" >å é¤</el-button > å é¤ </el-button> </template> </el-table-column> </el-table> @@ -375,18 +471,15 @@ <script> import * as systemGroupDataApi from "@/api/systemGroupData.js"; import { getVehicleListApi, deleteVehicleApi } from "@/api/vehicle"; import cardsData from "@/components/cards/index"; import { checkPermi } from "@/utils/permission"; // æé夿彿° import { Debounce } from "@/utils/validate"; import edit from "./edit"; import qrcode from "@/components/qrcode/index.vue"; import printJS from "print-js"; import printCss from "./printCss"; export default { name: "systemLog", name: "SystemLog", components: { cardsData, edit, qrcode, }, @@ -462,9 +555,6 @@ }, methods: { checkPermi, resetForm() { this.dialogVisible = false; }, getOptionList(id) { // è·ååè¡¨æ°æ® @@ -499,15 +589,6 @@ } }); }, handlerSubmit: Debounce(function (formValue) { formValue.id = this.applyId; formValue.extractType = this.extractType; applyUpdateApi(formValue).then((data) => { this.$message.success("ç¼è¾æå"); this.dialogVisible = false; this.getList(); }); }), hideEditDialog() { this.editDialogConfig.visible = false; @@ -515,7 +596,7 @@ handleDeleteVehicle(id) { this.$modalSure("å é¤è¯¥è½¦è¾ä¿¡æ¯åï¼å ³èçå ¶ä»åºåç车è¾ä¿¡æ¯ä¼ä¸èµ·å é¤").then(() => { deleteVehicleApi(id) .then((res) => { .then(() => { this.$message.success("å 餿å"); this.getList(1); }) @@ -644,7 +725,7 @@ newEl.registerTime = element.registerTime || "-"; newEl.remark = element.remark || "-"; // newEl.url = `https://car-manager.truekey.mobi/driver/javaMobile/queryResult/${element.linkCode}`; newEl.url = `https://car-manager.ztt.cn/driver/javaMobile/queryResult/${element.linkCode}`; newEl.url = `https://172.17.0.1:9031/driver/javaMobile/queryResult/${element.linkCode}`; newEl.visible = true; printArr.push(newEl); } vue.config.js
@@ -1,6 +1,9 @@ "use strict"; const path = require("path"); const defaultSettings = require("./src/settings.js"); // 代çç®æ å°åï¼å端æå¡ï¼ï¼ä¾å¦: http://172.17.0.1:8080 // å¯å¨æ¶å¯éè¿ç¯å¢åéè¦çï¼VUE_APP_PROXY_TARGET=... const baseUrl = process.env.VUE_APP_PROXY_TARGET || "http://1.15.17.182/:9031"; function resolve(dir) { return path.join(__dirname, dir); @@ -13,7 +16,8 @@ // For example, Mac: sudo npm run // You can change the port by the following method: // port = 9527 npm run dev OR npm run dev --port = 9527 const port = process.env.port || process.env.npm_config_port || 9527; // dev port // åºå®å¼åæå¡ç«¯å£ï¼ç¡®ä¿å¤é¨å¯è®¿é® `172.17.0.1:9031` const port = 9001; // dev port // All configuration item explanations can be find in https://cli.vuejs.org/config/ module.exports = { @@ -34,18 +38,29 @@ publicPath: "/", outputDir: "dist", assetsDir: "static", lintOnSave: process.env.NODE_ENV === "development", // å¨é¨åç¯å¢ä¸ eslint-loader ä¼å é 置解æå¤±è´¥ç´æ¥å¯¼è´æå»ºä¸æ // è¿éå å ³éï¼ç¡®ä¿é¡¹ç®å¯ä»¥æ£å¸¸è¿è¡ï¼ä½ åç»åè¡¥é½ eslint è§åå³å¯ã lintOnSave: false, productionSourceMap: false, devServer: { // 让å¤é¨ï¼ä¾å¦ 172.17.0.1ï¼è½è®¿é®å¼åæå¡ port: port, open: true, open: false, overlay: { warnings: false, errors: true, }, // æ¬å°ä»£çï¼å¯¹æ¯ Vite ç proxy é ç½®æè·¯ï¼ä½¿ç¨ vue-cli ç proxy // ç±äºæ¬é¡¹ç®æ¥å£ä¸»è¦ä»¥ /api å¼å¤´ï¼è¿é忶代ç /api ä¸ /dev-apiã proxy: { // 项ç®å®é 请æ±ä¸è¬æ¯ /api/...ï¼è¿éç´æ¥è½¬åå¹¶ä¿æ /api åç¼ä¸å "^/api": { target: baseUrl, changeOrigin: true, }, }, }, configureWebpack: { // provide the app's title in webpack's name field, so that // it can be accessed in index.html to inject the correct title. @@ -63,7 +78,10 @@ config.plugins.delete("prefetch"); // TODO: need test // set svg-sprite-loader config.module.rule("svg").exclude.add(resolve("src/icons")).end(); config.module .rule("svg") .exclude.add(resolve("src/icons")) .end(); config.module .rule("icons") .test(/\.svg$/) yarn.lock
ÎļþÌ«´ó