From 89d75ee7b52a78c26c4eafc2dcb00ffd39daa596 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 13 十二月 2023 16:38:17 +0800
Subject: [PATCH] 出库、入库、调拨、报废新建的时候增加对应单号及编码规范
---
src/views/operate/scrap/AddScrapDialog.vue | 30 ++
src/views/overview/AddOverviewDialog.vue | 493 ++++++++++++++++++++++++-----------
src/views/overview/OverviewListView.vue | 17
src/views/overview/mixin/codeMixin.js | 133 +++++++++
src/views/operate/scrap/index.vue | 134 ++++-----
src/components/layout/components/appsidebar/index.vue | 30 +-
6 files changed, 585 insertions(+), 252 deletions(-)
diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue
index f14c975..f45ebde 100644
--- a/src/components/layout/components/appsidebar/index.vue
+++ b/src/components/layout/components/appsidebar/index.vue
@@ -16,14 +16,12 @@
text-color="#bfcbd9"
active-text-color="#fff"
>
-
- <el-submenu v-for="item in menus" :key="item.id" :index="item.id">
+ <el-submenu v-for="item in menus" :key="item.id" :index="item.id">
<template slot="title">
<i class="el-icon-s-grid icon"></i>
<span>{{ item.title }}</span>
</template>
- <el-menu-item v-for="itm in item.children" :key="itm.id" :index="itm.path">{{ itm.title }}</el-menu-item>
-
+ <el-menu-item v-for="itm in item.children" :key="itm.id" :index="itm.path">{{ itm.title }}</el-menu-item>
</el-submenu>
</el-menu>
</div>
@@ -31,14 +29,14 @@
</template>
<script>
-import {getMenuTreeByRole} from "@/api/menus/index"
-import { mapMutations } from 'vuex';
+import { getMenuTreeByRole } from "@/api/menus/index"
+import { mapMutations } from "vuex"
export default {
name: "AppSidebar",
props: {},
data() {
return {
- menus:[]
+ menus: []
}
},
watch: {},
@@ -46,16 +44,16 @@
this.initNavMenu()
this.getMenuTreeByRole()
},
- computed:{
- // ...mapState(['menus']),
+ computed: {
+ // ...mapState(['menus']),
},
methods: {
- ...mapMutations(['setMenus']),
- getMenuTreeByRole(){
- getMenuTreeByRole().then((res)=>{
- res.data.list.map((item)=>{
- if(item.systemType===3){
- this.menus=item.menus
+ ...mapMutations(["setMenus"]),
+ getMenuTreeByRole() {
+ getMenuTreeByRole().then((res) => {
+ res.data.list.map((item) => {
+ if (item.systemType === 3) {
+ this.menus = item.menus
}
})
})
@@ -65,7 +63,7 @@
// console.log(this.$route.name)
},
handleOpen(index) {
- console.log(index,"menuIndex")
+ console.log(index, "menuIndex")
},
handleClose() {}
}
diff --git a/src/views/operate/scrap/AddScrapDialog.vue b/src/views/operate/scrap/AddScrapDialog.vue
index ab6c744..3393fb9 100644
--- a/src/views/operate/scrap/AddScrapDialog.vue
+++ b/src/views/operate/scrap/AddScrapDialog.vue
@@ -44,6 +44,25 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
+ <el-form-item label="鎶ュ簾鍗曞彿" prop="number">
+ <el-input
+ style="width: 85%"
+ v-if="
+ editConfig.title == '缂栬緫' ||
+ editConfig.title == '鏌ョ湅' ||
+ (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+ "
+ :disabled="editConfig.title != '鏂板缓'"
+ v-model="editConfig.infomation.number"
+ placeholder="璇疯緭鍏ョ紪鐮�"
+ >
+ </el-input>
+ <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c; width: 85%"
+ >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+ >
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item label="浜у搧" prop="productName">
<SimpleSearchInput
:echoValue="editConfig.infomation.productName"
@@ -127,8 +146,10 @@
import { getLocationList } from "@/api/overview/overview"
import { addDisuse, finishDisuse, updateScrap } from "@/api/operate/scrap"
import SimpleSearchInput from "@/components/makepager/SimpleSearchInput"
+import codeMixin from "@/views/overview/mixin/codeMixin"
export default {
name: "AddScrapDialog",
+ mixins: [codeMixin],
props: {
editCommonConfig: {
type: Object,
@@ -176,8 +197,17 @@
this.getProductList()
this.getLocationList()
this.unit = this.editConfig.infomation.unit || ""
+ this.formInfo()
},
methods: {
+ formInfo() {
+ this.objCode.type = "浠撳簱鎶ュ簾缂栫爜"
+ this.objCode.codeStandID = ""
+ if (this.editConfig.infomation.codeStandardID) {
+ this.objCode.codeStandID = this.editConfig.infomation.codeStandardID
+ }
+ this.getRCodeStandardList()
+ },
// 浜у搧
async getProductList() {
await getProductList({
diff --git a/src/views/operate/scrap/index.vue b/src/views/operate/scrap/index.vue
index 5a10919..ae4d460 100644
--- a/src/views/operate/scrap/index.vue
+++ b/src/views/operate/scrap/index.vue
@@ -20,39 +20,29 @@
<template slot="tableButton">
<el-table-column fixed="right" label="鎿嶄綔" width="100">
<template slot-scope="scope">
- <el-button
- @click="examineClick(scope.row)"
- type="text"
- size="small"
- >鏌ョ湅</el-button
+ <el-button @click="examineClick(scope.row)" type="text" size="small">鏌ョ湅</el-button>
+ <el-button type="text" v-if="scope.row.status != 4" size="small" @click="editClick(scope.row)"
+ >缂栬緫</el-button
>
- <el-button type="text" v-if="scope.row.status!=4" size="small" @click="editClick(scope.row)">缂栬緫</el-button>
</template>
</el-table-column>
</template>
</TableCommonView>
</div>
<div class="btn-pager">
- <PagerView
- class="page"
- :pager-options="pagerOptions"
- v-on="pagerEvents"
- />
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
</div>
<!-- 鏂板缓/缂栬緫 -->
- <AddScrapDialog
- v-if="editConfig.visible"
- :editCommonConfig="editConfig"
- />
+ <AddScrapDialog v-if="editConfig.visible" :editCommonConfig="editConfig" />
</div>
</template>
<script>
-import pageMixin from "@/components/makepager/pager/mixin/pageMixin";
-import { getDisuseList } from "@/api/operate/scrap";
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getDisuseList } from "@/api/operate/scrap"
// import DetailProduct from "@/views/productManage/product/DetailProduct"
-import AddScrapDialog from "@/views/operate/scrap/AddScrapDialog";
+import AddScrapDialog from "@/views/operate/scrap/AddScrapDialog"
export default {
name: "ScrapView",
@@ -68,27 +58,27 @@
visible: false,
title: "鏂板缓",
infomation: {},
- showEdit:false,
+ showEdit: false
},
- keyword: "",
- };
+ keyword: ""
+ }
},
created() {
- this.setTable();
- this.getData();
+ this.setTable()
+ this.getData()
},
methods: {
// 鏌ョ湅
examineClick(row) {
- this.editConfig.title = "鏌ョ湅";
- this.editConfig.infomation = { ...row };
- this.editConfig.visible = true;
+ this.editConfig.title = "鏌ョ湅"
+ this.editConfig.infomation = { ...row }
+ this.editConfig.visible = true
},
- editClick(row){
- console.log(row,"缂栬緫")
- this.editConfig.title = "缂栬緫";
- this.editConfig.infomation = { ...row };
- this.editConfig.visible = true;
+ editClick(row) {
+ console.log(row, "缂栬緫")
+ this.editConfig.title = "缂栬緫"
+ this.editConfig.infomation = { ...row }
+ this.editConfig.visible = true
},
setTable() {
this.tableList = {
@@ -97,61 +87,61 @@
selectIndex: true,
showcol: this.showcol,
allcol: [],
- tableColumn: this.setTableColumn(this.showcol),
- };
- let allcol = [];
+ tableColumn: this.setTableColumn(this.showcol)
+ }
+ let allcol = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
if (!this.tableList.tableColumn[i].default) {
- const label = this.tableList.tableColumn[i].label;
- allcol.push(label);
+ const label = this.tableList.tableColumn[i].label
+ allcol.push(label)
}
}
- this.tableList.allcol = allcol;
+ this.tableList.allcol = allcol
},
setTableColumn(showcol) {
- console.log(showcol);
+ console.log(showcol)
let tableColumn = [
{
- label: "鍗曞彿",
+ label: "鎶ュ簾鍗曞彿",
prop: "number",
isShowColumn: true,
- default: true,
+ default: true
},
{
label: "鏃ユ湡",
prop: "operationDate",
isShowColumn: true,
- default: true,
+ default: true
},
{
label: "浜у搧",
prop: "productName",
isShowColumn: true,
- default: true,
+ default: true
},
{
label: "鏁伴噺",
prop: "amount",
isShowColumn: true,
- default: false,
+ default: false
},
{
label: "璁¢噺鍗曚綅",
prop: "unit",
isShowColumn: true,
- default: false,
+ default: false
},
{
label: "婧愪綅缃�",
prop: "from",
isShowColumn: true,
- default: false,
+ default: false
},
{
label: "鎶ュ簾浣嶇疆",
prop: "to",
isShowColumn: true,
- default: false,
+ default: false
},
{
label: "鐘舵��",
@@ -161,61 +151,61 @@
default: false,
status: true,
isCallMethod: true,
- getCallMethod: this.getStatus,
- },
- ];
- return tableColumn;
+ getCallMethod: this.getStatus
+ }
+ ]
+ return tableColumn
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setTableColumn(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setTableColumn(val)
},
// 璇锋眰鏁版嵁
async getData() {
await getDisuseList({
number: this.keyword,
page: this.pagerOptions.currPage,
- pageSize: this.pagerOptions.pageSize,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
const list = res.data.map((item) => {
return {
...item,
from: item.fromLocation.name,
- to: item.toLocation.name,
- };
- });
- this.tableList.tableInfomation = list || [];
- this.pagerOptions.totalCount = res.total;
+ to: item.toLocation.name
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.total
}
- });
+ })
},
// 鎼滅储
getList(val) {
- this.keyword = val;
- console.log(val);
- this.pagerOptions.currPage = 1;
- this.getData();
+ this.keyword = val
+ console.log(val)
+ this.pagerOptions.currPage = 1
+ this.getData()
},
// 琛岀偣鍑�
tableRowClick(row) {
- console.log(row);
+ console.log(row)
// this.editConfig.visible = true;
// this.editConfig.title = "缂栬緫";
- this.editConfig.infomation = { ...row };
+ this.editConfig.infomation = { ...row }
},
// 鏂板缓
addBtnClick() {
- this.editConfig.visible = true;
- this.editConfig.title = "鏂板缓";
- this.editConfig.infomation = {};
+ this.editConfig.visible = true
+ this.editConfig.title = "鏂板缓"
+ this.editConfig.infomation = {}
},
// 鐘舵��
getStatus(val) {
- return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚";
- },
- },
-};
+ return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"
+ }
+ }
+}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue
index 9226689..cb5614a 100644
--- a/src/views/overview/AddOverviewDialog.vue
+++ b/src/views/overview/AddOverviewDialog.vue
@@ -1,12 +1,16 @@
<template>
<div class="add-common">
- <el-dialog :title="editCommonConfig.title + '閲囪喘鍏ュ簱'" :visible.sync="editConfig.visible" :width="dialogWidth"
- :before-close="handleClose">
+ <el-dialog
+ :title="editCommonConfig.title + '閲囪喘鍏ュ簱'"
+ :visible.sync="editConfig.visible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ >
<!-- 澶� -->
<div slot="title" class="dialog-header">
<span>{{ editCommonConfig.title === "鏌ョ湅" ? editCommonConfig.title : editCommonConfig.title + addName }}</span>
<div class="header_btns">
- <span class="btn" :style="{cursor:thatCursor,color:thatColor}" @click="btnPrint" :disabled="true">
+ <span class="btn" :style="{ cursor: thatCursor, color: thatColor }" @click="btnPrint" :disabled="true">
<i class="el-icon-printer"></i>
<span>鎵撳嵃</span>
</span>
@@ -14,45 +18,118 @@
<i class="el-icon-s-tools"></i>
<span>鍔ㄤ綔</span>
</span>
- <el-button v-if="showEdit" :disabled="this.editConfig.infomation.status === 5" plain size="mini"
- style="margin-left: 15px" @click="editClick">缂栬緫</el-button>
+ <el-button
+ v-if="showEdit"
+ :disabled="this.editConfig.infomation.status === 5"
+ plain
+ size="mini"
+ style="margin-left: 15px"
+ @click="editClick"
+ >缂栬緫</el-button
+ >
</div>
</div>
<!-- 鍐呭 -->
- <el-form ref="form" :model="editConfig.infomation" :rules="rules" label-position="right" label-width="120px"
- size="mini">
+ <el-form
+ ref="form"
+ :model="editConfig.infomation"
+ :rules="rules"
+ label-position="right"
+ label-width="120px"
+ size="mini"
+ >
<div>
<!-- <div>aaa</div> -->
- <StatusCommonView :showButton="showButton" :isValidateClick="isValidateClick" :isDelClick="isDelClick"
- :isCancel="isCancel" :list="list" :showCancel="showCancel" @delClick="delClick" @validateClick="validateClick"
- @btnCancel="btnCancel" />
+ <StatusCommonView
+ :showButton="showButton"
+ :isValidateClick="isValidateClick"
+ :isDelClick="isDelClick"
+ :isCancel="isCancel"
+ :list="list"
+ :showCancel="showCancel"
+ @delClick="delClick"
+ @validateClick="validateClick"
+ @btnCancel="btnCancel"
+ />
</div>
<div class="basic-info">
<div class="basic-info-view">
<el-row>
<el-col :span="12">
+ <el-form-item prop="number">
+ <span slot="label">{{ workType === 1 ? "鍏ュ簱" : workType === 2 ? "鍑哄簱" : "璋冩嫧" }}鍗曞彿</span>
+ <el-input
+ style="width: 85%"
+ v-if="
+ editConfig.title == '缂栬緫' ||
+ editConfig.title == '鏌ョ湅' ||
+ (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+ "
+ :disabled="editConfig.title != '鏂板缓'"
+ v-model="editConfig.infomation.number"
+ placeholder="璇疯緭鍏ョ紪鐮�"
+ >
+ </el-input>
+ <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c; width: 85%"
+ >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+ >
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item prop="companyName">
<span slot="label">{{ workType === 1 ? "渚涘簲鍟�" : workType === 2 ? "瀹㈡埛" : "鑱旂郴浜�" }}</span>
- <el-select v-if="workType === 1" v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨"
- size="mini" style="width: 90%" :disabled="!showFooter" @change="companyChange">
- <el-option v-for="item in supplierOptions" :key="item.SupplierId" :label="item.SupplierName"
- :value="{ value: item.SupplierId, label: item.SupplierName }">
+ <el-select
+ v-if="workType === 1"
+ v-model="editConfig.infomation.companyName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="companyChange"
+ >
+ <el-option
+ v-for="item in supplierOptions"
+ :key="item.SupplierId"
+ :label="item.SupplierName"
+ :value="{ value: item.SupplierId, label: item.SupplierName }"
+ >
</el-option>
</el-select>
- <el-select v-else-if="workType === 2" v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨"
- size="mini" style="width: 90%" :disabled="!showFooter" @change="companyChange">
- <el-option v-for="item in clientOptions" :key="item.ClientId" :label="item.ClientName"
- :value="{ value: item.ClientId, label: item.ClientName }">
+ <el-select
+ v-else-if="workType === 2"
+ v-model="editConfig.infomation.companyName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="companyChange"
+ >
+ <el-option
+ v-for="item in clientOptions"
+ :key="item.ClientId"
+ :label="item.ClientName"
+ :value="{ value: item.ClientId, label: item.ClientName }"
+ >
</el-option>
</el-select>
- <el-select v-else v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter" @change="companyChange">
- <el-option v-for="item in companyOptions" :key="item.id" :label="item.name"
- :value="{ value: item.id, label: item.name }">
+ <el-select
+ v-else
+ v-model="editConfig.infomation.companyName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="companyChange"
+ >
+ <el-option
+ v-for="item in companyOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="{ value: item.id, label: item.name }"
+ >
</el-option>
</el-select>
-
</el-form-item>
</el-col>
<!-- <el-col :span="12">
@@ -85,15 +162,26 @@
</el-col> -->
<el-col :span="12">
<el-form-item label="鏃ユ湡" prop="operationDate">
- <el-date-picker v-model="editConfig.infomation.operationDate" value-format="yyyy-MM-dd" type="date"
- placeholder="閫夋嫨鏃ユ湡" style="width: 90%" :disabled="!showFooter">
+ <el-date-picker
+ v-model="editConfig.infomation.operationDate"
+ value-format="yyyy-MM-dd"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
</el-date-picker>
</el-form-item>
</el-col>
<el-col v-if="showOperationType" :span="12">
<el-form-item label="鍏ュ簱绫诲瀷" prop="operationTypeId">
- <el-select v-model="editConfig.infomation.operationTypeId" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter">
+ <el-select
+ v-model="editConfig.infomation.operationTypeId"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
<el-option v-for="item in operationTypeOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
@@ -106,34 +194,68 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏉ユ簮鍗曟嵁" prop="sourceNumber">
- <el-input v-model="editConfig.infomation.sourceNumber" placeholder="渚嬪:PO0032" style="width: 90%"
- :disabled="!showFooter"></el-input>
+ <el-input
+ v-model="editConfig.infomation.sourceNumber"
+ placeholder="渚嬪:PO0032"
+ style="width: 90%"
+ :disabled="!showFooter"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="workType !== 1" label="婧愪綅缃�" prop="fromLocationId">
- <el-select v-model="editConfig.infomation.fromLocationId" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter">
- <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" :value="item.id">
+ <el-select
+ v-model="editConfig.infomation.fromLocationId"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
+ <el-option
+ v-for="item in toLocationOptions"
+ :key="item.id"
+ :label="item.jointName"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="workType !== 2" label="浠撳簱浣嶇疆" prop="toLocationId">
- <el-select v-model="editConfig.infomation.toLocationId" placeholder="璇烽�夋嫨" size="mini" style="width: 90%"
- :disabled="!showFooter">
- <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" :value="item.id">
+ <el-select
+ v-model="editConfig.infomation.toLocationId"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
+ <el-option
+ v-for="item in toLocationOptions"
+ :key="item.id"
+ :label="item.jointName"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="璐熻矗浜�" prop="contacterName">
- <el-select v-model="editConfig.infomation.contacterName" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter" @change="contacterChange">
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.name"
- :value="{ value: item.id, label: item.name }">
+ <el-select
+ v-model="editConfig.infomation.contacterName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="contacterChange"
+ >
+ <el-option
+ v-for="item in memberOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="{ value: item.id, label: item.name }"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -154,8 +276,14 @@
</el-col> -->
<el-col :span="24">
<el-form-item label="澶囨敞" prop="comment">
- <el-input v-model.trim="editConfig.infomation.comment" size="mini" type="textarea" style="width: 96%"
- :autosize="{ minRows: 3 }" :disabled="!showFooter"></el-input>
+ <el-input
+ v-model.trim="editConfig.infomation.comment"
+ size="mini"
+ type="textarea"
+ style="width: 96%"
+ :autosize="{ minRows: 3 }"
+ :disabled="!showFooter"
+ ></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -168,8 +296,12 @@
</el-tabs>
<!-- 鎿嶄綔 -->
<div v-if="activeName === 'first'">
- <CommonFormTableView :product-table-list="productTableList" :detail-enter="!showFooter"
- @inputContent="inputContent" @addProductClick="addProductClick('鎿嶄綔')">
+ <CommonFormTableView
+ :product-table-list="productTableList"
+ :detail-enter="!showFooter"
+ @inputContent="inputContent"
+ @addProductClick="addProductClick('鎿嶄綔')"
+ >
<template v-if="showFooter" slot="tableButton">
<el-table-column label="鎿嶄綔" width="60" fixed="right" align="center">
<template slot-scope="scope">
@@ -183,51 +315,88 @@
</div>
<!-- 鐗╂祦淇℃伅 -->
<div v-if="activeName === 'two' && this.workType === 2">
- <el-form :rules="rules2" ref="shipmentsInfo" label-position="right" :model="editConfig.infomation" label-width="120px" size="mini"
- style="margin-top: 20px;">
+ <el-form
+ :rules="rules2"
+ ref="shipmentsInfo"
+ label-position="right"
+ :model="editConfig.infomation"
+ label-width="120px"
+ size="mini"
+ style="margin-top: 20px"
+ >
<el-col :span="12">
<el-form-item label="鎵胯繍鍟�">
- <el-select size="mini" :disabled="!showFooter" v-model="editConfig.infomation.logisticCompanyId"
- placeholder="璇烽�夋嫨" style="width: 90%;">
- <el-option v-for="item in editConfig.infomation.carrier" :key="item.id" :label="item.name" :value="item.id">
+ <el-select
+ size="mini"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.logisticCompanyId"
+ placeholder="璇烽�夋嫨"
+ style="width: 90%"
+ >
+ <el-option
+ v-for="item in editConfig.infomation.carrier"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="杩愬崟鍙�">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.waybillNumber"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.waybillNumber"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏀惰揣浜�">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.receiverName"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.receiverName"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鑱旂郴鐢佃瘽" prop="receiverPhone">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.receiverPhone"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.receiverPhone"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏀惰揣鍦板潃">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.receiverAddr"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.receiverAddr"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="閲嶉噺">
- <el-input style="width: 90%;" :disabled="!showFooter" type="number"
- v-model="editConfig.infomation.weight"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ type="number"
+ v-model="editConfig.infomation.weight"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鐗╂祦閲嶉噺">
- <el-input style="width: 90%;" :disabled="!showFooter" type="number"
- v-model="editConfig.infomation.logisticWeight"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ type="number"
+ v-model="editConfig.infomation.logisticWeight"
+ ></el-input>
</el-form-item>
</el-col>
</el-form>
@@ -278,8 +447,10 @@
printReceipts
} from "@/api/overview/overview"
import { getSupplierList, getCompanyList, getClientList } from "@/api/common/other"
+import codeMixin from "@/views/overview/mixin/codeMixin"
export default {
name: "AddOverviewDialog",
+ mixins: [codeMixin],
props: {
editCommonConfig: {
type: Object,
@@ -317,21 +488,21 @@
toLocationId: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }],
fromLocationId: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }],
operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }],
- },
- rules2:{
- receiverPhone: [
+ number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
+ },
+ rules2: {
+ receiverPhone: [
// {required: true, message: "璇疯緭鍏ユ墜鏈哄彿", trigger: "change" },
{
- pattern:
- /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
+ pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�",
- trigger: ["blur",'change' ],
- },
- ]
+ trigger: ["blur", "change"]
+ }
+ ]
},
companyOptions: [], // 鍏徃
- supplierOptions: [],//渚涘簲鍟�
- clientOptions: [],//瀹㈡埛
+ supplierOptions: [], //渚涘簲鍟�
+ clientOptions: [], //瀹㈡埛
memberOptions: [{ id: 1, name: "绠$悊鍛�" }],
toLocationOptions: [], // 婧愪綅缃� 浠撳簱浣嶇疆
showButton: true,
@@ -357,16 +528,16 @@
operationTypeOptions: [], // 鍏ュ簱绫诲瀷鍒楄〃
shipmentsInfo: {
carrier: [],
- waybillNumber: '',
+ waybillNumber: "",
weight: 0,
logisticWeight: 0,
- receiverPhone:''
+ receiverPhone: ""
},
showCancel: false, // 鍙栨秷鏄惁鍙互鏄剧ず
list: [],
- pdfParams:{},
- thatCursor:this.workType===3?"no-drop":'pointer',
- thatColor:this.workType===3?'#ccc':'#000'
+ pdfParams: {},
+ thatCursor: this.workType === 3 ? "no-drop" : "pointer",
+ thatColor: this.workType === 3 ? "#ccc" : "#000"
}
},
created() {
@@ -381,8 +552,17 @@
this.getListTransfer()
}
this.getLogisticCompanyList()
+ this.formInfo()
},
methods: {
+ formInfo() {
+ this.objCode.type = this.workType === 1 ? "鍏ュ簱缂栫爜" : this.workType === 2 ? "鍑哄簱缂栫爜" : "璋冩嫧缂栫爜"
+ this.objCode.codeStandID = ""
+ if (this.editConfig.infomation.codeStandardID) {
+ this.objCode.codeStandID = this.editConfig.infomation.codeStandardID
+ }
+ this.getRCodeStandardList()
+ },
setStatusList() {
if (this.editConfig.infomation.status === 5) {
this.list = [
@@ -541,50 +721,50 @@
},
// 淇濆瓨
saveClick() {
- let validArr=[]
- if(this.workType === 2){
- console.log("鍑哄簱")
- validArr=[this.$refs.form.validate(),this.$refs.shipmentsInfo.validate()]
- }else{
+ let validArr = []
+ if (this.workType === 2) {
+ console.log("鍑哄簱")
+ validArr = [this.$refs.form.validate()]
+ } else {
console.log("鍏ュ簱")
- validArr=[this.$refs.form.validate()]
+ validArr = [this.$refs.form.validate()]
}
- console.log(validArr,"xxx")
+ console.log(validArr, "xxx")
Promise.all(validArr)
- .then((results) => {
- console.log(results,"鎵ц鎴愬姛")
- for (let i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].productName.length === 0) {
- this.isNoProduct = true
- break
- } else {
- this.isNoProduct = false
- }
- }
- if (this.isNoProduct) {
- this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖")
- } else {
- let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation
- let params = this.saveParams()
- requestUrl({
- ...params
- }).then((res) => {
- console.log(res)
- this.editConfig.visible = false
- if (res.code === 200) {
- if(this.editConfig.title === "鏂板缓"){
- this.$message.success("娣诲姞鎴愬姛")
- }else {
- this.$message.success("缂栬緫鎴愬姛")
- }
- this.$parent.getData()
+ .then((results) => {
+ console.log(results, "鎵ц鎴愬姛")
+ for (let i = 0; i < this.tableData.length; i++) {
+ if (this.tableData[i].productName.length === 0) {
+ this.isNoProduct = true
+ break
+ } else {
+ this.isNoProduct = false
}
- })
- }
- })
- .catch((error) => {
- console.error('琛ㄥ崟鏍¢獙鏈�氳繃:', error);
- });
+ }
+ if (this.isNoProduct) {
+ this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖")
+ } else {
+ let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation
+ let params = this.saveParams()
+ requestUrl({
+ ...params
+ }).then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ if (this.editConfig.title === "鏂板缓") {
+ this.$message.success("娣诲姞鎴愬姛")
+ } else {
+ this.$message.success("缂栬緫鎴愬姛")
+ }
+ this.$parent.getData()
+ }
+ })
+ }
+ })
+ .catch((error) => {
+ console.error("琛ㄥ崟鏍¢獙鏈�氳繃:", error)
+ })
},
saveParams() {
let data = this.editConfig.infomation
@@ -620,13 +800,13 @@
sourceNumber: data.sourceNumber || "",
status: 3,
toLocationId: data.toLocationId || 0,
- waybillNumber: data.waybillNumber || '',
+ waybillNumber: data.waybillNumber || "",
weight: data.weight || 0,
logisticWeight: data.logisticWeight || 0,
logisticCompanyId: data.logisticCompanyId,
- receiverAddr: data.receiverAddr || '',
- receiverName: data.receiverName || '',
- receiverPhone: data.receiverPhone || ''
+ receiverAddr: data.receiverAddr || "",
+ receiverName: data.receiverName || "",
+ receiverPhone: data.receiverPhone || ""
}
return params
},
@@ -796,57 +976,56 @@
// 鍙栨秷
btnCancel() {
- this.$confirm('纭畾鍙栨秷鍚楋紵', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- stateCancel(this.editConfig.infomation.id).then((res) => {
- console.log(res)
- this.editConfig.visible = false
- if (res.code === 200) {
- this.$message.success("鍙栨秷璋冩嫧")
- this.$parent.getData()
- }
+ this.$confirm("纭畾鍙栨秷鍚楋紵", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ stateCancel(this.editConfig.infomation.id).then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message.success("鍙栨秷璋冩嫧")
+ this.$parent.getData()
+ }
+ })
+ this.list.map((item) => {
+ if (item.label === "宸插彇娑�") {
+ item.status = "active"
+ } else {
+ item.status = "todo"
+ }
+ })
})
- this.list.map((item) => {
- if (item.label === "宸插彇娑�") {
- item.status = "active"
- } else {
- item.status = "todo"
- }
- })
- }).catch(() => {
- });
+ .catch(() => {})
},
//鎵撳嵃
async btnPrint() {
- if(this.workType!==3){
- localStorage.removeItem('pdfParams');
+ if (this.workType !== 3) {
+ localStorage.removeItem("pdfParams")
try {
- let res = await printReceipts(this.editCommonConfig.infomation.id);
- console.log(res);
+ let res = await printReceipts(this.editCommonConfig.infomation.id)
+ console.log(res)
if (res.code === 200) {
- console.log(this.editConfig.infomation.baseOperationType,"绫诲瀷")
+ console.log(this.editConfig.infomation.baseOperationType, "绫诲瀷")
let pdfParams = {
url: res.data,
baseOperationType: this.editConfig.infomation.baseOperationType || undefined,
cutAfterWidth: this.editConfig.infomation.baseOperationType === 2 ? 50.8 : 53.3
- };
+ }
var { href } = this.$router.resolve({
- path: '/overview/previewExcel',
- query:{
- ...pdfParams
- }
-
- });
- window.open(href, '_blank');
+ path: "/overview/previewExcel",
+ query: {
+ ...pdfParams
+ }
+ })
+ window.open(href, "_blank")
}
} catch (error) {
- console.error(error);
+ console.error(error)
}
}
-
}
}
}
@@ -870,7 +1049,7 @@
.btn:nth-of-type(2) {
cursor: no-drop;
- color:#ccc;
+ color: #ccc;
}
}
}
@@ -923,7 +1102,7 @@
}
}
- .el-tabs--card>.el-tabs__header {
+ .el-tabs--card > .el-tabs__header {
border-bottom: none;
}
diff --git a/src/views/overview/OverviewListView.vue b/src/views/overview/OverviewListView.vue
index 6a6fc75..777378c 100644
--- a/src/views/overview/OverviewListView.vue
+++ b/src/views/overview/OverviewListView.vue
@@ -22,7 +22,7 @@
<template slot-scope="scope">
<el-button @click="tableRowClick(scope.row, '鏌ョ湅')" type="text" size="small">鏌ョ湅</el-button>
<el-button
- v-if="scope.row.status !== 4&&scope.row.status !== 5"
+ v-if="scope.row.status !== 4 && scope.row.status !== 5"
@click="tableRowClick(scope.row, '缂栬緫')"
type="text"
size="small"
@@ -67,8 +67,7 @@
searchOptions: [],
commonDetail: {
visible: false,
- title: "鏂板缓"
- ,
+ title: "鏂板缓",
infomation: {}
},
editConfig: {
@@ -83,7 +82,8 @@
formLabel: "",
toLabel: "",
addName: "",
- searchTaskMap: []
+ searchTaskMap: [],
+ numberLabel: "鍗曞彿"
}
},
created() {
@@ -112,12 +112,15 @@
if (this.workType === 1) {
this.formLabel = "渚涘簲鍟嗕綅缃�"
this.toLabel = "浠撳簱浣嶇疆"
+ this.numberLabel = "鍏ュ簱鍗曞彿"
} else if (this.workType === 2) {
this.formLabel = "浠撳簱浣嶇疆"
this.toLabel = "瀹㈡埛浣嶇疆"
+ this.numberLabel = "鍑哄簱鍗曞彿"
} else {
this.formLabel = "璋冨嚭浣嶇疆"
this.toLabel = "璋冨叆浣嶇疆"
+ this.numberLabel = "璋冩嫧鍗曞彿"
}
},
setTable() {
@@ -141,7 +144,7 @@
setTableColumn(showcol) {
let tableColumn = [
{
- label: "鍗曞彿",
+ label: this.numberLabel,
prop: "number",
isShowColumn: true,
default: true
@@ -234,7 +237,7 @@
async getData() {
await getOperation({
number: this.keyword,
- operationTypeId: this.$route.params.id?this.$route.params.id:this.params.id,
+ operationTypeId: this.$route.params.id ? this.$route.params.id : this.params.id,
page: this.pagerOptions.currPage,
pageSize: this.pagerOptions.pageSize,
status: this.params.status
@@ -278,7 +281,7 @@
},
// 鐘舵��
getStatus(val) {
- return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : val === 4 ? "瀹屾垚" :val === 5 ? "鍙栨秷" : ""
+ return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : val === 4 ? "瀹屾垚" : val === 5 ? "鍙栨秷" : ""
},
// 鍒犻櫎鎼滅储鐘舵��
delSelectClick() {
diff --git a/src/views/overview/mixin/codeMixin.js b/src/views/overview/mixin/codeMixin.js
new file mode 100644
index 0000000..4390fce
--- /dev/null
+++ b/src/views/overview/mixin/codeMixin.js
@@ -0,0 +1,133 @@
+import { getCodeStandardList, getAutoCode } from "@/api/common/standard"
+export default {
+ components: {},
+ data() {
+ return {
+ // 缂栫爜
+ // 鏄惁鑷姩鐢熸垚
+ isIdDisabled: false,
+ inputValue: [],
+ explain: "",
+ codenumer: 0, //姣忔杈撳叆鐨勭紪鐮�
+ codenumberList: [], //鏁存潯缂栫爜
+ sum: 0,
+ method: 0,
+ objCode: { name: "", page: 0, pageSize: 0, type: "鐗╂枡缂栫爜", codeStandID: "" },
+ codeRule: {},
+ codeLength: 0,
+ autoCodeObj: {}
+ }
+ },
+
+ methods: {
+ async getRCodeStandardList() {
+ try {
+ if (this.editConfig.title == "鏂板缓") {
+ const res = await getCodeStandardList(this.objCode)
+ this.codenumer = []
+ this.sum = 0
+ this.explain = ""
+ this.codeLength = 0
+ if (res.code == 200) {
+ const { List = [], ID, AutoRule = {}, Method } = res.data ? res.data[0] : []
+ this.codeRule = res.data ? res.data[0] : {}
+ let autoRule = AutoRule
+ let method = Method ? Method : 0
+ this.method = method
+ let rules = List
+ this.editConfig.infomation.ID = ID
+ if (method == 0 && res.data.data.length > 0) {
+ console.log("sss")
+ rules.forEach((item, index) => {
+ // setTimeout(() => {
+ // this.codenumer = item.length;
+ // this.sum++;
+ // }, 200);
+ this.codenumer.push(item.Length)
+ this.codeLength += item.Length
+ this.sum++
+ this.explain += item.Name + (index === rules.Length - 1 ? "" : "/")
+ })
+ }
+ console.log(method)
+ if (method == 1) {
+ if (Object.keys(autoRule).length > 0) {
+ this.isIdDisabled = true
+ if (autoRule.PrefixMethod == 1) {
+ let prefix = autoRule.PrefixValue.split("").length
+
+ this.codenumer.push(prefix)
+ this.codeLength += prefix
+ if (autoRule.SuffixMethod == 2) {
+ this.codenumer.push(8)
+ this.codeLength += 8
+ }
+ if (autoRule.AutoLength) {
+ this.codenumer.push(autoRule.AutoLength)
+ this.codeLength += autoRule.AutoLength
+ }
+ this.sum = prefix + Number(autoRule.AutoLength)
+ // this.codeList(
+ // this.editConfig.infomation.id ? this.editConfig.infomation.id : autoRule.PrefixValue
+ // )
+ }
+ }
+ }
+
+ this.$forceUpdate()
+ } else {
+ this.$message.error(res.data.msg ? res.data.msg : "鑾峰彇缂栫爜瑙勮寖澶辫触锛岃閲嶈瘯锛�")
+ }
+ this.getAutoCodeValue()
+ } else {
+ this.codeList(this.editConfig.infomation.number)
+ }
+ } catch (err) {
+ console.log(err)
+ }
+ },
+ async getAutoCodeValue() {
+ if (Object.keys(this.codeRule).length > 0) {
+ const res = await getAutoCode(this.codeRule)
+ if (res.code == 200) {
+ let p = {
+ id: "",
+ codeStandardID: "",
+ maxAutoIncr: ""
+ }
+ this.autoCodeObj = res.data ? res.data : p
+ this.$set(this.editConfig.infomation, "number", this.autoCodeObj.id)
+ } else {
+ this.$set(
+ this.editConfig.infomation,
+ "number",
+ this.codeRule.AutoRule.PrefixValue ? this.codeRule.AutoRule.PrefixValue : ""
+ )
+ }
+ }
+ },
+ codeList(val) {
+ this.inputValue = val
+ this.codenumberList = val.toString()
+ this.editConfig.infomation.number = this.codenumberList.length > 0 ? this.codenumberList.replace(/,/g, "") : ""
+ console.log(this.codenumberList.replace(/,/g, ""))
+ },
+ // 璁㈠崟缂栫爜鍗曠嫭鏍¢獙
+ validateCheckCode(rule, value, callback) {
+ if (value && value.length > 0) {
+ if (this.editConfig.title == "鏂板缓") {
+ if (value.length != this.codeLength) {
+ callback(new Error("璇峰~鍐�" + this.codeLength + "浣嶇殑缂栫爜锛�"))
+ }
+ }
+ callback()
+ } else {
+ callback(new Error("璇疯緭鍏ョ紪鐮�"))
+ }
+ },
+ // 閰嶇疆缂栫爜瑙勮寖鐨勮烦杞�
+ numberClick() {
+ window.open("http://www.fai365.com:9080/facilty", "_blank")
+ }
+ }
+}
--
Gitblit v1.8.0