Commit 79fec321 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	enterprise-manager-ui/admin/src/views/company/drawershow.vue
parents ee80ab23 c8bfc69f
# 企业服务平台
## 测试信息
测试环境:http://192.168.0.212:8085
\ No newline at end of file
...@@ -24,9 +24,9 @@ export default { ...@@ -24,9 +24,9 @@ export default {
} }
}, },
methods: { methods: {
change() { change(e) {
this.visible = false; this.visible = false;
this.$emit("confirm"); this.$emit("confirm",e);
} }
}, },
data() { data() {
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<el-form-item> <el-form-item>
<slot name="prepend"></slot> <slot name="prepend"></slot>
<slot> <slot>
<el-button v-if="!noSaveBtn" type="primary" @click='$emit("submit")' size='small' icon='el-icon-circle-check-outline'>保存</el-button> <el-button v-if="!noSaveBtn" type="primary" @click='$emit("submit")' icon='el-icon-circle-check-outline'>保存</el-button>
<el-button v-if="!noCancelBtn" @click="$router.go(-1)" size='small' icon='el-icon-circle-close-outline'>取消</el-button> <el-button v-if="!noCancelBtn" @click="$router.go(-1)" icon='el-icon-circle-close-outline'>取消</el-button>
</slot> </slot>
<slot name="append"></slot> <slot name="append"></slot>
</el-form-item> </el-form-item>
......
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="80%"> size="80%"
<el-form ref="form" :model="form" :rules="rules" label-width="140px"> >
<el-row> <el-form ref="form" :model="form" :rules="rules" label-width="140px" style="padding:0 40px;">
<Field label="公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入公司名称"/> <el-row>
<Field label="公司编码" prop="companyCode" v-model="form.companyCode" placeholder="请输入公司编码"/> <Field label="企业名称" prop="companyName" v-model="form.companyName" placeholder="请输入企业名称" />
<Field label="联系电话" prop="contactPhone" v-model="form.contactPhone" placeholder="请输入联系电话" />
<!-- <Field label="公司编码" prop="companyCode" v-model="form.companyCode" placeholder="请输入公司编码"/>
<Field label="注册号" prop="registrationNumber" v-model="form.registrationNumber" placeholder="请输入注册号"/> <Field label="注册号" prop="registrationNumber" v-model="form.registrationNumber" placeholder="请输入注册号"/>
<Field label="法定代表人" prop="legalRepresentative" v-model="form.legalRepresentative" placeholder="请输入法定代表人"/> <Field label="法定代表人" prop="legalRepresentative" v-model="form.legalRepresentative" placeholder="请输入法定代表人"/>
<Field label="注册资本" prop="registeredCapital" v-model="form.registeredCapital" placeholder="请输入注册资本"/> <Field label="注册资本" prop="registeredCapital" v-model="form.registeredCapital" placeholder="请输入注册资本"/>
<Field label="公司类型" prop="companyType" v-model="form.companyType" placeholder="请输入公司类型"/> <Field label="公司类型" prop="companyType" v-model="form.companyType" placeholder="请输入公司类型"/>
<Field :span="24" label="经营范围" prop="businessScope" v-model="form.businessScope" placeholder="请输入经营范围"/> <Field :span="24" label="经营范围" prop="businessScope" v-model="form.businessScope" placeholder="请输入经营范围"/>-->
<!-- <Field :span="24" label="经营地址" prop="businessAdress" v-model="form.businessAdress" placeholder="请输入经营地址"> <!-- <Field :span="24" label="经营地址" prop="businessAdress" v-model="form.businessAdress" placeholder="请输入经营地址">
<p>当前选中的行政区划编码为: {{regionCodeList}}</p> <p>当前选中的行政区划编码为: {{regionCodeList}}</p>
<el-cascader v-model="regionCodeList" :props="areaprops"></el-cascader> <el-cascader v-model="regionCodeList" :props="areaprops"></el-cascader>
</Field>--> </Field>-->
<Field :span="24" label="经营地区" > <Field
:span="24"
<area-select v-model="form.areaCode" @addressSelect="addressSelect"></area-select> label="经营地址"
prop="businessAdress"
v-model="form.businessAdress"
</Field> placeholder="请输入经营地址"
<Field label="经营地址" prop="businessAdress" v-model="form.businessAdress" placeholder="请输入经营地址"/> >
<area-select v-model="form.areaCode" @addressSelect="addressSelect"></area-select>
<Field label="所在地" prop="location" v-model="form.location" placeholder="请输入所在地"/> </Field>
<Field label="联系电话" prop="contactPhone" v-model="form.contactPhone" placeholder="请输入联系电话"/>
<Field label="电子邮件地址" prop="email" v-model="form.email" placeholder="请输入电子邮件地址"/> <!-- <Field label="所在地" prop="location" v-model="form.location" placeholder="请输入所在地"/> -->
<Field prop="location" v-model="form.location" placeholder="请输入详细地址" />
<!-- <Field label="电子邮件地址" prop="email" v-model="form.email" placeholder="请输入电子邮件地址"/>
<Field label="公司网站" prop="website" v-model="form.website" placeholder="请输入公司网站"/> <Field label="公司网站" prop="website" v-model="form.website" placeholder="请输入公司网站"/>
<Field label="税务登记号" prop="taxRegistrationNumber" v-model="form.taxRegistrationNumber" placeholder="请输入税务登记号"/> <Field label="税务登记号" prop="taxRegistrationNumber" v-model="form.taxRegistrationNumber" placeholder="请输入税务登记号"/>
<Field label="社会信用代码" prop="socialCreditCode" v-model="form.socialCreditCode" placeholder="请输入社会信用代码"/> <Field label="社会信用代码" prop="socialCreditCode" v-model="form.socialCreditCode" placeholder="请输入社会信用代码"/>
...@@ -41,393 +45,363 @@ ...@@ -41,393 +45,363 @@
<Field label="专利数量" prop="patentNum" v-model="form.patentNum" placeholder="专利数量"/> <Field label="专利数量" prop="patentNum" v-model="form.patentNum" placeholder="专利数量"/>
<Field label="历史发展" prop="hisDevelop" v-model="form.hisDevelop" type="textarea" placeholder="请输入历史发展"/> <Field label="历史发展" prop="hisDevelop" v-model="form.hisDevelop" type="textarea" placeholder="请输入历史发展"/>
<Field label="经度" prop="lon" v-model="form.lon" placeholder="请输入经度"/> <Field label="经度" prop="lon" v-model="form.lon" placeholder="请输入经度"/>
<Field label="纬度" prop="lati" v-model="form.lati" placeholder="请输入纬度"/> <Field label="纬度" prop="lati" v-model="form.lati" placeholder="请输入纬度"/>-->
<Field label="公司介绍" prop="companyIntroduction" v-model="form.companyIntroduction" type="textarea" placeholder="请输入公司介绍"/> <!-- <Field label="公司文化" prop="companyCulture" v-model="form.companyCulture" type="textarea" placeholder="请输入公司文化"/>
<Field label="公司文化" prop="companyCulture" v-model="form.companyCulture" type="textarea" placeholder="请输入公司文化"/>
<Field label="排序" prop="sort" v-model="form.sort" type="num" placeholder="请输入排序"/> <Field label="排序" prop="sort" v-model="form.sort" type="num" placeholder="请输入排序"/>
<Field label="成立日期" prop="establishDate" v-model="form.establishDate" type="date" /> <Field label="成立日期" prop="establishDate" v-model="form.establishDate" type="date" />-->
<Field :span="24" label="企业logo"><imageUpload v-model="form.logoPath" prePath="/file/preview"/></Field> <Field :span="24" label="企业logo">
<Field :span="24" label="企业视频"><fileUpload v-model="form.companyVideoPath" :fileType="[ 'mp4', 'avi']" prePath="/file/fileupload"/></Field> <imageUpload v-model="form.logoPath" prePath="/file/preview" />
</Field>
<Field :span="24" label="企业标签">
<el-select
v-model="companyLabelsList"
multiple
placeholder="请选择企业标签"
:style="{ width: '590px' }"
>
<el-option
v-for="($label, $value) in dict.labels"
:key="$value"
:label="$label"
:value="$value"
></el-option>
</el-select>
</Field>
<Field
label="公司介绍"
prop="companyIntroduction"
v-model="form.companyIntroduction"
type="textarea"
placeholder="请输入公司介绍"
/>
<!-- <Field :span="24" label="企业视频"><fileUpload v-model="form.companyVideoPath" :fileType="[ 'mp4', 'avi']" prePath="/file/fileupload"/></Field>
<Field :span="24" label="企业宣传图片"><fileUpload v-model="form.companyPicPath" :fileType="['png', 'jpg', 'jpeg']" prePath="/file/preview"/></Field> <Field :span="24" label="企业宣传图片"><fileUpload v-model="form.companyPicPath" :fileType="['png', 'jpg', 'jpeg']" prePath="/file/preview"/></Field>
<Field :span="24" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> <Field :span="24" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>-->
</el-row>
</el-row> <Field :span="24" label="知识产权">
<el-divider content-position="center">公司标签信息</el-divider> <el-table
<br/> class="zhshchq"
<el-row style="margin-left:10px" :gutter="10" class="mb8"> :data="companyPatentsList"
<el-col :span="1.5"> :row-class-name="rowCompanyPatentsIndex"
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddCompanyLabels">添加</el-button> @selection-change="handleCompanyPatentsSelectionChange"
</el-col> ref="companyPatents"
<el-col :span="1.5"> >
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteCompanyLabels">删除</el-button> <!-- <el-table-column type="selection" width="50" align="center" /> -->
</el-col> <el-table-column label="序号" align="center" prop="index" width="50" />
</el-row> <el-table-column label="知识产权类型" align="center" prop="intellectPropertyType">
<template slot-scope="scope">
<el-table :data="companyLabelsList" :row-class-name="rowCompanyLabelsIndex" @selection-change="handleCompanyLabelsSelectionChange" ref="companyLabels"> <el-input v-model="scope.row.intellectPropertyType" placeholder="请输入知识产权类型" />
<el-table-column type="selection" width="50" align="center" /> </template>
<el-table-column label="序号" align="center" prop="index" width="50"/> </el-table-column>
<!-- <el-table-column label="标签名称" prop="labelName">-->
<!-- <template slot-scope="scope">--> <el-table-column label="知识产权数量" prop="labelId" align="center">
<!-- <el-input v-model="scope.row.labelName" placeholder="请选择标签名称" />--> <template slot-scope="scope">
<!-- </template>--> <el-input-number
<!-- </el-table-column>--> v-model="scope.row.intellectPropertyNum"
size="small"
<el-table-column label="标签名称" prop="labelId"> placeholder="请输入知识产权数量"
<template slot-scope="scope"> ></el-input-number>
</template>
<el-select v-model="scope.row.labelId" placeholder="请选择标签名称" > </el-table-column>
<el-option
v-for="($label, $value) in dict.labels" <el-table-column label="操作" width="240">
:key="$value" <template slot-scope="scope">
:label="$label" <Confirm @confirm="handleDeleteCompanyPatents(scope.row)" message="确定要删除该条知识产权吗?">
:value="$value" <div class="del">删除</div>
></el-option> </Confirm>
</el-select> </template>
</el-table-column>
<!-- <el-input v-model="scope.row.labelName" placeholder="请选择标签名称" />--> </el-table>
</template> <el-row
</el-table-column> style="margin:10px 0;display: flex;justify-content: center;"
:gutter="10"
<!-- <el-table-column label="公司名称" prop="companyName"> class="mb8"
<template slot-scope="scope"> >
<el-input v-model="scope.row.companyName" placeholder="请输入公司名称" /> <el-col :span="1.5">
</template> <el-button type="primary" icon="el-icon-plus" @click="handleAddCompanyPatents">新增知识产权</el-button>
</el-table-column>--> </el-col>
<el-table-column label="备注" prop="remark"> </el-row>
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="请输入备注" /> <el-form-item v-if="pageInfo.type!='view'" class="formbtns">
</template> <el-button type="primary" @click="submitForm" icon="el-icon-circle-check-outline">保存</el-button>
</el-table-column> <el-button @click="open=false" icon="el-icon-circle-close-outline">取消</el-button>
</el-form-item>
</Field>
</el-table> </el-form>
</el-drawer>
<el-divider content-position="center">公司专利信息</el-divider>
<br/>
<el-row style="margin-left:10px" :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddCompanyPatents">添加</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteCompanyPatents">删除</el-button>
</el-col>
</el-row>
<el-table :data="companyPatentsList" :row-class-name="rowCompanyPatentsIndex" @selection-change="handleCompanyPatentsSelectionChange" ref="companyPatents">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50"/>
<el-table-column label="知识产权类型" prop="intellectPropertyType">
<template slot-scope="scope">
<el-input v-model="scope.row.intellectPropertyType" placeholder="请输入知识产权类型" />
</template>
</el-table-column>
<el-table-column label="知识产权数量" prop="labelId">
<template slot-scope="scope">
<el-input-number v-model="scope.row.intellectPropertyNum" size="small" placeholder='请输入知识产权数量' ></el-input-number>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark">
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
</el-form>
</el-drawer>
</template> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
export default { import Confirm from "@/components/Confirm.vue";
name: "CompanyDetail", export default {
mixins: [form], name: "CompanyDetail",
components: { mixins: [form],
components: {
}, Confirm
created() { },
this.changePath("company") created() {
}, this.changePath("company");
data() { },
let that = this data() {
return { let that = this;
return {
regionCodeList: [], regionCodeList: [],
areaprops: { areaprops: {
// 单选 // 单选
checkStrictly: true, checkStrictly: true,
// 懒加载 // 懒加载
lazy: true, lazy: true,
lazyLoad(node, resolve) { lazyLoad(node, resolve) {
var param = { var param = {
pid:node.level===0?0:node.data.id, pid: node.level === 0 ? 0 : node.data.id,
size:-1 size: -1
}; };
that.$post("/base/area/list", param) that.$post("/base/area/list", param).then(res => {
.then(res => { console.log(res);
console.log(res) let nodes = res.data.data.map(item => {
let nodes = res.data.data.map(item => { return {
return { value: item.areaCode,
value: item.areaCode, label: item.name,
label: item.name, id: item.iid,
id:item.iid, leaf: item.haveSonArea === "False"
leaf: item.haveSonArea === "False" };
} });
}) resolve(nodes);
resolve(nodes) });
}) }
} },
}, // 子表选中数据
// 子表选中数据 checkedCompanyLabels: [],
checkedCompanyLabels: [], // 公司标注表格数据
// 公司标注表格数据 companyLabelsList: [],
companyLabelsList: [], // 子表选中数据
// 子表选中数据 checkedCompanyPatents: [],
checkedCompanyPatents: [], // 公司专利表格数据
// 公司专利表格数据 companyPatentsList: [],
companyPatentsList: [], // 遮罩层
// 遮罩层 loading: true,
loading: true, // 弹出层标题
// 弹出层标题 title: "公司",
title: "公司", // 是否显示弹出层
// 是否显示弹出层 open: false,
open: false, direction: "rtl",
direction:"rtl", toString: ["labelId"],
toString:[ toDate: ["establishDate"],
"labelId" // 表单校验
], rules: {
toDate:[ companyName: [
"establishDate", { required: true, message: "请输入公司名称", trigger: "blur" },
], { max: 128, message: "最多只能录入128个字符", trigger: "blur" }
// 表单校验 ],
rules: { areaCode: [
companyName: [ { required: true, message: "请输入所属区域编码", trigger: "blur" },
{required: true,message: "请输入公司名称", trigger: "blur" }, { max: 128, message: "最多只能录入128个字符", trigger: "blur" }
{max: 128,message: "最多只能录入128个字符",trigger: "blur",}, ],
], areaName: [
areaCode: [ { required: true, message: "请输入所属区域名称", trigger: "blur" },
{required: true,message: "请输入所属区域编码", trigger: "blur" }, { max: 128, message: "最多只能录入128个字符", trigger: "blur" }
{max: 128,message: "最多只能录入128个字符",trigger: "blur",}, ],
], contactPhone: [
areaName: [ { required: true, message: "请输入联系电话", trigger: "blur" },
{required: true,message: "请输入所属区域名称", trigger: "blur" }, { max: 32, message: "最多只能录入32个字符", trigger: "blur" }
{max: 128,message: "最多只能录入128个字符",trigger: "blur",}, ],
], lon: [
contactPhone: [ { required: true, message: "请输入经度", trigger: "blur" },
{required: true,message: "请输入联系电话", trigger: "blur" }, { max: 32, message: "最多只能录入32个字符", trigger: "blur" }
{max: 32,message: "最多只能录入32个字符",trigger: "blur",}, ],
], lati: [
lon: [ { required: true, message: "请输入纬度", trigger: "blur" },
{required: true,message: "请输入经度", trigger: "blur" }, { max: 32, message: "最多只能录入32个字符", trigger: "blur" }
{max: 32,message: "最多只能录入32个字符",trigger: "blur",}, ],
], logoPath: [
lati: [ { required: true, message: "请输入企业logo", trigger: "blur" },
{required: true,message: "请输入纬度", trigger: "blur" }, { max: 128, message: "最多只能录入128个字符", trigger: "blur" }
{max: 32,message: "最多只能录入32个字符",trigger: "blur",}, ],
], establishDate: [{ required: true, message: "请选择成立日期" }],
logoPath: [ createTime: [{ required: true, message: "请选择创建时间" }]
{required: true,message: "请输入企业logo", trigger: "blur" }, }
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
establishDate: [
{required: true,message: "请选择成立日期" },
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
addressSelect(val){
console.log("addressSelect",val)
},
/** 公司标注序号 */
rowCompanyLabelsIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** 公司标注添加按钮操作 */
handleAddCompanyLabels() {
let obj = {};
obj.labelId = "";
obj.labelName = "";
obj.companyName = "";
obj.remark = "";
obj.createUserId = "";
obj.createTime = "";
obj.updateUserId = "";
obj.updateTime = "";
this.companyLabelsList.push(obj);
},
/** 公司标注删除按钮操作 */
handleDeleteCompanyLabels() {
if (this.checkedCompanyLabels.length == 0) {
this.$alert("请先选择要删除的公司标注数据", "提示", { confirmButtonText: "确定", });
} else {
this.companyLabelsList.splice(this.checkedCompanyLabels[0].index - 1, 1);
}
},
/** 单选框选中数据 */
handleCompanyLabelsSelectionChange(selection) {
if (selection.length > 1) {
this.$refs.companyLabels.clearSelection();
this.$refs.companyLabels.toggleRowSelection(selection.pop());
} else {
this.checkedCompanyLabels = selection;
}
},
/** 公司专利序号 */
rowCompanyPatentsIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** 公司专利添加按钮操作 */
handleAddCompanyPatents() {
let obj = {};
obj.companyId = "";
obj.intellectPropertyType = "";
obj.intellectPropertyNum = 1;
obj.remark = "";
obj.createUserId = "";
obj.createTime = "";
obj.updateUserId = "";
obj.updateTime = "";
this.companyPatentsList.push(obj);
},
/** 公司专利删除按钮操作 */
handleDeleteCompanyPatents() {
if (this.checkedCompanyPatentss.length == 0) {
this.$alert("请先选择要删除的公司专利数据", "提示", { confirmButtonText: "确定", });
} else {
this.companyPatentsList.splice(this.checkedCompanyPatents[0].index - 1, 1);
}
},
/** 单选框选中数据 */
handleCompanyPatentsSelectionChange(selection) {
if (selection.length > 1) {
this.$refs.companyPatents.clearSelection();
this.$refs.companyPatents.toggleRowSelection(selection.pop());
} else {
this.checkedCompanyPatents = selection;
}
},
// 渲染前置处理
beforeRender(data) {
if(data.entity.companyLabelsList) {
data.entity.companyLabelsList.forEach(item => {
//如果相等做操作
item['labelId'] = item[ 'labelId']+ '';
})
this.companyLabelsList = data.entity.companyLabelsList;
}
if(data.entity.companyPatentsList) {
this.companyPatentsList = data.entity.companyPatentsList;
}
return data
},
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改公司";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "company/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增公司";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/view";
this.getData();
this.pageInfo.type="view"
this.title = "公司详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
companyName : "",
companyCode : "",
registrationNumber : "",
legalRepresentative : "",
registeredCapital : "",
companyType : "",
businessScope : "",
businessAdress : "",
location : "",
areaCode : "",
areaName : "",
contactPhone : "",
email : "",
website : "",
taxRegistrationNumber : "",
socialCreditCode : "",
trademarkInfo : "",
websiteRegistrationInfo : "",
totalEmployees : null,
softNum : null,
patentNum : null,
hisDevelop : "",
lon : "",
lati : "",
logoPath : "",
companyVideoPath : "",
companyPicPath : "",
companyIntroduction : "",
companyCulture : "",
sort : 0,
establishDate : null,
remark : "",
companyLabelsList:[],
companyPatentsList:[]
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
}; };
},
methods: {
addressSelect(val) {
console.log("addressSelect", val);
},
/** 公司标注序号 */
rowCompanyLabelsIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** 公司专利序号 */
rowCompanyPatentsIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** 公司专利添加按钮操作 */
handleAddCompanyPatents() {
let obj = {};
obj.companyId = "";
obj.intellectPropertyType = "";
obj.intellectPropertyNum = 1;
obj.remark = "";
obj.createUserId = "";
obj.createTime = "";
obj.updateUserId = "";
obj.updateTime = "";
this.companyPatentsList.push(obj);
},
/** 公司专利删除按钮操作 */
handleDeleteCompanyPatents(row) {
// 由于有一些知识产权还没有id,所以这里删除选用的是字段中带的index
this.companyPatentsList = this.companyPatentsList.filter(
item => item.index !== row.index
);
this.form.companyPatentsList = this.companyPatentsList;
},
/** 单选框选中数据 */
handleCompanyPatentsSelectionChange(selection) {
if (selection.length > 1) {
this.$refs.companyPatents.clearSelection();
this.$refs.companyPatents.toggleRowSelection(selection.pop());
} else {
this.checkedCompanyPatents = selection;
}
},
// 渲染前置处理
beforeRender(data) {
if (data.entity.companyLabelsList) {
let arr = [];
data.entity.companyLabelsList.forEach(item => {
//如果相等做操作
item["labelId"] = item["labelId"] + "";
arr.push(item.labelId);
});
this.companyLabelsList = arr;
}
if (data.entity.companyPatentsList) {
this.companyPatentsList = data.entity.companyPatentsList;
}
return data;
},
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "company/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "编辑企业信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "company/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增企业";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "company/view";
this.getData();
this.pageInfo.type = "view";
this.title = "企业详情";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
companyName: "",
companyCode: "",
registrationNumber: "",
legalRepresentative: "",
registeredCapital: "",
companyType: "",
businessScope: "",
businessAdress: "",
location: "",
areaCode: "",
areaName: "",
contactPhone: "",
email: "",
website: "",
taxRegistrationNumber: "",
socialCreditCode: "",
trademarkInfo: "",
websiteRegistrationInfo: "",
totalEmployees: null,
softNum: null,
patentNum: null,
hisDevelop: "",
lon: "",
lati: "",
logoPath: "",
companyVideoPath: "",
companyPicPath: "",
companyIntroduction: "",
companyCulture: "",
sort: 0,
establishDate: null,
remark: "",
companyLabelsList: [],
companyPatentsList: []
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
}
},
watch: {
companyLabelsList(newval) {
let arr = [];
newval.forEach(item => {
arr.push({
labelId: item
});
});
this.form.companyLabelsList = arr;
}
}
};
</script> </script>
<style lang="less" scoped>
.del {
color: red;
}
.formbtns {
display: flex;
justify-content: flex-end;
align-items: center;
height: 60px;
margin-top: 30px;
}
.zhshchq {
margin-top: 20px;
}
</style>
\ No newline at end of file
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig" notDel>
</LayoutTable> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
......
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="70%"> size="70%"
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> >
<el-row> <el-form ref="form" :model="form" :rules="rules" label-width="120px" style="padding:0 40px;">
<Field :span="20" label="标签名称" prop="labelName" v-model="form.labelName" placeholder="请输入标签名称"/> <el-row>
<Field :span="20" label="标签描述" prop="labelDesc" v-model="form.labelDesc" placeholder="请输入标签描述"/> <Field
<Field :span="20" label="标签图标"><imageUpload v-model="form.labelLogoPath" prePath="/file/preview"/></Field> :span="20"
<Field :span="20" label="排序" prop="sort" type="num" v-model="form.sort" placeholder="请输入排序"/> label="标签名称"
<Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> prop="labelName"
v-model="form.labelName"
</el-row> placeholder="请输入标签名称"
/>
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn /> <Field
</el-form> :span="20"
label="标签描述"
</el-drawer> prop="labelDesc"
v-model="form.labelDesc"
placeholder="请输入标签描述"
/>
<Field :span="20" label="标签图标">
<imageUpload v-model="form.labelLogoPath" prePath="/file/preview" />
</Field>
<Field
:span="20"
label="排序"
prop="sort"
type="num"
v-model="form.sort"
placeholder="请输入排序"
/>
<Field
:span="20"
label="备注"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
<el-form-item v-if="pageInfo.type!='view'" class="formbtns">
<el-button type="primary" @click="submitForm" icon="el-icon-circle-check-outline">保存</el-button>
<el-button @click="open=false" icon="el-icon-circle-close-outline">取消</el-button>
</el-form-item>
</el-form>
</el-drawer>
</template> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
export default { export default {
name: "LabelsDetail", name: "LabelsDetail",
mixins: [form], mixins: [form],
components: { components: {},
created() {
}, this.changePath("labels");
created() { },
this.changePath("labels") data() {
}, return {
data() { // 遮罩层
return { loading: true,
// 遮罩层 // 弹出层标题
loading: true, title: "标注",
// 弹出层标题 // 是否显示弹出层
title: "标注", open: false,
// 是否显示弹出层 direction: "rtl",
open: false, toString: [],
direction:"rtl", toDate: [],
toString:[ // 表单校验
], rules: {
toDate:[ labelName: [
], { required: true, message: "请输入标签名称", trigger: "blur" },
// 表单校验 { max: 128, message: "最多只能录入128个字符", trigger: "blur" }
rules: { ],
labelName: [ createTime: [{ required: true, message: "请选择创建时间" }]
{required: true,message: "请输入标签名称", trigger: "blur" }, }
{max: 128,message: "最多只能录入128个字符",trigger: "blur",}, };
], },
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: { methods: {
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset() this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl ="labels/edit"; this.urls.currUrl = "labels/edit";
this.getData(); this.getData();
this.pageInfo.type="edit" this.pageInfo.type = "edit";
this.title = "修改标注"; this.title = "修改标注";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset() this.reset();
this.urls.currUrl = "labels/add"; this.urls.currUrl = "labels/add";
this.getData(); this.getData();
this.pageInfo.type="add" this.pageInfo.type = "add";
this.title = "新增标注"; this.title = "新增标注";
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.reset() this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl ="labels/view"; this.urls.currUrl = "labels/view";
this.getData(); this.getData();
this.pageInfo.type="view" this.pageInfo.type = "view";
this.title = "标注详细"; this.title = "标注详细";
}, },
/**取消按钮 */ /**取消按钮 */
cancel() { cancel() {
this.open = false; this.open = false;
}, },
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
this.open = true; this.open = true;
}, },
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
labelName : "", labelName: "",
labelDesc : "", labelDesc: "",
labelLogoPath : "", labelLogoPath: "",
sort : 0, sort: 0,
remark : "", remark: ""
}; };
this.resetForm("form"); this.resetForm("form");
}, },
resetForm(refName) { resetForm(refName) {
if (this.$refs[refName]) { if (this.$refs[refName]) {
this.$refs[refName].resetFields(); this.$refs[refName].resetFields();
} }
}, }
}, }
}; };
</script> </script>
<style lang="less" scoped>
.formbtns {
display: flex;
justify-content: flex-end;
align-items: center;
height: 60px;
margin-top: 30px;
}
</style>
...@@ -28,6 +28,11 @@ ...@@ -28,6 +28,11 @@
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr> <profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group> <profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace> <profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.rabbitmq.host>192.168.0.251</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>root_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>xhx@2022</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path> <profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>info</profiles.log.level> <profiles.log.level>info</profiles.log.level>
<profiles.publish.path>/home/publish</profiles.publish.path> <profiles.publish.path>/home/publish</profiles.publish.path>
......
...@@ -18,6 +18,6 @@ public class NewsReq extends BaseReq { ...@@ -18,6 +18,6 @@ public class NewsReq extends BaseReq {
/** /**
* 分类id * 分类id
*/ */
private Long categoryId; private Long newsCategoryId;
} }
...@@ -13,6 +13,8 @@ import com.mortals.xhx.base.system.user.service.UserService; ...@@ -13,6 +13,8 @@ import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.busiz.applets.req.NewsReq; import com.mortals.xhx.busiz.applets.req.NewsReq;
import com.mortals.xhx.busiz.applets.rsp.NewsListInfo; import com.mortals.xhx.busiz.applets.rsp.NewsListInfo;
import com.mortals.xhx.common.utils.BeanUtil; import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.category.model.CategoryQuery;
import com.mortals.xhx.module.category.service.CategoryService;
import com.mortals.xhx.module.dept.model.DeptQuery; import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.news.model.NewsCategoryQuery; import com.mortals.xhx.module.news.model.NewsCategoryQuery;
...@@ -21,6 +23,7 @@ import com.mortals.xhx.module.news.model.NewsQuery; ...@@ -21,6 +23,7 @@ import com.mortals.xhx.module.news.model.NewsQuery;
import com.mortals.xhx.module.news.service.NewsCategoryService; import com.mortals.xhx.module.news.service.NewsCategoryService;
import com.mortals.xhx.module.news.service.NewsService; import com.mortals.xhx.module.news.service.NewsService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -60,6 +63,7 @@ public class NewsApiController extends AbstractBaseController<NewsReq> { ...@@ -60,6 +63,7 @@ public class NewsApiController extends AbstractBaseController<NewsReq> {
@Autowired @Autowired
private UserService userService; private UserService userService;
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "top", paramService.getParamBySecondOrganize("News", "top")); this.addDict(model, "top", paramService.getParamBySecondOrganize("News", "top"));
this.addDict(model, "viewNums", paramService.getParamBySecondOrganize("News", "viewNums")); this.addDict(model, "viewNums", paramService.getParamBySecondOrganize("News", "viewNums"));
...@@ -69,10 +73,27 @@ public class NewsApiController extends AbstractBaseController<NewsReq> { ...@@ -69,10 +73,27 @@ public class NewsApiController extends AbstractBaseController<NewsReq> {
} }
/**
* 新闻频道分类
*/
@PostMapping(value = "categoryList")
public Rest<Object> categoryList(){
String busiDesc = "新闻频道";
Rest<Object> rest = Rest.ok();
try {
rest.setData(newsCategoryService.find(new NewsCategoryQuery()));
}catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/** /**
* 新闻列表 * 新闻列表
*/ */
@PostMapping(value = "list") @PostMapping(value = "newsList")
public Rest<Object> newsList(@RequestBody NewsReq newsReq) { public Rest<Object> newsList(@RequestBody NewsReq newsReq) {
String busiDesc = "新闻列表"; String busiDesc = "新闻列表";
log.info("【{}】【请求体】--> {}", busiDesc, JSONObject.toJSONString(newsReq)); log.info("【{}】【请求体】--> {}", busiDesc, JSONObject.toJSONString(newsReq));
...@@ -86,8 +107,8 @@ public class NewsApiController extends AbstractBaseController<NewsReq> { ...@@ -86,8 +107,8 @@ public class NewsApiController extends AbstractBaseController<NewsReq> {
PageInfo pageInfo = buildPageInfo(newsReq); PageInfo pageInfo = buildPageInfo(newsReq);
NewsQuery query = new NewsQuery(); NewsQuery query = new NewsQuery();
if(!ObjectUtils.isEmpty(newsReq.getCategoryId())){ if(!ObjectUtils.isEmpty(newsReq.getNewsCategoryId())){
query.setCategoryId(newsReq.getCategoryId()); query.setCategoryId(newsReq.getNewsCategoryId());
} }
query.setOrderColList(Arrays.asList(new OrderCol("createTime", OrderCol.DESCENDING))); query.setOrderColList(Arrays.asList(new OrderCol("createTime", OrderCol.DESCENDING)));
...@@ -113,7 +134,7 @@ public class NewsApiController extends AbstractBaseController<NewsReq> { ...@@ -113,7 +134,7 @@ public class NewsApiController extends AbstractBaseController<NewsReq> {
/** /**
* 新闻详细 * 新闻详细
*/ */
@PostMapping(value = "info") @PostMapping(value = "newsInfo")
public Rest<NewsEntity> appealInfo(@RequestBody NewsReq newsReq) { public Rest<NewsEntity> appealInfo(@RequestBody NewsReq newsReq) {
String busiDesc = "新闻详细"; String busiDesc = "新闻详细";
log.info("【{}】【请求体】--> {}", busiDesc, JSONObject.toJSONString(newsReq)); log.info("【{}】【请求体】--> {}", busiDesc, JSONObject.toJSONString(newsReq));
......
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