Commit cda49cf8 authored by jiangqihao's avatar jiangqihao

Merge branch 'dev' of http://120.25.63.219:6088/rex/portalhtml into dev

parents 30dbaf3b 2ad90cb8
......@@ -7,6 +7,7 @@ export const customer = {
detailUrl: '/customer/getOne',
updateUrl: '/customer/update',
deleteUrl: '/customer/delete',
updataAppUrl: '/customer/rejectCustomerCommit',
}
//查询省级供应商待审批列表
export const province = {
......
......@@ -396,7 +396,7 @@ export default {
})
},
btnLink(row) {
window.location.href = row.FileURL
window.open(row.FileURL)
},
handleSelectRSP(value) {
console.log('val', value)
......
......@@ -4,22 +4,28 @@
<span>*</span>为必填项
</Title>
<div class="basic-info">
<ele-form-section
v-model="formData"
<ele-form-section v-model="formData"
:rules="rules"
:sections="sections"
>
:sections="sections">
<template v-slot:ExtLockCity_SDK="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-if="formData.ExtProcessNode_SDK==2" v-model="formData.ExtLockCity_SDK" :disabled="!formData.ExtProcessNode_SDK==2" style="width: 91%" multiple filterable placeholder="请选择" no-match-text="无匹配数据" @change="handleSelectCity">
<el-option
v-for="item in province"
<el-select v-if="formData.ExtProcessNode_SDK==2"
v-model="formData.ExtLockCity_SDK"
:disabled="!formData.ExtProcessNode_SDK==2"
style="width: 91%"
multiple
filterable
placeholder="请选择"
no-match-text="无匹配数据"
@change="handleSelectCity">
<el-option v-for="item in province"
:key="item.Code"
:label="item.Name"
:value="item.Code"
/>
:value="item.Code" />
</el-select>
<el-input v-else v-model="formData.ExtLockCityName_SDK" disabled>
<el-input v-else
v-model="formData.ExtLockCityName_SDK"
disabled>
</el-input>
</template>
</ele-form-section>
......@@ -38,7 +44,9 @@
label="操作者">
</el-table-column>
<el-table-column label="操作">
<el-link slot-scope="{ row }" type="primary" @click="btnLink(row)">下载</el-link>
<el-link slot-scope="{ row }"
type="primary"
@click="btnLink(row)">下载</el-link>
</el-table-column>
</el-table>
<pagination v-show="TotalRecords>0"
......@@ -50,8 +58,10 @@
<div class="table-contain">
<div class="form-container">审批意见</div>
<div class="btn">
<el-button type="primary" @click="approve">审批</el-button>
<el-button type="" @click="reject">退回</el-button>
<el-button type="primary"
@click="approve">审批</el-button>
<el-button type=""
@click="reject">退回</el-button>
</div>
<el-table :data="tableData"
border
......@@ -75,17 +85,22 @@
:limit.sync="page.pageSize"
@pagination="getList" />
</div>
<el-dialog title="审批意见" :visible.sync="dialogFormVisible">
<el-dialog title="审批意见"
:visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label-width=500>
<el-input v-model="form.note" autocomplete="off"></el-input>
<el-input v-model="form.note"
autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<div slot="footer"
class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" :loading="loading" @click="approveClick">确 定</el-button>
<el-button type="primary"
:loading="loading"
@click="approveClick">确 定</el-button>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
......@@ -93,7 +108,7 @@
<script>
import Title from '@/components/Title'
import { getCustomer,typeSearch,lockRsp,ProcessApproval,processHistory, province,getOneModel } from '@/api/customers';
import { getCustomer, typeSearch, lockRsp, ProcessApproval, processHistory, province, getOneModel } from '@/api/customers';
import { Country } from '@/api/qcc'
import Pagination from '@/components/Pagination'
export default {
......@@ -101,19 +116,19 @@ export default {
Pagination,
Title,
},
data () {
data() {
return {
form:{},
dialogFormVisible:false,
form: {},
dialogFormVisible: false,
title: '省级代理商审批',
addBtnStart: false,
objectId: '',
id:'',
status:0,
loading:false,
id: '',
status: 0,
loading: false,
formData: {},
province: [],
tableData2:[],
tableData2: [],
sections: [
{
title: '基本信息',
......@@ -123,8 +138,8 @@ export default {
label: '公司全称',
layout: 24,
code: 'qcc',
disabled:true,
returnFn: function(row) {
disabled: true,
returnFn: function (row) {
return {
Name: row.Name,
ExtSocialUnifiedCreditCode_SDK: row.CreditCode,
......@@ -136,24 +151,24 @@ export default {
type: 'input',
label: '公司全称曾用名',
layout: 12,
disabled:true,
disabled: true,
},
ExtSocialUnifiedCreditCode_SDK: {
type: 'input',
label: '社会统一信用代码',
disabled:true,
disabled: true,
layout: 12
},
ExtRegisteredCapital_SDK: {
type: 'input',
label: '注册资本(万元)',
disabled:true,
disabled: true,
layout: 12,
},
ExtCorporateName_SDK: {
type: 'input',
label: '法人',
disabled:true,
disabled: true,
layout: 12,
},
// Ext_QuoteOppotunity_KUT: {
......@@ -170,7 +185,7 @@ export default {
type: 'input',
label: '省份',
layout: 12,
disabled:true,
disabled: true,
},
ExtCityName_SDK: {
......@@ -178,7 +193,7 @@ export default {
label: '城市',
layout: 12,
isOptions: true,
disabled:true,
disabled: true,
},
ExtDistrictName_SDK: {
......@@ -186,14 +201,14 @@ export default {
label: '县市',
layout: 12,
isOptions: true,
disabled:true,
disabled: true,
},
ExtAddressDetail_SDK: {
type: 'input',
label: '详细经营地址',
layout: 12,
disabled:true,
disabled: true,
},
}
},
......@@ -203,54 +218,54 @@ export default {
ExtLeader_SDK: {
type: 'input',
label: '公司负责人姓名',
disabled:true,
disabled: true,
layout: 12
},
ExtLeaderPhone_SDK: {
type: 'input',
label: '公司负责人联系方式',
disabled:true,
disabled: true,
layout: 12
},
ExtLeaderEmail_SDK: {
type: 'input',
label: '公司负责人邮箱',
disabled:true,
disabled: true,
layout: 12
},
ExtUnis_SDK: {
type: 'input',
layout: 12,
disabled:true,
disabled: true,
label: 'Unis业务负责人姓名'
},
ExtUnisPhone_SDK: {
type: 'input',
layout: 12,
disabled:true,
disabled: true,
label: 'Unis业务负责人联系方式'
},
ExtUnisEmail_SDK: {
type: 'input',
disabled:true,
disabled: true,
label: 'Unis业务负责人邮箱',
layout: 12
},
ExtBusiness_SDK: {
type: 'input',
layout: 12,
disabled:true,
disabled: true,
label: '商务负责人姓名'
},
ExtBusinessPhone_SDK: {
type: 'input',
layout: 12,
disabled:true,
disabled: true,
label: '商务负责人联系方式'
},
ExtBusinessEmail_SDK: {
type: 'input',
disabled:true,
disabled: true,
label: '商务负责人邮箱',
layout: 12
},
......@@ -259,23 +274,23 @@ export default {
{
title: '签约信息',
formDesc: {
ExtChannelType_SDKText : {
ExtChannelType_SDKText: {
type: 'input',
label: '签约渠道类型',
layout: 12,
disabled:true
disabled: true
},
ExtProductGroup_SDK: {
type: 'input',
label: '签约产品组',
layout: 12,
disabled:true
disabled: true
},
ExtTotalAgent_SDK: {
type: 'input',
label: '签约总代',
layout: 12,
disabled:true
disabled: true
},
ExtLockCity_SDK: {
type: 'select',
......@@ -285,16 +300,16 @@ export default {
}
},
],
tableData:[],
TotalRecords:0,
page:{},
tableData: [],
TotalRecords: 0,
page: {},
// 同 vue-ele-form
rules: {
ExtLockCity_SDK: {required: true, message: '请选择覆盖城市范围'},
ExtLockCity_SDK: { required: true, message: '请选择覆盖城市范围' },
}
}
},
watch:{
watch: {
// province:{
// handler(newVal,oldVal){
// this.province=newVal
......@@ -303,93 +318,95 @@ export default {
// }
},
created(){
this.id=this.$route.query.id
created() {
this.id = this.$route.query.id
this.getList()
this.getHistoryList()
this.getFile()
},
methods: {
getFile(){
const page={
currentPage:1,
pageSize:10,
businessObjectID:this.id
getFile() {
const page = {
currentPage: 1,
pageSize: 10,
businessObjectID: this.id
}
getOneModel(page).then(resp=>{
this.tableData2=resp.results
getOneModel(page).then(resp => {
this.tableData2 = resp.results
})
},
btnLink(row){
window.location.href = row.FileURL
btnLink(row) {
window.open(row.FileURL)
},
getList(){
getCustomer({objectID:this.id}).then((resp)=>{
this.formData=resp.results[0]
const app={provinceCode:resp.results[0].ExtProvince_SDK}
this.$request(Country.searchCity,app).then((resp) => {
this.province=resp.results
getList() {
getCustomer({ objectID: this.id }).then((resp) => {
this.formData = resp.results[0]
const app = { provinceCode: resp.results[0].ExtProvince_SDK }
this.$request(Country.searchCity, app).then((resp) => {
this.province = resp.results
})
})
},
getHistoryList(){
processHistory({businessObjectID:this.id}).then((resp)=>{
this.tableData=resp.results
getHistoryList() {
processHistory({ businessObjectID: this.id }).then((resp) => {
this.tableData = resp.results
})
},
handleSelectCity(value){
let cont=[]
let val=[]
this.province.forEach((el)=>{
value.forEach((item)=>{
if(el.Code==item){
handleSelectCity(value) {
let cont = []
let val = []
this.province.forEach((el) => {
value.forEach((item) => {
if (el.Code == item) {
cont.push(el.Name)
val.push(el.Code)
}
})
})
this.formData.ExtLockCityName_SDK=cont//获取的 name
this.formData.ExtLockCity_SDK=val//获取的 id
this.formData.ExtLockCityName_SDK = cont//获取的 name
this.formData.ExtLockCity_SDK = val//获取的 id
},
handleSuccess () {
handleSuccess() {
// this.$message.success('创建成功')
},
approve(){
this.dialogFormVisible=true
this.status=1
approve() {
this.dialogFormVisible = true
this.status = 1
},
reject(){
this.dialogFormVisible=true
this.status=2
reject() {
this.dialogFormVisible = true
this.status = 2
},
approveClick(){
const ExtLockCity_SDK=this.formData.ExtLockCity_SDK.toString()
const ExtLockCityName_SDK=this.formData.ExtLockCityName_SDK.toString()
approveClick() {
const ExtLockCity_SDK = this.formData.ExtLockCity_SDK.toString()
const ExtLockCityName_SDK = this.formData.ExtLockCityName_SDK.toString()
const cc={extProcessNode_SDK:this.formData.ExtProcessNode_SDK,
extCustomerType_SDK:this.formData.ExtCustomerType_SDK,
extProvince_SDK:this.formData.ExtProvince_SDK,
objectID:this.formData.ObjectID,
extLockRsp_SDK:this.formData.extLockRsp_SDK,
extLockCity_SDK:ExtLockCity_SDK,
extLockCityName_SDK:ExtLockCityName_SDK,
extChannelType_SDK:this.formData.ExtChannelType_SDK}
if(this.status==1){
const add={customerDTO:cc,note:this.form.note,result:"approve"}
this.loading=true
ProcessApproval(add).then((resp)=>{
this.loading=false
const cc = {
extProcessNode_SDK: this.formData.ExtProcessNode_SDK,
extCustomerType_SDK: this.formData.ExtCustomerType_SDK,
extProvince_SDK: this.formData.ExtProvince_SDK,
objectID: this.formData.ObjectID,
extLockRsp_SDK: this.formData.extLockRsp_SDK,
extLockCity_SDK: ExtLockCity_SDK,
extLockCityName_SDK: ExtLockCityName_SDK,
extChannelType_SDK: this.formData.ExtChannelType_SDK
}
if (this.status == 1) {
const add = { customerDTO: cc, note: this.form.note, result: "approve" }
this.loading = true
ProcessApproval(add).then((resp) => {
this.loading = false
this.$message.success("审批成功!")
this.dialogFormVisible=false
this.dialogFormVisible = false
this.$router.back()
})
}else{
this.loading=true
const bdd={customerDTO:cc,note:this.form.note,result:"reject"}
ProcessApproval(bdd).then((resp)=>{
this.loading=false
} else {
this.loading = true
const bdd = { customerDTO: cc, note: this.form.note, result: "reject" }
ProcessApproval(bdd).then((resp) => {
this.loading = false
this.$message.success("退回成功!")
this.dialogFormVisible=false
this.dialogFormVisible = false
this.$router.back()
})
}
......@@ -414,24 +431,24 @@ extChannelType_SDK:this.formData.ExtChannelType_SDK}
</script>
<style lang="scss" scoped>
::v-deep .el-row--flex {
::v-deep .el-row--flex {
display: -webkit-box;
.el-col-14 {
width: 90%;
}
}
.basic-info {
::v-deep .ele-form-btns{
}
.basic-info {
::v-deep .ele-form-btns {
.el-form-item__content {
display: none;
}
}
}
.btn {
}
.btn {
margin-left: 45%;
margin-bottom: 8px;
}
.table-contain {
}
.table-contain {
padding: 0 80px 0 20px;
margin-left: 65px;
background: #fff;
......
......@@ -47,59 +47,55 @@
<div class="div_list">
<div id="parallelogram"
:class="{'bgcolor':formData.ExtProcessNode_SDK==5}">
<div class="div_txt2">完成</div>
<div class="div_txt">完成</div>
</div>
</div>
</div>
<div class="basic-info">
<ele-form-section v-model="formData"
:rules="rules"
:sections="sections">
<template v-slot:ExtLockRsp_SDK="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-model="formData.ExtLockRsp_SDK"
:disabled="!formData.ExtProcessNode_SDK==2"
style="width: 91%"
multiple
filterable
placeholder="请选择"
no-match-text="无匹配数据">
<el-option v-for="item in province"
:key="item.AccountID"
:label="item.Name"
:value="item.ExtSocialUnifiedCreditCode_SDK" />
</el-select>
:sections="sections"
ref="formData">
<template v-slot:ExtLeader_SDK="{ formData }">
<el-input v-model="formData.ExtLeader_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtLockCity_SDK="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-model="formData.ExtLockCity_SDK"
:disabled="!formData.ExtProcessNode_SDK==2"
style="width: 91%"
multiple
filterable
placeholder="请选择"
no-match-text="无匹配数据">
<el-option v-for="item in apptions"
:key="item.Code"
:label="item.Name"
:value="item.Code" />
</el-select>
<template v-slot:ExtLeaderPhone_SDK="{ formData }">
<el-input v-model="formData.ExtLeaderPhone_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtLeaderEmail_SDK="{ formData }">
<el-input v-model="formData.ExtLeaderEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtChannelType_SDK="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-model="formData.ExtChannelType_SDK"
:disabled="!formData.ExtProcessNode_SDK==2"
style="width: 91%"
filterable
placeholder="请选择"
no-match-text="无匹配数据">
<el-option v-for="item in cOptions"
:key="item.id"
:label="item.content"
:value="item.keyword" />
</el-select>
<template v-slot:ExtUnis_SDK="{ formData }">
<el-input v-model="formData.ExtUnis_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtUnisPhone_SDK="{ formData }">
<el-input v-model="formData.ExtUnisPhone_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtUnisEmail_SDK="{ formData }">
<el-input v-model="formData.ExtUnisEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ApproveBtn="{ formData }">
<el-button style="margin-left: 40%;"
type="primary"
@click="handleApprove"
:loading="btnloading"
v-if="formData.ExtProcessNode_SDK==1">提交</el-button>
</template>
</ele-form-section>
<div class="table-contain">
<PersonalInFo :addBtnStart='false' :dedeleBtnStart="false" :type-code="typeCode"/>
</div>
<div class="table-contain">
<div class="form-container">审批意见</div>
<!-- <div class="btn">
......@@ -149,17 +145,21 @@
<script>
import Title from '@/components/Title'
import { getCustomer, typeSearch, lockRsp, ProcessApproval, processHistory } from '@/api/customers';
import { getCustomer, typeSearch, lockRsp, customer, processHistory, getOneModel } from '@/api/customers';
import Pagination from '@/components/Pagination'
import PersonalInFo from '../components/personal-info'
import { uploadCode } from '@/api/upload'
import { Country } from '@/api/qcc'
export default {
components: {
Pagination,
Title,
PersonalInFo
},
data() {
return {
form: {},
typeCode: uploadCode.customer,
dialogFormVisible: false,
title: '城市代理商审批进度查询',
addBtnStart: false,
......@@ -168,6 +168,7 @@ export default {
status: 0,
loading: false,
formData: {},
tableData2: [],
province: [],
sections: [
{
......@@ -256,72 +257,58 @@ export default {
title: '联系信息',
formDesc: {
ExtLeader_SDK: {
type: 'input',
label: '公司负责人姓名',
disabled: true,
layout: 12
},
ExtLeaderPhone_SDK: {
type: 'input',
label: '公司负责人联系方式',
disabled: true,
layout: 12
},
ExtLeaderEmail_SDK: {
type: 'input',
label: '公司负责人邮箱',
disabled: true,
layout: 12
},
ExtUnis_SDK: {
type: 'input',
layout: 12,
disabled: true,
label: 'Unis业务负责人姓名'
},
ExtUnisPhone_SDK: {
type: 'input',
layout: 12,
disabled: true,
label: 'Unis业务负责人联系方式'
},
ExtUnisEmail_SDK: {
type: 'input',
disabled: true,
label: 'Unis业务负责人邮箱',
layout: 12
},
// ExtBusiness_SDK: {
// type: 'input',
// layout: 12,
// disabled:true,
// label: '商务负责人姓名'
// },
// ExtBusinessPhone_SDK: {
// type: 'input',
// layout: 12,
// disabled:true,
// label: '商务负责人联系方式'
// },
// ExtBusinessEmail_SDK: {
// type: 'input',
// disabled:true,
// label: '商务负责人邮箱',
// layout: 12
// },
ApproveBtn: {
label: '',
},
}
},
],
tableData: [],
TotalRecords: 0,
btnloading: false,
page: {},
apptions: [],
cOptions: [],
// 同 vue-ele-form
rules: {
ExtChannelType_SDK: { required: true, message: '请选择签约渠道类型' },
ExtLockRsp_SDK: { required: true, message: '请选择锁定RSP' },
ExtLockCity_SDK: { required: true, message: '请选择城市覆盖范围' },
ExtLeader_SDK: { required: true, message: '请输入公司负责人姓名' },
ExtLeaderPhone_SDK: { required: true, message: '请输入公司负责人电话' },
ExtLeaderEmail_SDK: { required: true, message: '请输入公司负责人邮箱' },
ExtUnis_SDK: { required: true, message: '请输入Unis负责人姓名' },
ExtUnisPhone_SDK: { required: true, message: '请输入Unis负责人电话' },
ExtUnisEmail_SDK: { required: true, message: '请输入Unis负责人邮箱' },
}
}
},
......@@ -332,11 +319,21 @@ export default {
this.id = this.$route.query.objectID
this.getList()
this.getHistoryList()
this.getFile()
this.getChannelType()
},
methods: {
getFile() {
const page = {
currentPage: 1,
pageSize: 10,
businessObjectID: this.id
}
getOneModel(page).then(resp => {
this.tableData2 = resp.results
})
},
getList() {
getCustomer({ objectID: this.id }).then((resp) => {
this.formData = resp.results[0]
lockRsp({ extProvince_SDK: resp.results[0].ExtProvince_SDK }).then((resp) => {
......@@ -358,7 +355,54 @@ export default {
this.tableData = resp.results
})
},
btnLink(row) {
window.open(row.FileURL)
},
handleUpload() {
},
handleApprove() {
if (this.formData.ExtLeader_SDK == null || this.formData.ExtLeader_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtLeaderPhone_SDK == null || this.formData.ExtLeaderPhone_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtLeaderEmail_SDK == null || this.formData.ExtLeaderEmail_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtUnis_SDK == null || this.formData.ExtUnis_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtUnisPhone_SDK == null || this.formData.ExtUnisPhone_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtUnisEmail_SDK == null || this.formData.ExtUnisEmail_SDK == '') {
this.$message.warning('请输入必填信息')
} else {
this.formData.objectID = this.id
this.btnloading = true
const arr = this.$translateToC4CData(this.formData)
this.$request(customer.updataAppUrl, arr).then((resp) => {
this.btnloading = false
this.$message.success('提交成功!')
this.$router.back()
}).catch((err) => {
this.btnloading = false
})
}
// this.$refs[formData].validate((valid) => {
// if (valid) {
// this.formData.extCustomerType_SDK = 111
// this.btnloading = true
// this.$request(Customer.searchUrl, this.paramsToFormData(this.formData)).then((resp) => {
// this.btnloading = false
// this.$message.success('提交成功!')
// this.$router.back()
// }).catch((err) => {
// this.btnloading = false
// })
// } else {
// this.btnloading = false
// this.$message.warning('请输入必填信息!')
// }
// });
},
handleSuccess() {
// this.$message.success('创建成功')
},
......
......@@ -360,9 +360,9 @@ export default {
extSocialUnifiedCreditCode_SDK: [{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' }],
extRegisteredCapital_SDK: [{ required: true, message: '请输入注册资本(万元)', trigger: 'blur' }],
extCorporateName_SDK: [{ required: true, message: '请输入法人', trigger: 'blur' }],
extProvince_SDK: [{ required: true, message: '请选择省份', trigger: ['blur', 'change'] }],
extCity_SDK: [{ required: true, message: '请选择市', trigger: 'blur' }],
extDistrict_SDK: [{ required: true, message: '请选择区', trigger: 'blur' }],
extProvince_SDK: [{ required: true, message: '请选择省份' }],
extCity_SDK: [{ required: true, message: '请选择市' }],
extDistrict_SDK: [{ required: true, message: '请选择区' }],
extAddressDetail_SDK: [{ required: true, message: '请输入详细经营地址', trigger: 'blur' }],
extLeader_SDK: [{ required: true, message: '请输入公司负责人姓名', trigger: 'blur' }],
extLeaderPhone_SDK: [{ required: true, message: '请输入公司负责人联系电话', trigger: 'blur' }],
......@@ -370,7 +370,7 @@ export default {
{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }],
extUnis_SDK: [{ required: true, message: '请输入Unis业务负责人姓名', trigger: 'blur' }],
extUnisPhone_SDK: [{ required: true, message: '请输入Unis业务负责人电话', trigger: 'blur' }],
file: [{ required: true, message: '请上传附件', trigger: ['blur', 'change'] }],
file: [{ required: true, message: '请上传附件' }],
extUnisEmail_SDK: [{ required: true, message: '请输入Unis业务负责人邮箱', trigger: 'blur' },
{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }],
},
......@@ -399,9 +399,14 @@ export default {
getList() {
this.page.searchKey = this.formInline.Name
this.$request(Qcc.searchUrl, this.page).then((resp) => {
if(resp.results.Result){
this.tableData = resp.results.Result
this.page = resp.results.Paging
this.TotalRecords = resp.results.Paging.TotalRecords
}else{
this.$message.warning('无相关公司!')
}
})
},
selectCountry() {
......
import { file } from '@/api/customers'
const tableConfig = {
tableTitle: '附件信息',
url: file.searchUrl,
// url: '',
isSearch: true,
defaultColumns: {
minWidth: 120,
showOverflowTooltip: true,
align: 'center'
},
columns: {
CreateOn_SDK: {
label: '创建时间'
},
FileName: {
label: '文件名'
},
handle: {
label: '操作',
hideInFilter: true,
fixed: 'right',
renderItem: (h, scope, listeners) => {
return h('div', [
// h('el-button', {
// on: {
// click: (e) => listeners.handleEdit(scope.row, 'edit')
// },
// props: {
// icon: 'el-icon-edit-outline',
// type: 'text'
// }
// }, '编辑'),
h('el-button', {
on: {
click: (e) => listeners.handleDownload(scope.row, 'takeEffect')
},
props: {
icon: 'el-icon-circle-check',
type: 'text'
}
}, '下载'),
])
},
}
}
}
const formConfig = {
labelPosition: 'left',
isShowBackBtn: false,
isShowSubmitBtn: false,
formDesc: {
TypeCode: {
vif: false,
label: '类型',
default: ''
},
FileDetails: {
label: '附件'
}
}
}
export default {
tableConfig,
formConfig,
...file
}
<template>
<div class="table-container">
<form-title :title="tableConfig.tableTitle">
<div v-if="isShowEditBtn">
<el-button
type="primary"
icon="el-icon-plus"
@click="handleAdd()"
:disabled="addBtnStart"
>添加</el-button>
<el-button
type="danger"
icon="el-icon-delete"
@click="handleDelete()"
:disabled="dedeleBtnStart"
>删除</el-button>
</div>
</form-title>
<ele-table
ref="eleTable"
:multiple="true"
:listeners="tableListeners"
v-bind="tableConfig"
:expand-params="expandParams"
@handleSelectionChange="handleSelectionChange"
/>
<el-dialog
:title="dialogTitle"
:visible.sync="dialogFormVisible"
:loading="loading"
>
<ele-form
ref="form"
v-model="formData"
v-bind="formConfig"
>
<template v-slot:FileDetails>
<upload-btn
:objectID="formData.ObjectID"
:fileDetails="formData.FileDetails"
:file-list="fileList"
@change="changeFileList"
/>
</template>
</ele-form>
<div
slot="footer"
class="dialog-footer"
>
<el-button @click="dialogFormVisible = false">取消</el-button>
<el-button
type="primary"
@click="handleSave"
:loading='loading'
>保存</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import constant from './constant'
import UploadBtn from './upload-btn'
import { file, fileInfoSearch } from '@/api/customers'
export default {
components: { UploadBtn, fileInfoSearch },
name: 'FileInfo',
props: {
isShowEditBtn: {
type: Boolean,
default: true
},
// 不同的typeCode代表不同模块的附件
typeCode: {
type: String,
required: true
},
// 同一模块的附件通过moduleType区分
moduleType: {
type: String,
default: ''
},
// path: {
// type: String,
// required: true
// },
objectID: {
type: String,
default: ''
},
addBtnStart: {
type: Boolean,
default: true,
},
dedeleBtnStart: {
type: Boolean,
default: true,
},
isShowBtn: {
type: Boolean,
default: true,
}
},
data() {
return {
tableConfig: constant.tableConfig,
formConfig: constant.formConfig,
expandParams: {},
desc: {},
tableListeners: {}, // 事件监听对象,供ele-table内部调用
formData: {},
fileList: [],
row: {},
$index: -1,
current: null,
dialogFormVisible: false,
dialogTitle: '',
loading: false,
// url: ''
}
},
watch: {
isShowEditBtn: {
handler(val){},
deep: true,
immediate: true
// this.tableConfig.columns.handle.vif = val
},
addBtnStart: {
handler(val){},
deep: true,
immediate: true,
},
dedeleBtnStart: {
handler(val){},
deep: true,
immediate: true,
},
isShowBtn: {
handler(val){},
deep: true,
immediate: true,
}
},
created() {
this.tableConfig.columns.handle.vif = this.isShowBtn
constant.tableConfig.initialParams = {
BusinessObjectID: this.objectID || this.$route.query.objectID,
TypeCode: this.typeCode
}
if (this.moduleType) {
constant.tableConfig.initialParams.ModuleType = this.moduleType
}
constant.formConfig.formDesc.TypeCode.default = this.typeCode
// constant.formConfig.formDesc.Path.default = this.path
this.tableListeners = {
handleEdit: this.handleEdit,
handleDownload: this.handleDownload
}
},
methods: {
getDetails(params) {
this.loading = true
this.$request(file.detailUrl, params).then((res) => {
this.loading = false
this.formData = res.results[0]
})
},
handleAdd() {
this.dialogTitle = '创建附件'
this.formData = {}
this.fileList = []
this.dialogFormVisible = true
},
handleEdit(row, index) {
this.dialogTitle = '编辑附件'
this.$index = index
this.row = row
this.formData = {}
this.getDetails({ objectID: row.ObjectID })
this.fileList = []
this.dialogFormVisible = true
},
// 选择/删除临时文件
changeFileList(fileList) {
this.fileList = fileList
},
handleSave() {
const fd = this.$getUpdateChange(this.row, this.formData)
if (Object.keys(fd).length < 2 && this.fileList.length === 0) {
this.dialogFormVisible = false
return
}
const formData = new FormData()
for (const key in fd) {
formData.append(key, fd[key])
}
if (this.moduleType) {
formData.append('moduleType', this.moduleType)
}
this.fileList.forEach((item) => {
formData.append('file', item.raw)
})
// if (this.fileList.length > 0) {
// formData.path = this.path
// }
if (!this.formData.ObjectID) {
const businessObjectID =
this.$route.query.objectID || this.tableConfig.initialParams.objectID
console.log(businessObjectID)
formData.append('businessObjectID', businessObjectID)
formData.delete('objectID')
this.loading = true
this.$request(file.createUrl, formData).then(() => {
this.loading = false
this.dialogFormVisible = false
this.fileList = []
this.$message.success('添加成功!')
this.$refs.eleTable.url = file.searchUrl
this.$refs.eleTable.handleSearch()
}).catch(() => {
this.loading = false
})
} else {
formData.append('typeCode', this.typeCode)
this.$request(file.updateUrl, formData).then((res) => {
this.loading = false
this.dialogFormVisible = false
this.$message.success('修改成功!')
// this.tableConfig.url = file.searchUrl
this.$refs.eleTable.url = file.searchUrl
this.$refs.eleTable.handleSearch()
}).catch(() => {
this.loading = false
})
}
},
handleSelectionChange(selection) {
this.current = selection.length > 0 ? selection[0] : null
},
handleDelete() {
if (this.current === null) {
this.$message.warning('请先选择一行数据')
return
}
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$request(file.deleteUrl, { objectID: this.current.ObjectID }).then(() => {
this.$message.success('删除成功!')
this.$refs.eleTable.url = file.searchUrl
this.$refs.eleTable.handleSearch()
}
)
})
// this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// this.$request(file.deleteUrl, { objectID: this.current.ObjectID }).then(() => {
// this.$message.success('删除成功!')
// this.$refs.eleTable.url = file.searchUrl
// this.$refs.eleTable.handleSearch()
// }
// )
// })
},
handleDownload(row) {
window.open(row.FileURL)
}
}
}
</script>
<style>
</style>
<template>
<div>
<el-upload
v-if="vif"
:disabled="disabled"
ref="upload"
action="false"
:limit="5"
:multiple="multiple"
:on-change="handleChange"
:on-remove="handleRemove"
:auto-upload="false"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
<!-- <upload-list
v-if="objectID"
v-bind="config"
:files="fileDetails"
@remove="handleRemoveReq" /> -->
</div>
</template>
<script>
import { file } from '@/api/customers'
import UploadList from '@/components/UploadFile/UploadList.vue'
export default {
components: { UploadList },
name: 'UploadBtn',
props: {
vif: {
type: Boolean,
default: true
},
disabled: {
type: Boolean,
default: false
},
objectID: {
type: String,
default: function() {
return this.$route.query.objectID
}
},
// 是否支持多选文件
multiple: {
type: Boolean,
default: false
},
// 已上传到服务器的文件列表
fileDetails: {
type: Array,
default: function() {
return []
}
},
config: {
type: Object,
default: function() {
return {}
}
},
fileList: {
type: Array,
}
},
data() {
return {}
},
watch: {
fileList: {
handler(newVal){ },
deep: true,
immediate: true,
}
},
created() {
},
methods: {
// 监控上传文件列表
handleChange(file, fileList) {
this.fileList = fileList
this.$emit('change', fileList)
},
// 移除文件
handleRemove(file, fileList) {
this.fileList = fileList
this.$emit('change', fileList)
},
handleExceed() {
this.$message.warning('上传文件超出文件数量')
}
// // 删除文件
// handleRemoveReq(index, item) {
// this.$request(file.deleteDetailUrl, [{ objectID: item.ObjectID }]).then(() => {
// this.$message.success('删除成功!')
// this.fileDetails.splice(index, 1)
// }
// )
// }
}
}
</script>
<style>
</style>
......@@ -54,15 +54,125 @@
<div class="div_list">
<div id="parallelogram"
:class="{'bgcolor':formData.ExtProcessNode_SDK==6}">
<div class="div_txt2">完成</div>
<div class="div_txt">完成</div>
</div>
</div>
</div>
<div class="basic-info">
<ele-form-section v-model="formData"
:rules="rules"
:sections="sections">
<template v-slot:ExtLeader_SDK="{ formData }">
<el-input v-model="formData.ExtLeader_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtLeaderPhone_SDK="{ formData }">
<el-input v-model="formData.ExtLeaderPhone_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtLeaderEmail_SDK="{ formData }">
<el-input v-model="formData.ExtLeaderEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtUnis_SDK="{ formData }">
<el-input v-model="formData.ExtUnis_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtUnisPhone_SDK="{ formData }">
<el-input v-model="formData.ExtUnisPhone_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtUnisEmail_SDK="{ formData }">
<el-input v-model="formData.ExtUnisEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtBusiness_SDK="{ formData }">
<el-input v-model="formData.ExtUnisEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtBusinessPhone_SDK="{ formData }">
<el-input v-model="formData.ExtUnisEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ExtBusinessEmail_SDK="{ formData }">
<el-input v-model="formData.ExtUnisEmail_SDK"
:disabled="!formData.ExtProcessNode_SDK==1"></el-input>
</template>
<template v-slot:ApproveBtn="{ formData }">
<el-button style="margin-left: 40%;"
type="primary"
@click="handleApprove"
:loading="btnloading"
v-if="formData.ExtProcessNode_SDK==1">提交</el-button>
</template>
<template v-slot:ExtChannelType_SDK="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-if="formData.ExtProcessNode_SDK==1"
v-model="formData.ExtChannelType_SDK"
style="width: 91%"
filterable
placeholder="请选择"
no-match-text="无匹配数据">
<el-option v-for="item in aOptions"
:key="item.keyword"
:label="item.content"
:value="item.keyword" />
</el-select>
<el-input v-else
v-model="formData.ExtChannelType_SDKText"
disabled>
</el-input>
</template>
<template v-slot:ExtProductGroup_KUT="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-if="formData.ExtProcessNode_SDK==1"
v-model="formData.ExtProductGroup_KUT"
style="width: 91%"
multiple
filterable
placeholder="请选择"
no-match-text="无匹配数据"
@change="handSelect2">
<el-option v-for="item in bOptions"
:key="item.id"
:label="item.content"
:value="item.keyword" />
</el-select>
<el-input v-else
v-model="formData.ExtProductGroup_SDK"
disabled>
</el-input>
</template>
<template v-slot:ExtTotalAgent_KUT="{ formData }">
<!-- 插槽内容有el-form-item组件包裹 -->
<el-select v-if="formData.ExtProcessNode_SDK==1"
v-model="formData.ExtTotalAgent_KUT"
style="width: 91%"
multiple
filterable
placeholder="请选择"
no-match-text="无匹配数据"
@change="handSelect3">
<el-option v-for="item in cOptions"
:key="item.id"
:label="item.content"
:value="item.keyword" />
</el-select>
<el-input v-else
v-model="formData.ExtTotalAgent_SDK"
disabled>
</el-input>
</template>
</ele-form-section>
<div class="table-contain">
<PersonalInFo :addBtnStart='false' :dedeleBtnStart="false" :type-code="typeCode"/>
</div>
<div class="table-contain">
<div class="form-container">审批意见</div>
<!-- <div class="btn">
......@@ -112,17 +222,21 @@
<script>
import Title from '@/components/Title'
import { getCustomer, typeSearch, lockRsp, ProcessApproval, processHistory, province } from '@/api/customers';
import { Country } from '@/api/qcc'
import { getCustomer, getOneModel, customer, ProcessApproval, processHistory, province } from '@/api/customers';
import { Country, Common } from '@/api/qcc'
import PersonalInFo from '../components/personal-info'
import { uploadCode } from '@/api/upload'
import Pagination from '@/components/Pagination'
export default {
components: {
Pagination,
Title,
PersonalInFo
},
data() {
return {
form: {},
typeCode: uploadCode.customer,
dialogFormVisible: false,
title: '省级代理商审批进度查询',
addBtnStart: false,
......@@ -278,39 +392,49 @@ export default {
title: '签约信息',
formDesc: {
ExtChannelType_SDK: {
type: 'input',
label: '签约渠道类型',
layout: 12,
disabled: true
},
ExtProductGroup_SDK: {
type: 'input',
ExtProductGroup_KUT: {
label: '签约产品组',
layout: 12,
disabled: true
},
ExtTotalAgent_SDK: {
type: 'input',
ExtTotalAgent_KUT: {
label: '签约总代',
layout: 12,
disabled: true
},
ExtLockCityName_SDK: {
type: 'input',
label: '覆盖范围(城市)',
layout: 12,
disabled: true
ApproveBtn: {
label: '',
},
}
},
],
tableData: [],
tableData2: [],
btnloading: false,
aOptions: [],
bOptions: [],
cOptions: [],
TotalRecords: 0,
page: {},
// 同 vue-ele-form
// rules: {
// ExtLockCity_SDK: {required: true, message: '请选择覆盖城市范围'},
// }
rules: {
ExtLeader_SDK: { required: true, message: '请输入公司负责人姓名' },
ExtLeaderPhone_SDK: { required: true, message: '请输入公司负责人电话' },
ExtLeaderEmail_SDK: { required: true, message: '请输入公司负责人邮箱' },
ExtUnis_SDK: { required: true, message: '请输入Unis负责人姓名' },
ExtUnisPhone_SDK: { required: true, message: '请输入Unis负责人电话' },
ExtUnisEmail_SDK: { required: true, message: '请输入Unis负责人邮箱' },
ExtUnisEmail_SDK: { required: true, message: '请输入商务负责人姓名' },
ExtUnisEmail_SDK: { required: true, message: '请输入商务负责人电话' },
ExtUnisEmail_SDK: { required: true, message: '请输入商务负责人邮箱' },
}
}
},
watch: {
......@@ -325,6 +449,8 @@ export default {
created() {
this.id = this.$route.query.objectID
this.getList()
this.getCommon()
this.getFile()
this.getHistoryList()
},
methods: {
......@@ -354,37 +480,94 @@ export default {
this.dialogFormVisible = true
this.status = 2
},
approveClick() {
const ExtLockCity_SDK = this.formData.ExtLockCity_SDK.toString()
const cc = {
extProcessNode_SDK: this.formData.ExtProcessNode_SDK,
extCustomerType_SDK: this.formData.ExtCustomerType_SDK,
extProvince_SDK: this.formData.ExtProvince_SDK,
objectID: this.formData.ObjectID,
extLockRsp_SDK: this.formData.extLockRsp_SDK,
extLockCity_SDK: ExtLockCity_SDK,
extChannelType_SDK: this.formData.ExtChannelType_SDK
handleUpload() {
},
getFile() {
const page = {
currentPage: 1,
pageSize: 10,
businessObjectID: this.id
}
if (this.status == 1) {
const add = { customerDTO: cc, note: this.form.note, result: "approve" }
this.loading = true
ProcessApproval(add).then((resp) => {
this.loading = false
this.$message.success("审批成功!")
this.dialogFormVisible = false
this.$router.back()
getOneModel(page).then(resp => {
this.tableData2 = resp.results
})
},
btnLink(row) {
window.open(row.FileURL)
},
getCommon() {
const adata = { code: 'ExtChannelType_SDK', module: 'Customer', content: 'RSP' }
this.$request(Common.searchUrl, adata).then((resp) => {
this.aOptions = resp
})
const bdata = { code: 'ExtProductGroup_KUT', module: 'Customer' }
this.$request(Common.searchUrl, bdata).then((resp) => {
this.bOptions = resp
})
const cdata = { code: 'ExtTotalAgent_KUT', module: 'Customer' }
this.$request(Common.searchUrl, cdata).then((resp) => {
this.cOptions = resp
})
},
handSelect2(value) {
let cont = []
let val = []
this.bOptions.forEach((el) => {
value.forEach((item) => {
if (el.keyword == item) {
cont.push(el.content)
val.push(el.keyword)
}
})
})
this.formData.extProductGroup_SDK = cont//获取的 name
this.formData.extProductGroup_KUT = val//获取的 id
},
handSelect3(value) {
let cont = []
let val = []
this.cOptions.forEach((el) => {
value.forEach((item) => {
if (el.keyword == item) {
cont.push(el.content)
val.push(el.keyword)
}
})
})
this.formData.extTotalAgent_SDK = cont//获取的 name
this.formData.extTotalAgent_KUT = val//获取的 id
},
handleApprove() {
if (this.formData.ExtLeader_SDK == null || this.formData.ExtLeader_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtLeaderPhone_SDK == null || this.formData.ExtLeaderPhone_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtLeaderEmail_SDK == null || this.formData.ExtLeaderEmail_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtUnis_SDK == null || this.formData.ExtUnis_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtUnisPhone_SDK == null || this.formData.ExtUnisPhone_SDK == '') {
this.$message.warning('请输入必填信息')
} else if (this.formData.ExtUnisEmail_SDK == null || this.formData.ExtUnisEmail_SDK == '') {
this.$message.warning('请输入必填信息')
} else {
this.loading = true
const bdd = { customerDTO: cc, note: this.form.note, result: "reject" }
ProcessApproval(bdd).then((resp) => {
this.loading = false
this.$message.success("退回成功!")
this.dialogFormVisible = false
this.formData.objectID = this.id
this.btnloading = true
let arr = this.$translateToC4CData(this.formData)
arr.extProductGroup_SDK=arr.extProductGroup_SDK.toString()
arr.extProductGroup_KUT=arr.extProductGroup_KUT.toString()
arr.extTotalAgent_SDK=arr.extTotalAgent_SDK.toString()
arr.extTotalAgent_KUT=arr.extTotalAgent_KUT.toString()
this.$request(customer.updataAppUrl, arr).then((resp) => {
this.btnloading = false
this.$message.success('提交成功!')
this.$router.back()
}).catch((err) => {
this.btnloading = false
})
}
},
// 对象格式转化为键值对
paramsToFormData(obj) {
......
......@@ -459,12 +459,12 @@ export default {
bOptions: [],
cOptions: [],
supplierBaseRules: {
extSocialUnifiedCreditCode_SDK: [{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' }],
extRegisteredCapital_SDK: [{ required: true, message: '请输入注册资本(万元)', trigger: 'blur' }],
extCorporateName_SDK: [{ required: true, message: '请输入法人', trigger: 'blur' }],
extProvince_SDK: [{ required: true, message: '请选择省份', trigger: ['blur', 'change'] }],
extCity_SDK: [{ required: true, message: '请选择市', trigger: 'blur' }],
extDistrict_SDK: [{ required: true, message: '请选择区', trigger: 'blur' }],
extSocialUnifiedCreditCode_SDK: [{ required: true, message: '请输入统一社会信用代码' }],
extRegisteredCapital_SDK: [{ required: true, message: '请输入注册资本(万元)' }],
extCorporateName_SDK: [{ required: true, message: '请输入法人' }],
extProvince_SDK: [{ required: true, message: '请选择省份' }],
extCity_SDK: [{ required: true, message: '请选择市' }],
extDistrict_SDK: [{ required: true, message: '请选择区' }],
extAddressDetail_SDK: [{ required: true, message: '请输入详细经营地址', trigger: 'blur' }],
extLeader_SDK: [{ required: true, message: '请输入公司负责人姓名', trigger: 'blur' }],
extLeaderPhone_SDK: [{ required: true, message: '请输入公司负责人联系电话', trigger: 'blur' }],
......@@ -478,10 +478,10 @@ export default {
extBusinessPhone_SDK: [{ required: true, message: '请输入商务负责人电话', trigger: 'blur' }],
extBusinessEmail_SDK: [{ required: true, message: '请输入商务负责人邮箱', trigger: 'blur' },
{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }],
extChannelType_SDK: [{ required: true, message: '请选择签约渠道类型', trigger: 'blur' }],
extProductGroup_KUT: [{ required: true, message: '请选择签约产品组', trigger: 'blur' }],
extTotalAgent_KUT: [{ required: true, message: '请选择签约总代', trigger: 'blur' }],
file: [{ required: true, message: '请上传附件', trigger: ['blur', 'change'] }],
extChannelType_SDK: [{ required: true, message: '请选择签约渠道类型' }],
extProductGroup_KUT: [{ required: true, message: '请选择签约产品组' }],
extTotalAgent_KUT: [{ required: true, message: '请选择签约总代' }],
file: [{ required: true, message: '请上传附件' }],
},
dialogTableVisible: false,
TotalRecords: 0,
......@@ -510,9 +510,13 @@ export default {
getList() {
this.page.searchKey = this.formInline.Name
this.$request(Qcc.searchUrl, this.page).then((resp) => {
if(resp.results.Result){
this.tableData = resp.results.Result
this.page = resp.results.Paging
this.TotalRecords = resp.results.Paging.TotalRecords
}else{
this.$message.warning('无相关公司!')
}
})
},
selectCountry() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment