Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev
This commit is contained in:
@@ -35,7 +35,7 @@
|
|||||||
</ai-table>
|
</ai-table>
|
||||||
</template>
|
</template>
|
||||||
</ai-list>
|
</ai-list>
|
||||||
<!--功能分配-->
|
<!--添加账号-->
|
||||||
<ai-dialog title="添加账号" :close-on-click-modal="false" class="editStyle" :visible.sync="accountDialog"
|
<ai-dialog title="添加账号" :close-on-click-modal="false" class="editStyle" :visible.sync="accountDialog"
|
||||||
width="800px" @closed="account={}" @onConfirm="submitAddAcount">
|
width="800px" @closed="account={}" @onConfirm="submitAddAcount">
|
||||||
<el-form ref="addAccountForm" :model="account" :rules="rules" size="small"
|
<el-form ref="addAccountForm" :model="account" :rules="rules" size="small"
|
||||||
@@ -47,10 +47,11 @@
|
|||||||
<el-input v-model.trim="account.phone" placeholder="请输入..." clearable :maxLength="11"/>
|
<el-input v-model.trim="account.phone" placeholder="请输入..." clearable :maxLength="11"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="行政地区" prop="areaId">
|
<el-form-item label="行政地区" prop="areaId">
|
||||||
<ai-area-get v-model="account.areaId" :instance="instance"/>
|
<ai-area-get v-model="account.areaId" :instance="instance" root="500241000000" showAll/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ai-dialog>
|
</ai-dialog>
|
||||||
|
<!--功能分配-->
|
||||||
<ai-dialog title="功能分配" :visible.sync="dialog" width="800px" @open="initDialogData" @onConfirm="updateAccount">
|
<ai-dialog title="功能分配" :visible.sync="dialog" width="800px" @open="initDialogData" @onConfirm="updateAccount">
|
||||||
<el-form ref="updateAccountForm" :model="dialogForm" :rules="rules" size="small"
|
<el-form ref="updateAccountForm" :model="dialogForm" :rules="rules" size="small"
|
||||||
label-width="120px">
|
label-width="120px">
|
||||||
@@ -61,10 +62,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="行政地区" prop="areaId">
|
<el-form-item label="行政地区" prop="areaId">
|
||||||
<ai-area-select v-model="dialogForm.areaId" always-show :instance="instance"
|
<ai-area-get v-model="dialogForm.areaId" :instance="instance" :name.sync="dialogForm.areaName"
|
||||||
clearable @fullname="v=>dialogForm.areaFullName=v"
|
root="500241000000" showAll/>
|
||||||
@name="v=>dialogForm.areaName=v"
|
|
||||||
:disabledLevel="disabledLevel"/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党组织" prop="organizationId" v-if="user.info.organizationId">
|
<el-form-item label="党组织" prop="organizationId" v-if="user.info.organizationId">
|
||||||
<el-cascader :options="partyOrgOps" v-model="dialogForm.organizationId"
|
<el-cascader :options="partyOrgOps" v-model="dialogForm.organizationId"
|
||||||
@@ -214,7 +213,8 @@ export default {
|
|||||||
if (v) {
|
if (v) {
|
||||||
if (this.lock) return this.$message.error("请勿多次提交!")
|
if (this.lock) return this.$message.error("请勿多次提交!")
|
||||||
this.lock = true
|
this.lock = true
|
||||||
this.instance.post("/user/empower", this.dialogForm).then(res => {
|
let areaFullName = this.dialogForm.areaName
|
||||||
|
this.instance.post("/user/empower", {...this.dialogForm, areaFullName}).then(res => {
|
||||||
this.lock = false
|
this.lock = false
|
||||||
if (res?.code == 0) {
|
if (res?.code == 0) {
|
||||||
this.dialog = false;
|
this.dialog = false;
|
||||||
@@ -238,6 +238,7 @@ export default {
|
|||||||
if (res?.code == 0) {
|
if (res?.code == 0) {
|
||||||
this.$message.success("提交成功!")
|
this.$message.success("提交成功!")
|
||||||
this.accountDialog = false
|
this.accountDialog = false
|
||||||
|
this.getTableData();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
455
project/xiushan/apps/AppNativeAppVersion/AppNativeAppVersion.vue
Normal file
455
project/xiushan/apps/AppNativeAppVersion/AppNativeAppVersion.vue
Normal file
@@ -0,0 +1,455 @@
|
|||||||
|
<template>
|
||||||
|
<section class="AppNativeAppVersion">
|
||||||
|
<ai-list>
|
||||||
|
<ai-title slot="title" title="App版本管理" isShowBottomBorder/>
|
||||||
|
<template #content>
|
||||||
|
<ai-search-bar>
|
||||||
|
<template #left>
|
||||||
|
<el-select size="small" v-model="search.type" clearable @change="page.current=1,searchList()"
|
||||||
|
placeholder="请选择系统">
|
||||||
|
<el-option
|
||||||
|
v-for="item in system"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<template #right>
|
||||||
|
<el-input size="small" v-model.trim="search.versionName" placeholder="版本号/版本名称" clearable
|
||||||
|
@keyup.enter.native="page.current=1,searchList()" prefix-icon="iconfont iconSearch"/>
|
||||||
|
</template>
|
||||||
|
</ai-search-bar>
|
||||||
|
<ai-search-bar>
|
||||||
|
<template #left>
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
icon="iconfont iconAdd"
|
||||||
|
@click="toAdd()">添加
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</ai-search-bar>
|
||||||
|
<el-table
|
||||||
|
:data="list"
|
||||||
|
v-loading="loading"
|
||||||
|
header-cell-class-name="table-header"
|
||||||
|
tooltip-effect="light"
|
||||||
|
row-class-name="table-row"
|
||||||
|
cell-class-name="table-cell"
|
||||||
|
@selection-change="v=>this.selectAccounts=v"
|
||||||
|
max-height="calc(100% - 200px)">
|
||||||
|
<el-table-column
|
||||||
|
v-for="(item,i) in recordCols"
|
||||||
|
:key="i" :prop="item.prop"
|
||||||
|
show-overflow-tooltip
|
||||||
|
:label="item.label"
|
||||||
|
:align="item.align"
|
||||||
|
:width="item.width">
|
||||||
|
<div class="nowarp-text" slot-scope="{row}">
|
||||||
|
{{ row[item.prop] || "-" }}
|
||||||
|
</div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="系统" :width="120">
|
||||||
|
<template slot-scope="{row}">
|
||||||
|
<span v-if="row.type === '0'">苹果</span>
|
||||||
|
<span v-else>安卓</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="是否强制更新" :width="120">
|
||||||
|
<template slot-scope="{row}">
|
||||||
|
<span v-if="row.type === '0'">{{ row.isForceUpdate === '0' ? '否' : '是' }}</span>
|
||||||
|
<span v-else>-</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="下载二维码">
|
||||||
|
<div slot-scope="{row}">
|
||||||
|
<img @click="showQRcode(row.qrCodeUrl)" title="预览" style="margin: 10px 0;width: 80px;cursor: pointer;"
|
||||||
|
:src="row.qrCodeUrl">
|
||||||
|
</div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" prop="createTime" label="上传时间">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="操作">
|
||||||
|
<template slot-scope="{row}">
|
||||||
|
<el-button
|
||||||
|
v-if="row.type === '0'"
|
||||||
|
class="account-list-operation icon-color89B"
|
||||||
|
type="text"
|
||||||
|
icon="iconfont iconDownload"
|
||||||
|
title="下载"
|
||||||
|
@click="download(row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="$permissions('admin_sysuser_del')"
|
||||||
|
class="account-list-operation icon-color89B"
|
||||||
|
type="text"
|
||||||
|
icon="iconfont iconDelete"
|
||||||
|
title="删除"
|
||||||
|
@click="remove(row.id)">
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<div slot="empty" class="no-data"></div>
|
||||||
|
</el-table>
|
||||||
|
<div class="pagination">
|
||||||
|
<el-pagination
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
:current-page="page.current"
|
||||||
|
background :page-size="page.pageSize"
|
||||||
|
:page-sizes="[10, 20, 50, 100,200]"
|
||||||
|
layout="total,prev, pager, next,sizes, jumper"
|
||||||
|
:total="total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</ai-list>
|
||||||
|
<el-dialog
|
||||||
|
title="新增版本"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
class="editStyle"
|
||||||
|
:visible.sync="dialog.add.visible"
|
||||||
|
width="600px"
|
||||||
|
@close="closeAdd">
|
||||||
|
<el-form ref="addVersionForm" :model="dialog.add" :rules="rules.add" size="small" label-width="120px">
|
||||||
|
<el-form-item required label="系统" prop="type">
|
||||||
|
<el-select style="width: 240px" v-model="dialog.add.type" placeholder="请选择" @change="onSystemChange">
|
||||||
|
<el-option
|
||||||
|
v-for="item in system"
|
||||||
|
v-show="item.label !== '全部'"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item required label="版本号" prop="versionCode">
|
||||||
|
<el-input style="width: 240px" v-model.trim="dialog.add.versionCode" placeholder="请输入..."
|
||||||
|
clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item required label="版本名称" prop="versionName">
|
||||||
|
<el-input style="width: 240px" v-model.trim="dialog.add.versionName" placeholder="请输入..."
|
||||||
|
clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item required label="更新日志" prop="updateLog">
|
||||||
|
<el-input style="width: 240px" type="textarea" :rows="3" v-model="dialog.add.updateLog" placeholder="请输入..."
|
||||||
|
clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :required="dialog.add.type === '0'" v-if="dialog.add.type === '0'" label="是否强制更新"
|
||||||
|
prop="isForceUpdate">
|
||||||
|
<el-switch
|
||||||
|
v-model="dialog.add.isForceUpdate" active-value="1" inactive-value="0">
|
||||||
|
</el-switch>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :required="dialog.add.type === '1'" v-if="dialog.add.type === '1'" label="appstore 地址"
|
||||||
|
prop="downloadUrl">
|
||||||
|
<el-input style="width: 240px" v-model.trim="dialog.add.downloadUrl" placeholder="请输入..." clearable>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :required="dialog.add.type === '0'" v-if="dialog.add.type === '0'" label="上传APK"
|
||||||
|
prop="downloadUrl">
|
||||||
|
<el-upload
|
||||||
|
class="upload-demo"
|
||||||
|
width="240px"
|
||||||
|
action
|
||||||
|
:multiple="false"
|
||||||
|
accept=".apk"
|
||||||
|
:limit="1"
|
||||||
|
:file-list="fileList"
|
||||||
|
:on-success="onSuccess"
|
||||||
|
:on-error="onError"
|
||||||
|
:on-remove="handleRemove"
|
||||||
|
:on-change="handleChange"
|
||||||
|
:http-request="uploadFile">
|
||||||
|
<el-button size="small" icon="el-icon-upload" type="primary">点击上传</el-button>
|
||||||
|
<div class="el-upload__tip" slot="tip">只能上传APK文件</div>
|
||||||
|
</el-upload>
|
||||||
|
<!--<el-upload
|
||||||
|
class="upload-demo"
|
||||||
|
width="240px"
|
||||||
|
:multiple="false"
|
||||||
|
accept="file"
|
||||||
|
:limit="1"
|
||||||
|
:file-list="fileList"
|
||||||
|
:headers="headers"
|
||||||
|
:on-success="onSuccess"
|
||||||
|
:on-error="onError"
|
||||||
|
:before-upload="onBeforeUpload"
|
||||||
|
action="/lan/admin/file/add-apk">
|
||||||
|
<el-button size="small" icon="el-icon-upload" type="primary">点击上传</el-button>
|
||||||
|
<div class="el-upload__tip" slot="tip">只能上传APK文件</div>
|
||||||
|
</el-upload>-->
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" style="text-align: center">
|
||||||
|
<el-button style="width:92px" size="small" @click="dialog.add.visible=false">取消</el-button>
|
||||||
|
<el-button style="width:92px" size="small" type="primary" @click="addVersion">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog
|
||||||
|
title="下载二维码"
|
||||||
|
:visible.sync="isShowQRcode"
|
||||||
|
width="30%"
|
||||||
|
center
|
||||||
|
:before-close="handleClose">
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<img :src="qrcode">
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "AppNativeAppVersion",
|
||||||
|
label: "App版本管理",
|
||||||
|
props: {
|
||||||
|
instance: Function,
|
||||||
|
dict: Object,
|
||||||
|
permissions: Function
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: [],
|
||||||
|
loading: true,
|
||||||
|
headers: {},
|
||||||
|
isShowQRcode: false,
|
||||||
|
qrcode: '',
|
||||||
|
search: {
|
||||||
|
versionCode: '',
|
||||||
|
type: ''
|
||||||
|
},
|
||||||
|
system: [
|
||||||
|
{
|
||||||
|
value: '0',
|
||||||
|
label: '苹果'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '1',
|
||||||
|
label: '安卓'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
recordCols: [
|
||||||
|
{label: '版本号', prop: 'versionCode', align: 'center', width: 100},
|
||||||
|
{label: '版本名称', prop: 'versionName', align: 'center', width: 100},
|
||||||
|
{label: '更新日志', prop: 'updateLog', align: 'center'}
|
||||||
|
],
|
||||||
|
page: {
|
||||||
|
current: 1,
|
||||||
|
size: 10
|
||||||
|
},
|
||||||
|
total: 0,
|
||||||
|
rules: {
|
||||||
|
add: {
|
||||||
|
versionCode: [{required: true, message: '请填写版本号'}],
|
||||||
|
versionName: [{required: true, message: '请填写版本名称'}],
|
||||||
|
updateLog: [{required: true, message: '请填写更新日志'}],
|
||||||
|
isForceUpdate: [{required: true, message: '请选择是否强制更新'}],
|
||||||
|
downloadUrl: [{required: true, message: '请上传apk文件'}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
unitObj: {},
|
||||||
|
dialog: {
|
||||||
|
add: {
|
||||||
|
versionCode: '',
|
||||||
|
versionName: '',
|
||||||
|
updateLog: '',
|
||||||
|
isForceUpdate: '0',
|
||||||
|
downloadUrl: '',
|
||||||
|
qrCodeUrl: '',
|
||||||
|
visible: false,
|
||||||
|
type: '0'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fileList: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted() {
|
||||||
|
this.headers = {
|
||||||
|
Authorization: JSON.parse(localStorage.getItem('vuex')).user.token
|
||||||
|
}
|
||||||
|
this.getVersionList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 上传APK
|
||||||
|
uploadFile: function (file) {
|
||||||
|
let formData = new FormData();
|
||||||
|
formData.append("file", file.file);
|
||||||
|
this.instance.post(`/admin/file/add-apk`, formData).then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.dialog.add.downloadUrl = res.data.split(';').shift()
|
||||||
|
// let apkUrl = res.data.split(';');
|
||||||
|
// this.fileList = [];
|
||||||
|
// this.fileList.push({id: apkUrl[1], url: apkUrl[0]});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
handleRemove(file, fileList) {
|
||||||
|
this.fileList = fileList;
|
||||||
|
},
|
||||||
|
handleChange(file, fileList) {
|
||||||
|
this.fileList = fileList;
|
||||||
|
},
|
||||||
|
// 查询
|
||||||
|
searchList() {
|
||||||
|
this.page.current = 1
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.getVersionList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 重置查询条件
|
||||||
|
resetConditon() {
|
||||||
|
this.search.versionCode = ''
|
||||||
|
this.search.type = ''
|
||||||
|
this.page.current = 1
|
||||||
|
this.getVersionList()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取历史版本列表
|
||||||
|
getVersionList() {
|
||||||
|
this.loading = true
|
||||||
|
this.instance.post('/admin/sysversion/list', null, {
|
||||||
|
params: {
|
||||||
|
...this.page,
|
||||||
|
...this.search
|
||||||
|
}
|
||||||
|
}).then(({data}) => {
|
||||||
|
this.list = data.records
|
||||||
|
this.total = data.total
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 关闭图片预览回调
|
||||||
|
handleClose() {
|
||||||
|
this.isShowQRcode = false
|
||||||
|
this.qrcode = ''
|
||||||
|
},
|
||||||
|
|
||||||
|
// 图片预览
|
||||||
|
showQRcode(src) {
|
||||||
|
this.qrcode = src
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.isShowQRcode = true
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 分页change
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.page.current = val;
|
||||||
|
this.getVersionList();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 分页页数change
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.page.size = val;
|
||||||
|
this.getVersionList();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 下载apk
|
||||||
|
download(row) {
|
||||||
|
var a = document.createElement('a')
|
||||||
|
a.setAttribute('download', '')
|
||||||
|
a.href = row.downloadUrl.split(';')[0]
|
||||||
|
a.click()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除版本
|
||||||
|
remove(id) {
|
||||||
|
this.$confirm('确认删除该版本吗?').then(() => {
|
||||||
|
this.instance.post('/admin/sysversion/delete', null, {
|
||||||
|
params: {
|
||||||
|
ids: id
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.getVersionList()
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// apk文件校验
|
||||||
|
onBeforeUpload(file) {
|
||||||
|
const type = file.name && file.name.split('.')[1]
|
||||||
|
|
||||||
|
if (type === 'apk') {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$message('请上传apk文件')
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
|
||||||
|
// 文件上传成功回调
|
||||||
|
onSuccess(res) {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.dialog.add.downloadUrl = res.data
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 文件上传失败回调
|
||||||
|
onError() {
|
||||||
|
this.$message.error('上传失败')
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增版本表单充值
|
||||||
|
closeAdd() {
|
||||||
|
this.dialog.add.versionCode = ''
|
||||||
|
this.dialog.add.versionName = ''
|
||||||
|
this.dialog.add.updateLog = ''
|
||||||
|
this.dialog.add.isForceUpdate = '0'
|
||||||
|
this.dialog.add.downloadUrl = ''
|
||||||
|
this.dialog.add.qrCodeUrl = ''
|
||||||
|
this.dialog.add.visible = false
|
||||||
|
this.dialog.add.type = '0'
|
||||||
|
this.fileList = []
|
||||||
|
},
|
||||||
|
|
||||||
|
// 添加版本
|
||||||
|
toAdd() {
|
||||||
|
this.dialog.add.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addVersionForm.resetFields()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 添加版本
|
||||||
|
addVersion() {
|
||||||
|
this.page.pageNum = 1;
|
||||||
|
this.$refs.addVersionForm.validate(v => {
|
||||||
|
if (v) {
|
||||||
|
this.instance.post('/admin/sysversion/addOrUpdate', this.dialog.add).then(() => {
|
||||||
|
this.dialog.add.visible = false
|
||||||
|
this.getVersionList()
|
||||||
|
this.$message.success('添加成功!')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 重置表单校验
|
||||||
|
onSystemChange() {
|
||||||
|
this.$refs.addVersionForm.clearValidate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.AppNativeAppVersion {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -67,7 +67,7 @@ export default {
|
|||||||
description: {required: true, message: '请输入摘要', trigger: 'blur'},
|
description: {required: true, message: '请输入摘要', trigger: 'blur'},
|
||||||
category: {required: true, message: '请选择分类', trigger: 'change'},
|
category: {required: true, message: '请选择分类', trigger: 'change'},
|
||||||
content: {required: true, message: '请填写内容', trigger: 'blur'},
|
content: {required: true, message: '请填写内容', trigger: 'blur'},
|
||||||
thumbUrl: {required: true, message: '请上传封面', trigger: 'blur'},
|
// thumbUrl: {required: true, message: '请上传封面', trigger: 'blur'},
|
||||||
},
|
},
|
||||||
cropOps: {
|
cropOps: {
|
||||||
fixedNumber: [1.8, 1],
|
fixedNumber: [1.8, 1],
|
||||||
@@ -98,7 +98,7 @@ export default {
|
|||||||
* */
|
* */
|
||||||
addOrUpdate(status) {
|
addOrUpdate(status) {
|
||||||
if (Array.isArray(this.articInfo.thumbUrl)) {
|
if (Array.isArray(this.articInfo.thumbUrl)) {
|
||||||
this.articInfo.thumbUrl = this.articInfo.thumbUrl[0].url
|
this.articInfo.thumbUrl = this.articInfo.thumbUrl?.[0]?.url
|
||||||
}
|
}
|
||||||
const msg = +status ? '发布成功' : this.isEdit ? '编辑成功' : '保存成功';
|
const msg = +status ? '发布成功' : this.isEdit ? '编辑成功' : '保存成功';
|
||||||
this.instance.post(`/app/appnews/addOrUpdate`, {
|
this.instance.post(`/app/appnews/addOrUpdate`, {
|
||||||
@@ -130,7 +130,12 @@ export default {
|
|||||||
this.articInfo.title = res.data.title;
|
this.articInfo.title = res.data.title;
|
||||||
this.articInfo.content = res.data.content;
|
this.articInfo.content = res.data.content;
|
||||||
this.articInfo.category = res.data.category
|
this.articInfo.category = res.data.category
|
||||||
this.articInfo.thumbUrl = [{url: res.data.thumbUrl}]
|
if (res.data.thumbUrl) {
|
||||||
|
this.articInfo.thumbUrl = [{url: res.data.thumbUrl}]
|
||||||
|
} else {
|
||||||
|
this.articInfo.thumbUrl = []
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,7 +169,11 @@ export default {
|
|||||||
this.newsInfo.description = res.data.description;
|
this.newsInfo.description = res.data.description;
|
||||||
this.newsInfo.category = res.data.category
|
this.newsInfo.category = res.data.category
|
||||||
this.newsInfo.videoUrl = res.data.videoUrl;
|
this.newsInfo.videoUrl = res.data.videoUrl;
|
||||||
this.newsInfo.thumbUrl = [{url: res.data.thumbUrl}];
|
if (res.data.thumbUrl) {
|
||||||
|
this.newsInfo.thumbUrl = [{url: res.data.thumbUrl}]
|
||||||
|
} else {
|
||||||
|
this.newsInfo.thumbUrl = []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<span>封面:</span>
|
<span>封面:</span>
|
||||||
<img v-if="detail.coverFile" :src="detail.coverFile.url" alt="" v-viewer>
|
<img v-if="detail.thumbUrl" :src="detail.thumbUrl" alt="" v-viewer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -72,17 +72,19 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
isAuthing() {
|
isAuthing() {
|
||||||
return this.detail.status == "0"
|
return this.detail.status == "0"
|
||||||
|
},
|
||||||
|
rules(){
|
||||||
|
return {
|
||||||
|
auditStatus: [{required: true, message: "请选择审批结果"}],
|
||||||
|
auditDescription: [{validator: (r, v, cb) => this.form.auditStatus == 2 && !v ? cb("请输入审批意见") : cb()}],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialog: false,
|
dialog: false,
|
||||||
detail: {},
|
detail: {},
|
||||||
form: {},
|
form: {}
|
||||||
rules: {
|
|
||||||
auditStatus: [{required: true, message: "请选择审批结果"}],
|
|
||||||
auditDescription: [{validator: (r, v, cb) => this.form.auditStatus == 2 && !v ? cb("请输入审批意见") : cb()}],
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -93,9 +93,8 @@ export default {
|
|||||||
submitAddAcount() {
|
submitAddAcount() {
|
||||||
this.$refs.addAccountForm.validate(v => {
|
this.$refs.addAccountForm.validate(v => {
|
||||||
if (v) {
|
if (v) {
|
||||||
let {form: {logoUrl}} = this
|
let {form: {logoUrl: logo}} = this, logoUrl = logo?.[0]?.url
|
||||||
this.form.logoUrl = logoUrl?.[0]?.url
|
this.instance.post("/appfinancialorganization/addOrUpdate", {...this.form, logoUrl}).then(res => {
|
||||||
this.instance.post("/appfinancialorganization/addOrUpdate", this.form).then(res => {
|
|
||||||
if (res?.code == 0) {
|
if (res?.code == 0) {
|
||||||
this.$message.success("提交成功!")
|
this.$message.success("提交成功!")
|
||||||
this.dialog = false
|
this.dialog = false
|
||||||
|
|||||||
@@ -11,16 +11,16 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-row type="flex" class="flexWrap">
|
<el-row type="flex" class="flexWrap">
|
||||||
<el-form-item label="贷款额度(万)" prop="loanMin">
|
<el-form-item label="贷款额度(万)" prop="loanMin">
|
||||||
<el-input v-model="form.loanMin" placeholder="最低额度" clearable/>
|
<el-input type="number" v-model="form.loanMin" placeholder="最低额度" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" prop="loanMax">
|
<el-form-item label="" prop="loanMax">
|
||||||
<el-input v-model="form.loanMax" placeholder="最高额度" clearable/>
|
<el-input type="number" v-model="form.loanMax" placeholder="最高额度" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="参考利率(%)" prop="interestRateMin">
|
<el-form-item label="参考利率(%)" prop="interestRateMin">
|
||||||
<el-input v-model="form.interestRateMin" placeholder="最低利率" clearable/>
|
<el-input type="number" v-model="form.interestRateMin" placeholder="最低利率" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" prop="interestRateMax">
|
<el-form-item label="" prop="interestRateMax">
|
||||||
<el-input v-model="form.interestRateMax" placeholder="最高利率" clearable/>
|
<el-input type="number" v-model="form.interestRateMax" placeholder="最高利率" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="half" label="还款期限" prop="repaymentTimeline">
|
<el-form-item class="half" label="还款期限" prop="repaymentTimeline">
|
||||||
<ai-select v-model="form.repaymentTimeline" placeholder="请选择"
|
<ai-select v-model="form.repaymentTimeline" placeholder="请选择"
|
||||||
@@ -179,5 +179,13 @@ export default {
|
|||||||
::v-deep.half {
|
::v-deep.half {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep input[type="number"] {
|
||||||
|
line-height: 1px !important;
|
||||||
|
|
||||||
|
&::-webkit-outer-spin-button, &::-webkit-inner-spin-button {
|
||||||
|
-webkit-appearance: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
|
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
|
||||||
@getList="getTableData" :col-configs="colConfigs" :dict="dict">
|
@getList="getTableData" :col-configs="colConfigs" :dict="dict">
|
||||||
<el-table-column slot="hot" label="热门推荐" align="center">
|
<el-table-column slot="hot" label="热门推荐" align="center" v-if="!isFinanceUser">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-switch v-model="row.isHot" active-value="1" inactive-value="0" @change="handleIsHot(row)"/>
|
<el-switch v-model="row.isHot" active-value="1" inactive-value="0" @change="handleIsHot(row)"/>
|
||||||
</template>
|
</template>
|
||||||
@@ -40,7 +40,8 @@
|
|||||||
<el-button type="text" @click="showDetail(row.id)">详情</el-button>
|
<el-button type="text" @click="showDetail(row.id)">详情</el-button>
|
||||||
<template v-if="isFinanceUser">
|
<template v-if="isFinanceUser">
|
||||||
<el-button type="text" @click="handleEdit(row.id)" v-if="row.status==2">编辑</el-button>
|
<el-button type="text" @click="handleEdit(row.id)" v-if="row.status==2">编辑</el-button>
|
||||||
<el-button type="text" @click="handleDelete(row.id)" v-if="['2','1'].includes(row.status)">删除</el-button>
|
<el-button type="text" @click="handleDelete(row.id)" v-if="['2','1'].includes(row.status)">删除
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|||||||
@@ -21,7 +21,15 @@
|
|||||||
dict.getLabel('financialFundPurpose', detail.fundPurpose)
|
dict.getLabel('financialFundPurpose', detail.fundPurpose)
|
||||||
}}
|
}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="企业主体">{{ detail.enterpriseName }}</el-form-item>
|
<el-form-item label="企业主体">
|
||||||
|
<el-row type="flex">
|
||||||
|
{{ detail.enterpriseName }}
|
||||||
|
<el-link type="primary"
|
||||||
|
@click="$router.push({name:'973f0339e5904d99bc8afe86b8cf4e9c',query:{id:detail.enterpriseId}})">
|
||||||
|
企业详情
|
||||||
|
</el-link>
|
||||||
|
</el-row>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="联系人">{{ detail.name }}</el-form-item>
|
<el-form-item label="联系人">{{ detail.name }}</el-form-item>
|
||||||
<el-form-item label="所在地区">{{ detail.areaName }}</el-form-item>
|
<el-form-item label="所在地区">{{ detail.areaName }}</el-form-item>
|
||||||
<el-form-item label="联系方式">{{ detail.phone }}</el-form-item>
|
<el-form-item label="联系方式">{{ detail.phone }}</el-form-item>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<template #content>
|
<template #content>
|
||||||
<ai-search-bar>
|
<ai-search-bar>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input size="small" placeholder="搜索企业主体" v-model="search.enterpriseName" clearable
|
<el-input size="small" placeholder="搜索企业名称" v-model="search.enterpriseName" clearable
|
||||||
@change="page.current=1,getTableData()"/>
|
@change="page.current=1,getTableData()"/>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
|
|||||||
@@ -19,7 +19,13 @@
|
|||||||
<el-form-item label="资金用途">
|
<el-form-item label="资金用途">
|
||||||
{{ dict.getLabel('financialFundPurpose', detail.fundPurpose) }}
|
{{ dict.getLabel('financialFundPurpose', detail.fundPurpose) }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="企业主体">{{ detail.enterpriseName }}</el-form-item>
|
<el-form-item label="企业主体">
|
||||||
|
{{ detail.enterpriseName }}
|
||||||
|
<el-link type="primary"
|
||||||
|
@click="$router.push({name:'973f0339e5904d99bc8afe86b8cf4e9c',query:{id:detail.enterpriseId}})">
|
||||||
|
企业详情
|
||||||
|
</el-link>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="联系人">{{ detail.createUserName }}</el-form-item>
|
<el-form-item label="联系人">{{ detail.createUserName }}</el-form-item>
|
||||||
<el-form-item label="所在地区">{{ detail.areaName }}</el-form-item>
|
<el-form-item label="所在地区">{{ detail.areaName }}</el-form-item>
|
||||||
<el-form-item label="联系方式">{{ detail.phone }}</el-form-item>
|
<el-form-item label="联系方式">{{ detail.phone }}</el-form-item>
|
||||||
|
|||||||
Reference in New Issue
Block a user