You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

513 lines
17 KiB

<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
<el-button @click="addModal()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
</el-form>
<el-table
:height="height"
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="editSite(scope.row)">修改</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed"
:width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
<el-dialog title="工厂维护" :close-on-click-modal="false" v-drag :visible.sync="siteFlag" width="500px" >
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'工厂编号:'">
<el-input v-model="siteData.siteID" :disabled="siteInputFlag" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'工厂名称(中文):'">
<el-input v-model="siteData.siteName" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'工厂名称(英文):'">
<el-input v-model="siteData.siteNameE" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'会计单位:'">
<el-select v-model="siteData.companyID" style="width: 130px"
placeholder="请选择">
<el-option
v-for="(item,index) in selectList"
:key="index"
:label="item.companyName"
:value="item.companyID">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="'参照客户编码:'">
<el-input v-model="siteData.referenceCustomerID" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'邮政编码:'">
<el-input v-model="siteData.postCode" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'地址(中文):'">
<el-input v-model="siteData.address" type="textarea" :autosize="{ minRows: 3, maxRows: 6}" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'地址(英文):'">
<el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 3, maxRows: 6}" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'公司网站:'">
<el-input v-model="siteData.website" type="textarea" :autosize="{ minRows: 3, maxRows: 6}" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'联系人:'">
<el-input v-model="siteData.contactName" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'电话:'">
<el-input v-model="siteData.phoneNo" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'传真:'">
<el-input v-model="siteData.faxNo" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'email:'">
<el-input v-model="siteData.email" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'在用:'">
<el-select filterable v-model="siteData.active" style="width: 130px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="'发货时间:'">
<el-time-picker
format="HH:mm"
arrow-control
style="width: 130px"
v-model="siteData.shipTime"
placeholder="请选择"
value-format="HH:mm">
</el-time-picker>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="siteSave()">保存</el-button>
<el-button type="primary" @click="siteFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
<script>
import {
getSiteData,
getCompanyData,
siteSave
} from "@/api/base/site.js"
export default {
name: "factoryInformation",
data() {
return {
height: 200,
siteFlag:false,
siteInputFlag:true,
selectList:[],
siteData: {
add:'',
siteID:'',
siteName:'',
siteNameE:'',
companyID:'',
postCode:'',
address:'',
addressE:'',
website:'',
contactName:'',
phoneNo:'',
faxNo:'',
email:'',
active:'Y',
shipTime:'',
referenceCustomerID:'',
},
dataList:[],
dataListLoading: false,
buttons:{
search:'查询',
},
columnList: [
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableSiteID',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "siteID",
headerAlign: "center",
align: "left",
columnLabel: "工厂编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 60
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableSiteName',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "siteName",
headerAlign: "center",
align: "left",
columnLabel: "工厂名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableSiteNameE',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "siteNameE",
headerAlign: "center",
align: "left",
columnLabel: "工厂名称(英文)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 200
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableCompanyID',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "companyID",
headerAlign: "center",
align: "left",
columnLabel: "会计单位",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableCompanyName',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "companyName",
headerAlign: "center",
align: "left",
columnLabel: "会计单位名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableAddress',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "address",
headerAlign: "center",
align: "left",
columnLabel: "地址",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 200
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableAddressE',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "addressE",
headerAlign: "center",
align: "left",
columnLabel: "地址(英文)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 200
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableWebsite',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "website",
headerAlign: "center",
align: "left",
columnLabel: "公司网址",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableContactName',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "contactName",
headerAlign: "center",
align: "left",
columnLabel: "联系人",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TablePostCode',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "postCode",
headerAlign: "center",
align: "left",
columnLabel: "邮政编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TablePhoneNo',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "phoneNo",
headerAlign: "center",
align: "left",
columnLabel: "电话",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableFaxNo',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "faxNo",
headerAlign: "center",
align: "left",
columnLabel: "传真",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableEmail',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "email ",
headerAlign: "center",
align: "left",
columnLabel: "Email",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableActive',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "active",
headerAlign: "center",
align: "left",
columnLabel: "在用",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 6001,
serialNumber: '6001TableShipTime',
tableId: "6001Table",
tableName: "工厂信息表",
columnProp: "shipTime",
headerAlign: "center",
align: "left",
columnLabel: "发货时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 120
}
],
}
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 180;
})
},
methods: {
getData(){
getSiteData().then(({data}) => {
this.dataList = data.rows
})
},
getSelectData(){
getCompanyData().then(({data}) => {
this.selectList = data.rows
})
},
addModal(){
this.siteData={};
this.siteData.add=0;
this.siteInputFlag=false;
this.siteData.active='Y';
this.siteFlag=true;
},
editSite(row){
this.siteData=JSON.parse(JSON.stringify(row));
this.siteData.add=1;
this.siteInputFlag=true;
this.siteFlag=true;
},
siteSave(){
siteSave(this.siteData).then(({data}) => {
if(this.siteData.companyID==''||this.siteData.companyID==null){
this.$alert("请选择会计单位!",'错误',{
confirmButtonText:'确定'
})
return false;
}
if(this.siteData.siteID==''||this.siteData.siteID==null){
this.$alert("请输入工厂编码!",'错误',{
confirmButtonText:'确定'
})
return false;
}
if(this.siteData.siteName==''||this.siteData.siteName==null){
this.$alert("请输入工厂名称!",'错误',{
confirmButtonText:'确定'
})
return false;
}
if (data && data.code == 200) {
this.siteFlag = false
this.getData();
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
},
created() {
this.getData();
this.getSelectData();
}
}
</script>
<style >
.el-textarea__inner {
padding: 5px 5px;
}
</style>