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
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>
|