Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev
This commit is contained in:
commit
b90e3377a2
|
@ -762,11 +762,15 @@ export default {
|
|||
this.notFilled.push('部门联系人电话')
|
||||
}
|
||||
if (this.radio === '智能算法' && !this.submitFrom.apiUrl) {
|
||||
if ((this.submitFrom.infoList.filter(val => val.attrType === '使用方式')[0].attrValue === '调用接口')) {
|
||||
this.notFilled.push('服务接口')
|
||||
}
|
||||
}
|
||||
if (this.radio === '智能算法' && !this.submitFrom.apiMethodType) {
|
||||
if ((this.submitFrom.infoList.filter(val => val.attrType === '使用方式')[0].attrValue === '调用接口')) {
|
||||
this.notFilled.push('接口请求方式')
|
||||
}
|
||||
}
|
||||
if (this.radio === '智能算法' && (!this.submitFrom.infoList.filter(val => val.attrType === '算法类别')[0] || !this.submitFrom.infoList.filter(val => val.attrType === '算法类别')[0].attrValue)) {
|
||||
this.notFilled.push('算法类别')
|
||||
}
|
||||
|
|
|
@ -271,8 +271,7 @@
|
|||
v-if="
|
||||
item.attrType != '应用领域' &&
|
||||
item.attrType != '应用类型' &&
|
||||
item.attrType != '发布端' &&
|
||||
item.attrType != '应用状态'
|
||||
item.attrType != '发布端'
|
||||
"
|
||||
></el-input>
|
||||
<el-select
|
||||
|
@ -368,30 +367,30 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import dictionaries from "@/utils/dictionaries";
|
||||
import { mapState } from "vuex";
|
||||
import { getIconList } from "@/utils";
|
||||
import Cookies from "js-cookie";
|
||||
import upload from "./upload.vue";
|
||||
import bus from "@/views/bus.js";
|
||||
import qs from "qs";
|
||||
import Vue from "vue";
|
||||
import debounce from 'lodash/debounce'
|
||||
import dictionaries from '@/utils/dictionaries'
|
||||
import { mapState } from 'vuex'
|
||||
import { getIconList } from '@/utils'
|
||||
import Cookies from 'js-cookie'
|
||||
import upload from './upload.vue'
|
||||
import bus from '@/views/bus.js'
|
||||
import qs from 'qs'
|
||||
import Vue from 'vue'
|
||||
export default {
|
||||
components: {
|
||||
upload,
|
||||
upload
|
||||
},
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
checkList: [],
|
||||
dialogVisibleImg: false,
|
||||
previewImg: "", // 预览图片
|
||||
previewImg: '', // 预览图片
|
||||
dialogVisible: false,
|
||||
fileUploadUrl: window.SITE_CONFIG.apiURL + "/upload",
|
||||
fileUploadUrl: window.SITE_CONFIG.apiURL + '/upload',
|
||||
uploadUrl:
|
||||
window.SITE_CONFIG.apiURL +
|
||||
"/sys/oss/upload?token=" +
|
||||
Cookies.get("ucsToken"),
|
||||
'/sys/oss/upload?token=' +
|
||||
Cookies.get('ucsToken'),
|
||||
companyArr: dictionaries.companyArr,
|
||||
visible: false,
|
||||
sceneArr: dictionaries.sceneArr,
|
||||
|
@ -403,602 +402,602 @@ export default {
|
|||
menuListVisible: false,
|
||||
UpdateState: false,
|
||||
dataForm: {
|
||||
id: "",
|
||||
deptId: "",
|
||||
deptContacts: "",
|
||||
deptPhone: "",
|
||||
dataVolume: "",
|
||||
shareCondition: "",
|
||||
shareType: "",
|
||||
shareMode: "",
|
||||
id: '',
|
||||
deptId: '',
|
||||
deptContacts: '',
|
||||
deptPhone: '',
|
||||
dataVolume: '',
|
||||
shareCondition: '',
|
||||
shareType: '',
|
||||
shareMode: '',
|
||||
delFlag: 0,
|
||||
description: "",
|
||||
description: '',
|
||||
downloads: 0,
|
||||
image: "",
|
||||
image: '',
|
||||
showList: [],
|
||||
infoList: [],
|
||||
link: "",
|
||||
name: "",
|
||||
note1: "",
|
||||
note2: "",
|
||||
note3: "",
|
||||
note4: "",
|
||||
note5: "",
|
||||
score: "",
|
||||
type: "应用资源",
|
||||
apiMethodType: "",
|
||||
apiUrl: "",
|
||||
visits: 0,
|
||||
link: '',
|
||||
name: '',
|
||||
note1: '',
|
||||
note2: '',
|
||||
note3: '',
|
||||
note4: '',
|
||||
note5: '',
|
||||
score: '',
|
||||
type: '应用资源',
|
||||
apiMethodType: '',
|
||||
apiUrl: '',
|
||||
visits: 0
|
||||
},
|
||||
deptId: "",
|
||||
fangwendizhi: "",
|
||||
mingzi: "",
|
||||
deptId: '',
|
||||
fangwendizhi: '',
|
||||
mingzi: '',
|
||||
dataFormUpdate: {},
|
||||
dataFormShowDetails: {},
|
||||
infoList2: [],
|
||||
infoList3: [],
|
||||
typeOptions: [
|
||||
{ value: "有条件共享", label: "有条件共享" },
|
||||
{ value: "无条件共享", label: "无条件共享" },
|
||||
{ value: '有条件共享', label: '有条件共享' },
|
||||
{ value: '无条件共享', label: '无条件共享' }
|
||||
],
|
||||
conditionOptions: [
|
||||
{ value: "申请", label: "申请" },
|
||||
{ value: "免批申请", label: "免批申请" },
|
||||
{ value: '申请', label: '申请' },
|
||||
{ value: '免批申请', label: '免批申请' }
|
||||
],
|
||||
|
||||
rules: {
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入应用名称",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请输入应用名称',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
description: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入应用描述",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请输入应用描述',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
deptContacts: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入部门联系人",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请输入部门联系人',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
deptPhone: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入部门联系人电话",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请输入部门联系人电话',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
shareCondition: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择共享条件",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请选择共享条件',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
shareType: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择请输入共享类型",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请选择请输入共享类型',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
shareMode: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入共享方式",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
message: '请输入共享方式',
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(["catalogueTree"]),
|
||||
...mapState(["departmentSelects"]),
|
||||
dataRule() {
|
||||
...mapState(['catalogueTree']),
|
||||
...mapState(['departmentSelects']),
|
||||
dataRule () {
|
||||
return {
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
version: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
visitUrl: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
type: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
shareType: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
shareForm: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
field: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
scene: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
deptId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
content: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
rank: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
useInfo: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
remarks: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
isUp: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
message: this.$t('validate.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 上传图片
|
||||
handleAvatarSuccess(res, file) {
|
||||
handleAvatarSuccess (res, file) {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error("上传图片失败");
|
||||
return this.$message.error('上传图片失败')
|
||||
}
|
||||
debugger;
|
||||
debugger
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
if (item.attrType == "应用图片") {
|
||||
if (item.attrType == '应用图片') {
|
||||
if (!this.dataForm.infoList[index].attrValue) {
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
} else {
|
||||
this.dataForm.infoList[index].attrValue += ";" + res.data;
|
||||
this.dataForm.infoList[index].attrValue += ';' + res.data
|
||||
}
|
||||
console.log("上传图片", this.dataForm.infoList[index]);
|
||||
console.log('上传图片', this.dataForm.infoList[index])
|
||||
}
|
||||
});
|
||||
})
|
||||
// this.imageUrl = URL.createObjectURL(file.raw);
|
||||
},
|
||||
handleAvatarSuccessone(res, file) {
|
||||
handleAvatarSuccessone (res, file) {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error("上传图片失败");
|
||||
return this.$message.error('上传图片失败')
|
||||
}
|
||||
debugger;
|
||||
debugger
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
if (item.attrType == "子系统一图片") {
|
||||
if (item.attrType == '子系统一图片') {
|
||||
if (!this.dataForm.infoList[index].attrValue) {
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
} else {
|
||||
this.dataForm.infoList[index].attrValue = "";
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = ''
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
}
|
||||
console.log("上传图片", this.dataForm.infoList[index]);
|
||||
console.log('上传图片', this.dataForm.infoList[index])
|
||||
}
|
||||
});
|
||||
})
|
||||
// this.imageUrl = URL.createObjectURL(file.raw);
|
||||
},
|
||||
handleAvatarSuccesstwo(res, file) {
|
||||
handleAvatarSuccesstwo (res, file) {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error("上传图片失败");
|
||||
return this.$message.error('上传图片失败')
|
||||
}
|
||||
debugger;
|
||||
debugger
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
if (item.attrType == "子系统二图片") {
|
||||
if (item.attrType == '子系统二图片') {
|
||||
if (!this.dataForm.infoList[index].attrValue) {
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
} else {
|
||||
this.dataForm.infoList[index].attrValue = "";
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = ''
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
}
|
||||
console.log("上传图片", this.dataForm.infoList[index]);
|
||||
console.log('上传图片', this.dataForm.infoList[index])
|
||||
}
|
||||
});
|
||||
})
|
||||
// this.imageUrl = URL.createObjectURL(file.raw);
|
||||
},
|
||||
handleAvatarSuccessthree(res, file) {
|
||||
handleAvatarSuccessthree (res, file) {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error("上传图片失败");
|
||||
return this.$message.error('上传图片失败')
|
||||
}
|
||||
debugger;
|
||||
debugger
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
if (item.attrType == "子系统三图片") {
|
||||
if (item.attrType == '子系统三图片') {
|
||||
if (!this.dataForm.infoList[index].attrValue) {
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
} else {
|
||||
this.dataForm.infoList[index].attrValue = "";
|
||||
this.dataForm.infoList[index].attrValue = res.data;
|
||||
this.dataForm.infoList[index].attrValue = ''
|
||||
this.dataForm.infoList[index].attrValue = res.data
|
||||
}
|
||||
console.log("上传图片", this.dataForm.infoList[index]);
|
||||
console.log('上传图片', this.dataForm.infoList[index])
|
||||
}
|
||||
});
|
||||
})
|
||||
// this.imageUrl = URL.createObjectURL(file.raw);
|
||||
},
|
||||
beforeAvatarUpload(file) {
|
||||
beforeAvatarUpload (file) {
|
||||
const isImage =
|
||||
file.type === "image/jpeg" ||
|
||||
file.type === "image/jpg" ||
|
||||
file.type === "image/png";
|
||||
const isLt2M = file.size / 1024 / 1024 < 9999;
|
||||
file.type === 'image/jpeg' ||
|
||||
file.type === 'image/jpg' ||
|
||||
file.type === 'image/png'
|
||||
const isLt2M = file.size / 1024 / 1024 < 9999
|
||||
|
||||
if (!isImage) {
|
||||
this.$message.error("上传头像图片只能是 JPG 格式!");
|
||||
this.$message.error('上传头像图片只能是 JPG 格式!')
|
||||
}
|
||||
if (!isLt2M) {
|
||||
this.$message.error("上传头像图片大小不能超过 2MB!");
|
||||
this.$message.error('上传头像图片大小不能超过 2MB!')
|
||||
}
|
||||
return isImage && isLt2M;
|
||||
return isImage && isLt2M
|
||||
},
|
||||
addUploadRemoveFile(file, fileList) {
|
||||
this.$refs.addUpload.clearFiles();
|
||||
this.addDataFrom.imageUrl = "";
|
||||
addUploadRemoveFile (file, fileList) {
|
||||
this.$refs.addUpload.clearFiles()
|
||||
this.addDataFrom.imageUrl = ''
|
||||
},
|
||||
showView(file) {
|
||||
this.previewImg = file.url;
|
||||
this.dialogVisibleImg = true;
|
||||
showView (file) {
|
||||
this.previewImg = file.url
|
||||
this.dialogVisibleImg = true
|
||||
},
|
||||
// 获取当前管理员信息
|
||||
getUserInfo() {
|
||||
this.$http.get("/sys/user/info").then(({ data: res }) => {
|
||||
this.dataForm.deptId = res.data.deptId;
|
||||
this.deptId = res.data.deptId;
|
||||
console.log("depid", this.dataForm);
|
||||
});
|
||||
getUserInfo () {
|
||||
this.$http.get('/sys/user/info').then(({ data: res }) => {
|
||||
this.dataForm.deptId = res.data.deptId
|
||||
this.deptId = res.data.deptId
|
||||
console.log('depid', this.dataForm)
|
||||
})
|
||||
},
|
||||
guanbi() {
|
||||
guanbi () {
|
||||
this.dataForm = {
|
||||
id: "",
|
||||
deptId: "",
|
||||
deptContacts: "",
|
||||
deptPhone: "",
|
||||
dataVolume: "",
|
||||
shareCondition: "",
|
||||
shareType: "",
|
||||
shareMode: "",
|
||||
id: '',
|
||||
deptId: '',
|
||||
deptContacts: '',
|
||||
deptPhone: '',
|
||||
dataVolume: '',
|
||||
shareCondition: '',
|
||||
shareType: '',
|
||||
shareMode: '',
|
||||
delFlag: 0,
|
||||
description: "",
|
||||
description: '',
|
||||
downloads: 0,
|
||||
image: "",
|
||||
image: '',
|
||||
showList: [],
|
||||
infoList: [],
|
||||
link: "",
|
||||
name: "",
|
||||
note1: "",
|
||||
note2: "",
|
||||
note3: "",
|
||||
note4: "",
|
||||
note5: "",
|
||||
score: "",
|
||||
type: "应用资源",
|
||||
apiMethodType: "",
|
||||
apiUrl: "",
|
||||
visits: 0,
|
||||
};
|
||||
link: '',
|
||||
name: '',
|
||||
note1: '',
|
||||
note2: '',
|
||||
note3: '',
|
||||
note4: '',
|
||||
note5: '',
|
||||
score: '',
|
||||
type: '应用资源',
|
||||
apiMethodType: '',
|
||||
apiUrl: '',
|
||||
visits: 0
|
||||
}
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
handleRemove (file, fileList) {
|
||||
console.log(file, fileList)
|
||||
},
|
||||
handlePictureCardPreview(file) {
|
||||
this.dialogImageUrl = file.url;
|
||||
this.dialogVisible = true;
|
||||
handlePictureCardPreview (file) {
|
||||
this.dialogImageUrl = file.url
|
||||
this.dialogVisible = true
|
||||
},
|
||||
// 上传图片之前
|
||||
uploadBeforeUploadHandle(file) {
|
||||
uploadBeforeUploadHandle (file) {
|
||||
if (
|
||||
file.type !== "image/jpg" &&
|
||||
file.type !== "image/jpeg" &&
|
||||
file.type !== "image/png" &&
|
||||
file.type !== "image/gif"
|
||||
file.type !== 'image/jpg' &&
|
||||
file.type !== 'image/jpeg' &&
|
||||
file.type !== 'image/png' &&
|
||||
file.type !== 'image/gif'
|
||||
) {
|
||||
this.$message.error("只支持jpg、png、gif格式的图片!");
|
||||
return false;
|
||||
this.$message.error('只支持jpg、png、gif格式的图片!')
|
||||
return false
|
||||
}
|
||||
},
|
||||
imgUploadSuccess(res, file, fileList) {
|
||||
console.log("zzzzzzz", res, file, fileList);
|
||||
imgUploadSuccess (res, file, fileList) {
|
||||
console.log('zzzzzzz', res, file, fileList)
|
||||
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
},
|
||||
init() {
|
||||
this.getInfoList();
|
||||
this.visible = true;
|
||||
init () {
|
||||
this.getInfoList()
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.dataForm && this.$refs.dataForm.resetFields();
|
||||
this.iconList = getIconList();
|
||||
this.$refs.dataForm && this.$refs.dataForm.resetFields()
|
||||
this.iconList = getIconList()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo();
|
||||
this.getInfo()
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
// 获取属性信息
|
||||
getInfoList() {
|
||||
getInfoList () {
|
||||
const parms = {
|
||||
topCategoryName: "应用资源",
|
||||
};
|
||||
this.infoList2 = [];
|
||||
topCategoryName: '应用资源'
|
||||
}
|
||||
this.infoList2 = []
|
||||
this.$http
|
||||
.get("/category/getAllFiledByTopCategory" + "?" + qs.stringify(parms))
|
||||
.get('/category/getAllFiledByTopCategory' + '?' + qs.stringify(parms))
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
res.data.map((item, index) => {
|
||||
if (
|
||||
item.name.search("应用名称") == -1 &&
|
||||
item.name.search("地址") == -1 &&
|
||||
item.name.search('应用名称') == -1 &&
|
||||
item.name.search('地址') == -1 &&
|
||||
// item.name.search("描述") == -1 &&
|
||||
item.name !== "组件描述" &&
|
||||
item.name !== "组件名称" &&
|
||||
item.name !== "服务接口" &&
|
||||
item.name !== "共享类型" &&
|
||||
item.name !== "共享条件" &&
|
||||
item.name !== "共享方式" &&
|
||||
item.name !== "部门联系人电话" &&
|
||||
item.name !== "部门统一社会代码" &&
|
||||
item.name !== "部门联系人" &&
|
||||
item.name !== "服务商统一社会信用代码" &&
|
||||
item.name !== "服务接口请求方式" &&
|
||||
item.name !== "部门名称"
|
||||
item.name !== '组件描述' &&
|
||||
item.name !== '组件名称' &&
|
||||
item.name !== '服务接口' &&
|
||||
item.name !== '共享类型' &&
|
||||
item.name !== '共享条件' &&
|
||||
item.name !== '共享方式' &&
|
||||
item.name !== '部门联系人电话' &&
|
||||
item.name !== '部门统一社会代码' &&
|
||||
item.name !== '部门联系人' &&
|
||||
item.name !== '服务商统一社会信用代码' &&
|
||||
item.name !== '服务接口请求方式' &&
|
||||
item.name !== '部门名称'
|
||||
) {
|
||||
const duixiang = {
|
||||
attrType: item.name,
|
||||
attrValue: "",
|
||||
delFlag: 0,
|
||||
};
|
||||
this.infoList2.push(item);
|
||||
if (item.isLinkToDic != "false") {
|
||||
attrValue: '',
|
||||
delFlag: 0
|
||||
}
|
||||
this.infoList2.push(item)
|
||||
if (item.isLinkToDic != 'false') {
|
||||
const xinxi = {
|
||||
page: 1,
|
||||
limit: 99,
|
||||
dictTypeId: item.linkValue,
|
||||
dictLabel: "",
|
||||
dictValue: "",
|
||||
};
|
||||
dictLabel: '',
|
||||
dictValue: ''
|
||||
}
|
||||
this.$http
|
||||
.get("/sys/dict/data/page" + "?" + qs.stringify(xinxi))
|
||||
.get('/sys/dict/data/page' + '?' + qs.stringify(xinxi))
|
||||
.then(({ data: res2 }) => {
|
||||
// this.infoList2[index - 1].children = res2.data.list
|
||||
this.infoList2.map((item3, index3) => {
|
||||
if (item3.name == item.name) {
|
||||
Vue.set(
|
||||
this.infoList2[index3],
|
||||
"children",
|
||||
'children',
|
||||
res2.data.list
|
||||
);
|
||||
)
|
||||
}
|
||||
});
|
||||
})
|
||||
this.dataFormUpdate.infoList.map((item3, index3) => {
|
||||
if (item3.attrType == item.name) {
|
||||
Vue.set(
|
||||
this.dataFormUpdate.infoList[index3],
|
||||
"children",
|
||||
'children',
|
||||
res2.data.list
|
||||
);
|
||||
)
|
||||
}
|
||||
});
|
||||
console.log(
|
||||
"11111111111111111111111111110",
|
||||
this.dataFormUpdate
|
||||
);
|
||||
});
|
||||
}
|
||||
this.dataForm.infoList.push(duixiang);
|
||||
}
|
||||
});
|
||||
console.log("this.infoList", this.dataFormUpdate);
|
||||
})
|
||||
.catch(() => {});
|
||||
console.log(
|
||||
'11111111111111111111111111110',
|
||||
this.dataFormUpdate
|
||||
)
|
||||
})
|
||||
}
|
||||
this.dataForm.infoList.push(duixiang)
|
||||
}
|
||||
})
|
||||
console.log('this.infoList', this.dataFormUpdate)
|
||||
})
|
||||
.catch(() => {})
|
||||
this.$http
|
||||
.get("/sys/dict/data/page" + "?" + qs.stringify(parms))
|
||||
.get('/sys/dict/data/page' + '?' + qs.stringify(parms))
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
console.log("this.infoList", this.dataForm);
|
||||
console.log('this.infoList', this.dataForm)
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => {})
|
||||
},
|
||||
// 图标, 选中
|
||||
iconListCurrentChangeHandle(icon) {
|
||||
this.dataForm.imgurl = icon;
|
||||
this.iconListVisible = false;
|
||||
iconListCurrentChangeHandle (icon) {
|
||||
this.dataForm.imgurl = icon
|
||||
this.iconListVisible = false
|
||||
},
|
||||
// 上级菜单树, 选中
|
||||
menuListTreeCurrentChangeHandle(data) {
|
||||
this.dataForm.pid = data.id;
|
||||
this.dataForm.type = data.name;
|
||||
this.menuListVisible = false;
|
||||
menuListTreeCurrentChangeHandle (data) {
|
||||
this.dataForm.pid = data.id
|
||||
this.dataForm.type = data.name
|
||||
this.menuListVisible = false
|
||||
},
|
||||
// 上级菜单树, 设置默认值
|
||||
deptListTreeSetDefaultHandle() {
|
||||
this.dataForm.pid = "0";
|
||||
this.dataForm.type = "目录级别";
|
||||
deptListTreeSetDefaultHandle () {
|
||||
this.dataForm.pid = '0'
|
||||
this.dataForm.type = '目录级别'
|
||||
},
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
getInfo () {
|
||||
this.$http
|
||||
.get("/ability/bsabilityai/" + this.dataForm.id)
|
||||
.get('/ability/bsabilityai/' + this.dataForm.id)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
...res.data
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => {})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
this.getUserInfo();
|
||||
this.dataForm.deptId = this.deptId;
|
||||
this.getUserInfo()
|
||||
this.dataForm.deptId = this.deptId
|
||||
if (!valid) {
|
||||
this.$message.error("请检查表单是否填写完整");
|
||||
return false;
|
||||
this.$message.error('请检查表单是否填写完整')
|
||||
return false
|
||||
}
|
||||
console.log("表单数据=======================》", this.dataForm);
|
||||
console.log('表单数据=======================》', this.dataForm)
|
||||
if (!this.UpdateState) {
|
||||
this.dataForm.infoList = [];
|
||||
this.dataForm.infoList = []
|
||||
this.dataForm.showListAll.forEach((val) => {
|
||||
if (val.name !== "必填信息") {
|
||||
if (val.name === "服务接口信息") {
|
||||
if (val.name !== '必填信息') {
|
||||
if (val.name === '服务接口信息') {
|
||||
val.children.forEach((item) => {
|
||||
if (item.name === "服务接口") {
|
||||
this.dataForm.apiUrl = item.note1;
|
||||
if (item.name === '服务接口') {
|
||||
this.dataForm.apiUrl = item.note1
|
||||
}
|
||||
if (item.name === "接口请求方式") {
|
||||
this.dataForm.apiMethodType = item.note1;
|
||||
if (item.name === '接口请求方式') {
|
||||
this.dataForm.apiMethodType = item.note1
|
||||
}
|
||||
if (item.name === "访问地址") {
|
||||
this.dataForm.link = item.note1;
|
||||
if (item.name === '访问地址') {
|
||||
this.dataForm.link = item.note1
|
||||
}
|
||||
});
|
||||
})
|
||||
} else {
|
||||
val.children.forEach((item) => {
|
||||
this.dataForm.infoList.push({
|
||||
attrType: item.name,
|
||||
attrValue: item.note1,
|
||||
delFlag: 0,
|
||||
});
|
||||
});
|
||||
delFlag: 0
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
this.$http
|
||||
.post("/resource/insert?source= b", this.dataForm)
|
||||
.post('/resource/insert?source= b', this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
this.visible = false
|
||||
this.$emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
})
|
||||
.catch(() => {})
|
||||
} else {
|
||||
this.$http
|
||||
.put("/resource/update", this.dataFormUpdate)
|
||||
.put('/resource/update', this.dataFormUpdate)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
this.visible = false
|
||||
this.$emit('refreshDataList')
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
})
|
||||
},
|
||||
1000,
|
||||
{ leading: true, trailing: false }
|
||||
),
|
||||
showListChagne() {
|
||||
showListChagne () {
|
||||
this.dataForm.showList = this.dataForm.showListAll.filter(
|
||||
(item) => this.checkList.indexOf(item.name) > -1
|
||||
);
|
||||
)
|
||||
console.log(
|
||||
"属性变更===================>",
|
||||
'属性变更===================>',
|
||||
this.checkList,
|
||||
this.dataForm.showList,
|
||||
this.dataForm.showListAll
|
||||
);
|
||||
)
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getUserInfo()
|
||||
},
|
||||
mounted() {
|
||||
this.getUserInfo();
|
||||
},
|
||||
beforeDestroy() {
|
||||
console.log("销毁~~~~~~~~~~~~~~~~~~~~");
|
||||
},
|
||||
};
|
||||
beforeDestroy () {
|
||||
console.log('销毁~~~~~~~~~~~~~~~~~~~~')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
@ -233,7 +233,7 @@ export default {
|
|||
mixins: [mixinViewModule],
|
||||
data () {
|
||||
return {
|
||||
required: ['归属部门', '部门联系人', '部门联系人电话', '应用领域', '共享条件', '应用名称', '应用描述', '应用状态', '应用类型'],
|
||||
required: ['归属部门', '部门联系人', '部门联系人电话', '应用领域', '共享条件', '应用名称', '应用描述', '应用类型'],
|
||||
notFilled: [],
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/resource/page',
|
||||
|
@ -692,9 +692,9 @@ export default {
|
|||
if (!this.submitFrom.infoList.filter(val => val.attrType == '应用领域')[0] || !this.submitFrom.infoList.filter(val => val.attrType == '应用领域')[0].attrValue) {
|
||||
this.notFilled.push('应用领域')
|
||||
}
|
||||
if (!this.submitFrom.infoList.filter(val => val.attrType == '应用状态')[0] || !this.submitFrom.infoList.filter(val => val.attrType == '应用状态')[0].attrValue) {
|
||||
this.notFilled.push('应用状态')
|
||||
}
|
||||
// if (!this.submitFrom.infoList.filter(val => val.attrType == '应用状态')[0] || !this.submitFrom.infoList.filter(val => val.attrType == '应用状态')[0].attrValue) {
|
||||
// this.notFilled.push('应用状态')
|
||||
// }
|
||||
if (!this.submitFrom.infoList.filter(val => val.attrType == '应用类型')[0] || !this.submitFrom.infoList.filter(val => val.attrType == '应用类型')[0].attrValue) {
|
||||
this.notFilled.push('应用类型')
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-29 15:59:51
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 16:06:20
|
||||
* @LastEditTime: 2022-08-04 14:34:45
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!-- 流程业务表单 -->
|
||||
|
@ -55,7 +55,7 @@
|
|||
></span
|
||||
>
|
||||
</p>
|
||||
<p v-if="dataForm.content.enclosure">
|
||||
<p v-if="dataForm.content.enclosure" class="lastP">
|
||||
<span>
|
||||
申请附件:<span>
|
||||
{{ dataForm.content.enclosure || '--'
|
||||
|
@ -291,6 +291,7 @@ export default {
|
|||
if (val.cameraList) {
|
||||
flag = true
|
||||
obj.describe += val.system
|
||||
obj.describe += ';'
|
||||
} else {
|
||||
this.$http.get('/resource/' + val.resourceId).then((res1) => {
|
||||
// console.log(res1.data.data, '1111111111111111111111111111111111')
|
||||
|
@ -518,7 +519,7 @@ export default {
|
|||
width: 500px;
|
||||
}
|
||||
}
|
||||
p:last-of-type {
|
||||
.lastP {
|
||||
margin-top: 16px;
|
||||
width: 100%;
|
||||
span {
|
||||
|
|
|
@ -9,7 +9,14 @@
|
|||
<el-form-item>
|
||||
<el-input
|
||||
v-model="dataForm.username"
|
||||
:placeholder="$t('user.username')"
|
||||
placeholder="用户名"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input
|
||||
v-model="dataForm.real_name"
|
||||
placeholder="真实姓名"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
@ -44,7 +51,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getDataList()">{{
|
||||
$t("query")
|
||||
$t('query')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -52,7 +59,7 @@
|
|||
v-if="$hasPermission('sys:user:save')"
|
||||
type="primary"
|
||||
@click="addOrUpdateHandle()"
|
||||
>{{ $t("add") }}</el-button
|
||||
>{{ $t('add') }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -60,7 +67,7 @@
|
|||
v-if="$hasPermission('sys:user:delete')"
|
||||
type="danger"
|
||||
@click="deleteHandle()"
|
||||
>{{ $t("deleteBatch") }}</el-button
|
||||
>{{ $t('deleteBatch') }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -68,7 +75,7 @@
|
|||
v-if="$hasPermission('sys:user:export')"
|
||||
type="info"
|
||||
@click="exportHandle()"
|
||||
>{{ $t("export") }}</el-button
|
||||
>{{ $t('export') }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -96,6 +103,12 @@
|
|||
header-align="center"
|
||||
align="center"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="realName"
|
||||
label="真实姓名"
|
||||
header-align="center"
|
||||
align="center"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="deptName"
|
||||
:label="$t('user.deptName')"
|
||||
|
@ -123,7 +136,7 @@
|
|||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ $getDictLabel("gender", scope.row.gender) }}
|
||||
{{ $getDictLabel('gender', scope.row.gender) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
@ -135,10 +148,10 @@
|
|||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.status === 0" size="small" type="danger">{{
|
||||
$t("user.status0")
|
||||
$t('user.status0')
|
||||
}}</el-tag>
|
||||
<el-tag v-else size="small" type="success">{{
|
||||
$t("user.status1")
|
||||
$t('user.status1')
|
||||
}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -163,14 +176,14 @@
|
|||
type="text"
|
||||
size="small"
|
||||
@click="addOrUpdateHandle(scope.row.id)"
|
||||
>{{ $t("update") }}</el-button
|
||||
>{{ $t('update') }}</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="$hasPermission('sys:user:delete')"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="deleteHandle(scope.row.id)"
|
||||
>{{ $t("delete") }}</el-button
|
||||
>{{ $t('delete') }}</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -196,86 +209,87 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import mixinViewModule from "@/mixins/view-module";
|
||||
import AddOrUpdate from "./user-add-or-update";
|
||||
import qs from "qs";
|
||||
import mixinViewModule from '@/mixins/view-module'
|
||||
import AddOrUpdate from './user-add-or-update'
|
||||
import qs from 'qs'
|
||||
export default {
|
||||
mixins: [mixinViewModule],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: "/sys/user/page",
|
||||
getDataListURL: '/sys/user/page',
|
||||
getDataListIsPage: true,
|
||||
deleteURL: "/sys/user",
|
||||
deleteURL: '/sys/user',
|
||||
deleteIsBatch: true,
|
||||
exportURL: "/sys/user/export",
|
||||
exportURL: '/sys/user/export'
|
||||
},
|
||||
postList: [],
|
||||
dataForm: {
|
||||
username: "",
|
||||
deptId: "",
|
||||
postId: "",
|
||||
gender: "",
|
||||
},
|
||||
};
|
||||
username: '',
|
||||
deptId: '',
|
||||
postId: '',
|
||||
gender: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
AddOrUpdate
|
||||
},
|
||||
created() {
|
||||
this.getPostList();
|
||||
created () {
|
||||
this.getPostList()
|
||||
},
|
||||
methods: {
|
||||
reset() {
|
||||
reset () {
|
||||
this.$http
|
||||
.get(
|
||||
this.mixinViewModuleOptions.getDataListURL +
|
||||
"?" +
|
||||
'?' +
|
||||
qs.stringify({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
username: "",
|
||||
deptId: "",
|
||||
postId: "",
|
||||
gender: "",
|
||||
username: '',
|
||||
deptId: '',
|
||||
postId: '',
|
||||
gender: ''
|
||||
})
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
this.dataForm.username = "";
|
||||
this.dataForm.deptId = "";
|
||||
this.dataForm.postId = "";
|
||||
this.dataForm.gender = "";
|
||||
this.dataForm.username = ''
|
||||
this.dataForm.real_name = ''
|
||||
this.dataForm.deptId = ''
|
||||
this.dataForm.postId = ''
|
||||
this.dataForm.gender = ''
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.list
|
||||
: res.data;
|
||||
: res.data
|
||||
this.total = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.total
|
||||
: 0;
|
||||
: 0
|
||||
if (this.mixinViewModuleOptions.requestCallback) {
|
||||
this.mixinViewModuleOptions.requestCallback(res.data);
|
||||
this.mixinViewModuleOptions.requestCallback(res.data)
|
||||
}
|
||||
this.dataListLoading = false;
|
||||
this.dataListLoading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
getPostList() {
|
||||
getPostList () {
|
||||
this.$http
|
||||
.get("/sys/post/list")
|
||||
.get('/sys/post/list')
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.postList = res.data;
|
||||
this.postList = res.data
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
},
|
||||
};
|
||||
.catch(() => {})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -87,7 +87,8 @@ export default {
|
|||
this.noData = true
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < 3; i++) {
|
||||
const num = _arr.length < 3 ? _arr.length : 3
|
||||
for (let i = 0; i < num; i++) {
|
||||
const k = i + 1
|
||||
this[`no${k}Obj`].name = _arr[i].name
|
||||
this[`no${k}Obj`].count = _arr[i].count
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
"three.meshline": "^1.1.0",
|
||||
"vue": "^3.1.4",
|
||||
"vue-router": "^4.0.10",
|
||||
"vue3-video-play": "^1.3.1-beta.6",
|
||||
"vue3-video-play-emiyagm": "^1.3.1-beta.6.1",
|
||||
"vuex": "^4.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -75,6 +75,7 @@
|
|||
"svg-sprite-loader": "^6.0.9",
|
||||
"swiper": "^8.0.0",
|
||||
"vab-config": "0.0.8",
|
||||
"vue3-video-play-emiyagm": "^1.3.1-beta.6.1",
|
||||
"webpackbar": "^5.0.0-3"
|
||||
},
|
||||
"gitHooks": {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-03-29 16:45:25
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 11:59:30
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-06 10:42:44
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
@ -48,18 +48,18 @@
|
|||
// window.SITE_CONFIG['websocketURL'] = '15.2.21.243:8888/renren-admin';
|
||||
// window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
|
||||
// 西海岸版本
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://10.134.135.9:9797';
|
||||
// window.SITE_CONFIG['previewUrl'] = 'http://10.134.135.9:9796/';
|
||||
// window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9796/document/#/devModelFile/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
|
||||
window.SITE_CONFIG['backUrl'] = 'http://10.134.135.9:9797';
|
||||
window.SITE_CONFIG['previewUrl'] = 'http://10.134.135.9:9796/';
|
||||
window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9796/document/#/devModelFile/';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
|
||||
// 开发
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://15.2.21.238:9797';
|
||||
window.SITE_CONFIG['backUrl'] = 'http://localhost:8001';
|
||||
window.SITE_CONFIG['previewUrl'] = 'http://192.168.124.236:9796/';
|
||||
window.SITE_CONFIG['frontUrl'] = 'http://192.168.124.236:9796/document/#/devModelFile/';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://192.168.124.236:8888/renren-admin';
|
||||
window.SITE_CONFIG['websocketURL'] = '192.168.124.236:8888/renren-admin';
|
||||
window.SITE_CONFIG['POI_URL'] = 'http://192.168.124.236:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://localhost:8001';
|
||||
// window.SITE_CONFIG['previewUrl'] = 'http://192.168.124.236:9796/';
|
||||
// window.SITE_CONFIG['frontUrl'] = 'http://192.168.124.236:9796/document/#/devModelFile/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://192.168.124.236:8888/renren-admin';
|
||||
// window.SITE_CONFIG['websocketURL'] = '192.168.124.236:8888/renren-admin';
|
||||
// window.SITE_CONFIG['POI_URL'] = 'http://192.168.124.236:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
|
||||
// 穿透版本
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797';
|
||||
// window.SITE_CONFIG['previewUrl'] = 'http://124.222.94.39:9796/';
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-01 11:02:21
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-06 10:43:53
|
||||
* @Description: 数据资源参数配置
|
||||
*/
|
||||
const newLocation = 'qingdao'
|
||||
const newLocation = 'xihaian'
|
||||
// const newLocation = 'baotou'
|
||||
// const newLocation = 'xihaian'
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-07-26 14:34:24
|
||||
* @LastEditTime: 2022-08-02 18:19:32
|
||||
* @Description: 地图静态参数配置
|
||||
*/
|
||||
var _mapConfig = {}
|
||||
|
@ -12,7 +12,7 @@ var _mapConfig = {}
|
|||
|
||||
// // 定义底图初始化化参数
|
||||
// 请在此处更改你的配置**********************************************
|
||||
var CONFIGKEY = 'qingdao'
|
||||
var CONFIGKEY = 'qingdao_highgo'
|
||||
// var CONFIGKEY = 'dev';
|
||||
// 请在上面更改你的配置***********************************************
|
||||
var BASECONFIGITEM = {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-05-06 11:12:00
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-07-26 11:27:50
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-03 10:13:59
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -68,4 +68,7 @@
|
|||
position: relative;
|
||||
background-color: #fff;
|
||||
}
|
||||
body {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -97,7 +97,7 @@ export function callTheTrendPort(start, end, params) {
|
|||
export function totalCallsSnum(params) {
|
||||
return request({
|
||||
url:
|
||||
`/metrics/api/v1/query?time=${params}&query=sum(apigateway_http_status)`,
|
||||
`/gateway-monitor/getCallCount`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-03-29 17:48:03
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-07-22 16:03:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-06 15:00:49
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import { createApp } from 'vue'
|
||||
|
@ -16,8 +16,8 @@ import 'ant-design-vue/dist/antd.css'
|
|||
import '@/vab'
|
||||
import * as echarts from 'echarts'
|
||||
import * as moment from 'moment'
|
||||
import vue3videoPlay from 'vue3-video-play' // 引入组件
|
||||
import 'vue3-video-play/dist/style.css' // 引入css
|
||||
import vue3videoPlay from 'vue3-video-play-emiyagm' // 引入组件
|
||||
import 'vue3-video-play-emiyagm/dist/style.css' // 引入css
|
||||
import ElementPlus from 'element-plus'
|
||||
import 'element-plus/dist/index.css'
|
||||
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
|
||||
|
|
|
@ -13,10 +13,16 @@
|
|||
backgroundImage: `url(${item.photo}) `,
|
||||
}"
|
||||
></div>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.demandSubject }}</template>
|
||||
<div class="name">{{ item.demandSubject }}</div>
|
||||
</a-tooltip>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.demandDetails }}</template>
|
||||
<div class="text">
|
||||
{{ item.demandDetails }}
|
||||
</div>
|
||||
</a-tooltip>
|
||||
<div class="reply">回复量:{{ item.commentCount }}</div>
|
||||
<div class="view-details" @click="viewDetails(item.id)">查看详情</div>
|
||||
</div>
|
||||
|
@ -165,6 +171,10 @@
|
|||
font-size: 16px;
|
||||
color: #212121;
|
||||
margin-bottom: 24px;
|
||||
width: 226px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.text {
|
||||
width: 100%;
|
||||
|
@ -175,6 +185,10 @@
|
|||
font-size: 14px;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
.view-details {
|
||||
width: 75px;
|
||||
|
|
|
@ -64,14 +64,14 @@
|
|||
</div>
|
||||
<div class="pagination">
|
||||
<!-- 分页 -->
|
||||
<span>共{{ resourceTotal }}条</span>
|
||||
<!-- <span>共{{ resourceTotal }}条</span>
|
||||
<a-pagination
|
||||
v-model:current="currentPage"
|
||||
v-model:pageSize="currentPageSize"
|
||||
show-quick-jumper
|
||||
:total="resourceTotal"
|
||||
@change="pageChange"
|
||||
/>
|
||||
/> -->
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
|
@ -215,7 +215,7 @@
|
|||
orderField: 'create_date',
|
||||
orderType: 'DESC',
|
||||
pageNum: currentPage.value,
|
||||
pageSize: 3,
|
||||
pageSize: 100,
|
||||
type: '赋能案例',
|
||||
}
|
||||
pageWithAttrs(params).then((res) => {
|
||||
|
@ -367,14 +367,15 @@
|
|||
.content {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-top: 40px;
|
||||
justify-content: space-around;
|
||||
flex-wrap: wrap;
|
||||
padding: 40px 300px 0;
|
||||
overflow: hidden;
|
||||
.contenBox {
|
||||
// width: 430px;
|
||||
padding: 30px;
|
||||
border: 1px solid #e4e6f5;
|
||||
margin-right: 30px;
|
||||
margin-bottom: 20px;
|
||||
background: #ffffff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 5px 5px 20px 0 #f2f3fb;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-19 10:15:33
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-06-19 18:19:58
|
||||
* @LastEditTime: 2022-08-06 16:21:24
|
||||
* @Description: 能力云图-组件服务
|
||||
-->
|
||||
<template>
|
||||
|
@ -409,11 +409,16 @@
|
|||
const TotalCallsAPI = () => {
|
||||
const end = Date.parse(new Date()) / 1000
|
||||
totalCallsSnum(end).then((res) => {
|
||||
debugger
|
||||
snum.value[1].num = res.data.data.result[0].value[1]
|
||||
snum.value[1].num = Number(res.data.data)
|
||||
totalCallsSnum2(end).then((resSon) => {
|
||||
if (snum.value[1].num === 0) {
|
||||
num.value[2].num = '100%'
|
||||
} else {
|
||||
snum.value[2].num =
|
||||
(resSon.data.data.result[0].value[1] / snum.value[1].num) * 100 + '%'
|
||||
parseInt(
|
||||
(resSon.data.data.result[0].value[1] / snum.value[1].num) * 100
|
||||
) + '%'
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
@ -421,8 +426,11 @@
|
|||
timeSwitch(timeSwitchindex.value)
|
||||
NumberOfComponentServices()
|
||||
ranking(dataclick.value)
|
||||
// 西海岸版本不调用API总数
|
||||
if (!xinhaianIsShow) {
|
||||
TotalCallsAPI()
|
||||
}
|
||||
}
|
||||
onMounted(() => {
|
||||
init()
|
||||
callTheTrend(callTheTrendData.value)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-13 10:22:27
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 11:28:00
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-03 10:40:28
|
||||
* @Description: 算法上架
|
||||
-->
|
||||
<template>
|
||||
|
@ -841,25 +841,25 @@
|
|||
<style lang="less" scoped>
|
||||
.box {
|
||||
position: relative;
|
||||
top: 64px;
|
||||
margin: 15px 400px;
|
||||
padding: 10px;
|
||||
top: 0.64rem;
|
||||
margin: 0.15rem 4rem;
|
||||
padding: 0.1rem;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 28px;
|
||||
font-size: 0.28rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 100px;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
.top {
|
||||
margin: 10px 20px 0;
|
||||
padding: 15px 30px;
|
||||
margin: 0.1rem 0.2rem 0;
|
||||
padding: 0.15rem 0.3rem;
|
||||
background: #edf4fc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
div {
|
||||
font-size: 18px;
|
||||
font-size: 0.18rem;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
@ -868,26 +868,26 @@
|
|||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
width: 0.45rem;
|
||||
height: 0.45rem;
|
||||
border-radius: 50%;
|
||||
border: 1px solid rgb(214, 214, 214);
|
||||
margin-right: 10px;
|
||||
border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin-right: 0.1rem;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
width: 0.3rem;
|
||||
height: 0.3rem;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #999;
|
||||
border: 0.01rem solid #999;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-left: 10px;
|
||||
width: 130px;
|
||||
height: 1px;
|
||||
margin-left: 0.1rem;
|
||||
width: 1.3rem;
|
||||
height: 0.01rem;
|
||||
background: #999;
|
||||
}
|
||||
}
|
||||
|
@ -896,10 +896,10 @@
|
|||
.bg-box {
|
||||
background: #9ccefa;
|
||||
color: #fff;
|
||||
border: 1px solid #9ccefa;
|
||||
border: 0.01rem solid #9ccefa;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
border: 0.01rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
|
@ -909,17 +909,18 @@
|
|||
.btn {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
padding: 10px 350px 0;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
button {
|
||||
cursor: pointer;
|
||||
width: 80px;
|
||||
height: 35px;
|
||||
font-size: 0.14rem;
|
||||
width: 0.8rem;
|
||||
height: 0.35rem;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border: 1px solid #9ccefa;
|
||||
border: 0.01rem solid #9ccefa;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
border: 0.01rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
|
@ -940,15 +941,16 @@
|
|||
.btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 350px 0;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
button {
|
||||
cursor: pointer;
|
||||
width: 80px;
|
||||
height: 35px;
|
||||
font-size: 0.14rem;
|
||||
width: 0.8rem;
|
||||
height: 0.35rem;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border-radius: 0.06rem;
|
||||
background: #0087ff;
|
||||
}
|
||||
button:nth-of-type(1) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-13 10:22:27
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 11:40:41
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-04 16:11:50
|
||||
* @Description: 应用上架
|
||||
-->
|
||||
<template>
|
||||
|
@ -67,7 +67,7 @@
|
|||
v-else-if="showView === '部署与应用'"
|
||||
:refData="refData"
|
||||
:dataFrom="dataFrom"
|
||||
:externalField="['共享类型']"
|
||||
:externalField="['共享类型', '访问地址']"
|
||||
:configure="bs"
|
||||
@submit="submit()"
|
||||
@back="back()"
|
||||
|
@ -299,7 +299,6 @@
|
|||
'共享条件',
|
||||
'应用名称',
|
||||
'应用描述',
|
||||
'应用状态',
|
||||
'应用类型',
|
||||
])
|
||||
const notFilled = ref([])
|
||||
|
@ -347,15 +346,15 @@
|
|||
) {
|
||||
notFilled.value.push('应用领域')
|
||||
}
|
||||
if (
|
||||
!dataFrom.value.infoList.filter(
|
||||
(val) => val.attrType === '应用状态'
|
||||
)[0] ||
|
||||
!dataFrom.value.infoList.filter((val) => val.attrType === '应用状态')[0]
|
||||
.attrValue
|
||||
) {
|
||||
notFilled.value.push('应用状态')
|
||||
}
|
||||
// if (
|
||||
// !dataFrom.value.infoList.filter(
|
||||
// (val) => val.attrType === '应用状态'
|
||||
// )[0] ||
|
||||
// !dataFrom.value.infoList.filter((val) => val.attrType === '应用状态')[0]
|
||||
// .attrValue
|
||||
// ) {
|
||||
// notFilled.value.push('应用状态')
|
||||
// }
|
||||
if (
|
||||
!dataFrom.value.infoList.filter(
|
||||
(val) => val.attrType === '应用类型'
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-17 14:11:08
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 11:31:43
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-03 11:47:41
|
||||
* @Description: 上架
|
||||
-->
|
||||
<template>
|
||||
|
@ -86,6 +86,7 @@
|
|||
<template v-if="attr.type == 'input2'">
|
||||
<a-input
|
||||
disabled
|
||||
:maxLength="1000"
|
||||
v-model:value="val[attr.field]"
|
||||
:placeholder="'请填写' + attr.name"
|
||||
/>
|
||||
|
@ -144,6 +145,7 @@
|
|||
/>
|
||||
<template v-if="val.type == 'input2'">
|
||||
<a-input
|
||||
:maxLength="1000"
|
||||
v-model:value="val.note1"
|
||||
:placeholder="'请填写' + val.name"
|
||||
/>
|
||||
|
@ -228,6 +230,7 @@
|
|||
{{ item.name }}
|
||||
</div>
|
||||
<a-input
|
||||
:maxLength="1000"
|
||||
v-if="item.type == 'input' && item.name.indexOf('名称') == -1"
|
||||
v-model:value="item.note1"
|
||||
:placeholder="'请输入' + item.name"
|
||||
|
@ -246,9 +249,11 @@
|
|||
v-else-if="item.type == 'radio'"
|
||||
v-model:value="item.note1"
|
||||
:options="item.options"
|
||||
@change="changeIiem(item.name, item.note1)"
|
||||
/>
|
||||
<a-input
|
||||
v-else-if="item.type == 'AbilityType'"
|
||||
:maxLength="1000"
|
||||
v-model:value="item.note1"
|
||||
:placeholder="'请输入' + item.name"
|
||||
:disabled="true"
|
||||
|
@ -256,6 +261,7 @@
|
|||
<a-input
|
||||
v-else-if="item.type == 'ComponentType'"
|
||||
v-model:value="item.note1"
|
||||
:maxLength="1000"
|
||||
:placeholder="'请输入' + item.name"
|
||||
:disabled="true"
|
||||
/>
|
||||
|
@ -1222,6 +1228,7 @@
|
|||
|
||||
.submit {
|
||||
margin-top: 0.4rem;
|
||||
font-size: 0.14rem;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div class="algorithm-advantage" v-if="flag">
|
||||
<detals-title title="算法优势" type="ADVANTGE"></detals-title>
|
||||
<div class="main">
|
||||
<div class="top">
|
||||
<div class="top" v-if="data.length < 3">
|
||||
<div v-for="val in data" :key="val.id" class="item">
|
||||
<div class="icon" :class="val.icon"></div>
|
||||
<a-tooltip>
|
||||
|
@ -22,17 +22,44 @@
|
|||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top" v-else>
|
||||
<swiper
|
||||
:slidesPerView="3"
|
||||
:spaceBetween="30"
|
||||
:pagination="{ clickable: true }"
|
||||
:modules="modules"
|
||||
class="mySwiper2"
|
||||
@swiper="onSwiper"
|
||||
@slideChange="onSlideChange"
|
||||
>
|
||||
<swiper-slide v-for="val in data" :key="val.id" class="item">
|
||||
<div class="icon" :class="val.icon"></div>
|
||||
<a-tooltip>
|
||||
<template #title>{{ val.title }}</template>
|
||||
<div class="title">{{ val.title }}</div>
|
||||
</a-tooltip>
|
||||
<a-tooltip>
|
||||
<template #title>{{ val.text }}</template>
|
||||
<div class="text">{{ val.text }}</div>
|
||||
</a-tooltip>
|
||||
</swiper-slide>
|
||||
</swiper>
|
||||
</div>
|
||||
<div class="bottom"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { Navigation, Pagination, Scrollbar, A11y } from 'swiper'
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
|
||||
import { Swiper, SwiperSlide } from 'swiper/vue/swiper-vue.js'
|
||||
import 'swiper/swiper-bundle.min.css'
|
||||
const data = ref([])
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const modules = ref([Pagination])
|
||||
const flag = ref(true)
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.infoList.filter(
|
||||
|
@ -43,10 +70,10 @@
|
|||
} else {
|
||||
data.value = []
|
||||
let arr = JSON.parse(obj.attrValue)
|
||||
if (arr.length > 3) {
|
||||
// 截取数组前三位
|
||||
arr = arr.splice(0, 3)
|
||||
}
|
||||
// if (arr.length > 3) {
|
||||
// // 截取数组前三位
|
||||
// arr = arr.splice(0, 3)
|
||||
// }
|
||||
arr.forEach((item, index) => {
|
||||
data.value.push({
|
||||
title: item.name,
|
||||
|
@ -67,10 +94,10 @@
|
|||
} else {
|
||||
data.value = []
|
||||
let arr = JSON.parse(obj.attrValue)
|
||||
if (arr.length > 3) {
|
||||
// 截取数组前三位
|
||||
arr = arr.splice(0, 3)
|
||||
}
|
||||
// if (arr.length > 3) {
|
||||
// // 截取数组前三位
|
||||
// arr = arr.splice(0, 3)
|
||||
// }
|
||||
arr.forEach((item, index) => {
|
||||
data.value.push({
|
||||
title: item.name,
|
||||
|
@ -90,6 +117,7 @@
|
|||
.main {
|
||||
margin-top: 40px;
|
||||
.top {
|
||||
width: 13.14rem;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联应用" type="ASSOCIATED"></detals-title>
|
||||
<detals-title title="来源应用" type="ASSOCIATED"></detals-title>
|
||||
<div
|
||||
class="application-associated-ability-main"
|
||||
v-if="dataFrom[0].dataList.length < 4"
|
||||
|
|
|
@ -64,18 +64,18 @@
|
|||
},
|
||||
])
|
||||
const list = ref([])
|
||||
// 根据能力id查询是否存在关联应用
|
||||
// 根据能力id查询是否存在来源应用
|
||||
if (keyId) {
|
||||
queryPartAppByKeyId2({ keyId: keyId }).then((res) => {
|
||||
console.log('ressssssss', res)
|
||||
if (res.data.data.length > 0) {
|
||||
// 存在关联应用时在导航栏加入关联应用
|
||||
// 存在来源应用时在导航栏加入来源应用
|
||||
navList.value.unshift({
|
||||
name: '关联应用',
|
||||
name: '来源应用',
|
||||
key: 'algorithm-associated-ability',
|
||||
show: true,
|
||||
})
|
||||
// list.value.push('关联应用')
|
||||
// list.value.push('来源应用')
|
||||
console.log('navList', navList)
|
||||
}
|
||||
})
|
||||
|
@ -130,7 +130,7 @@
|
|||
if (list.value.length > 0) {
|
||||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) => (item.name === '关联应用') | (item.name === list.value[0])
|
||||
(item) => (item.name === '来源应用') | (item.name === list.value[0])
|
||||
)[0].key
|
||||
}
|
||||
}
|
||||
|
@ -171,7 +171,7 @@
|
|||
list.value.push('使用方式')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div
|
||||
v-for="(itemSonTitle, indexSonTitle) in dataFrom.attrValue"
|
||||
:key="itemSonTitle.name"
|
||||
@click="tabSwitch(itemSonTitle.name)"
|
||||
@click="tabSwitch(itemSonTitle.name, indexSonTitle)"
|
||||
class="tab-son"
|
||||
:class="
|
||||
tabIndexClass(indexSonTitle, dataFrom.name, dataFrom.attrValue)
|
||||
|
@ -21,7 +21,8 @@
|
|||
<div
|
||||
class="tab-top"
|
||||
:class="
|
||||
tabInitialize() == itemSonTitle.name ? 'tab-top-down' : ''
|
||||
(tabInitialize() == itemSonTitle.name ? 'tab-top-down' : '') &&
|
||||
dataIndex == indexSonTitle
|
||||
"
|
||||
>
|
||||
{{ itemSonTitle.name }}
|
||||
|
@ -29,12 +30,20 @@
|
|||
</a-tooltip>
|
||||
<div
|
||||
class="tab-bottom"
|
||||
v-if="tabInitialize() == itemSonTitle.name"
|
||||
v-if="
|
||||
tabInitialize() == itemSonTitle.name && dataIndex == indexSonTitle
|
||||
"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
<template v-for="itemSonTitle in dataFrom.attrValue" :key="itemSonTitle">
|
||||
<div class="content" v-if="tabindex == itemSonTitle.name">
|
||||
<template
|
||||
v-for="(itemSonTitle, indexSonTitle) in dataFrom.attrValue"
|
||||
:key="itemSonTitle"
|
||||
>
|
||||
<div
|
||||
class="content"
|
||||
v-if="tabindex == itemSonTitle.name && dataIndex == indexSonTitle"
|
||||
>
|
||||
<div class="content-left">
|
||||
<div class="content-left-scene" v-if="!itemSonTitle.img"></div>
|
||||
<a-image
|
||||
|
@ -60,6 +69,7 @@
|
|||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
const flag = ref(true)
|
||||
let dataIndex = ref(0)
|
||||
let dataFrom = ref([])
|
||||
// tab切换方法
|
||||
let tabindex = ref('场景说明一')
|
||||
|
@ -105,8 +115,9 @@
|
|||
return tabindex.value
|
||||
}
|
||||
//tab切换点击事件
|
||||
function tabSwitch(name) {
|
||||
function tabSwitch(name, index) {
|
||||
tabindex.value = name
|
||||
dataIndex.value = index
|
||||
return tabindex.value
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
})
|
||||
const select = ref('application-associated-ability')
|
||||
const list = ref([])
|
||||
// 根据能力id查询是否存在关联应用
|
||||
// 根据能力id查询是否存在关联组件
|
||||
if (keyId) {
|
||||
let params = {
|
||||
keyId: keyId,
|
||||
|
@ -75,7 +75,7 @@
|
|||
queryPartAppByKeyId(params).then((res) => {
|
||||
console.log('ressssssss', res)
|
||||
if (res.data.data.length != 0) {
|
||||
// 存在关联应用时在导航栏加入关联应用
|
||||
// 存在关联组件时在导航栏加入关联组件
|
||||
navList.value.unshift({
|
||||
name: '关联组件',
|
||||
key: 'application-associated-ability',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联应用" type="ASSOCIATED"></detals-title>
|
||||
<detals-title title="来源应用" type="ASSOCIATED"></detals-title>
|
||||
<div
|
||||
class="application-associated-ability-main"
|
||||
v-if="dataFrom[0].dataList.length < 4"
|
||||
|
|
|
@ -62,18 +62,18 @@
|
|||
})
|
||||
const select = ref('business-associated-ability')
|
||||
const list = ref([])
|
||||
// 根据能力id查询是否存在关联应用
|
||||
// 根据能力id查询是否存在来源应用
|
||||
if (keyId) {
|
||||
queryPartAppByKeyId2({ keyId: keyId }).then((res) => {
|
||||
console.log('ressssssss', res)
|
||||
if (res.data.data.length > 0) {
|
||||
// 存在关联应用时在导航栏加入关联应用
|
||||
// 存在来源应用时在导航栏加入来源应用
|
||||
navList.value.unshift({
|
||||
name: '关联应用',
|
||||
name: '来源应用',
|
||||
key: 'business-associated-ability',
|
||||
show: true,
|
||||
})
|
||||
// list.value.push('关联应用')
|
||||
// list.value.push('来源应用')
|
||||
console.log('navList', navList)
|
||||
}
|
||||
})
|
||||
|
@ -85,7 +85,7 @@
|
|||
if (props.dataList.infoList) {
|
||||
list.value = []
|
||||
let arr = [
|
||||
'关联应用',
|
||||
'来源应用',
|
||||
'组件视频介绍',
|
||||
'功能介绍',
|
||||
'应用场景',
|
||||
|
@ -110,12 +110,12 @@
|
|||
list.value.push('组件展示')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (item.name == '来源应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
|
@ -127,7 +127,7 @@
|
|||
if (list.value.length > 0) {
|
||||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) => (item.name === '关联应用') | (item.name === list.value[0])
|
||||
(item) => (item.name === '来源应用') | (item.name === list.value[0])
|
||||
)[0].key
|
||||
}
|
||||
}
|
||||
|
@ -145,7 +145,7 @@
|
|||
if (val) {
|
||||
list.value = []
|
||||
let arr = [
|
||||
'关联应用',
|
||||
'来源应用',
|
||||
'组件视频介绍',
|
||||
'功能介绍',
|
||||
'应用场景',
|
||||
|
@ -171,12 +171,12 @@
|
|||
list.value.push('组件展示')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (item.name == '来源应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
|
@ -189,7 +189,7 @@
|
|||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) =>
|
||||
(item.name === '关联应用') | (item.name === list.value[0])
|
||||
(item.name === '来源应用') | (item.name === list.value[0])
|
||||
)[0].key
|
||||
}
|
||||
}
|
||||
|
|
|
@ -210,7 +210,6 @@
|
|||
let obj = props.dataList.infoList.filter(
|
||||
(item) => item.attrType === '使用手册'
|
||||
)[0]
|
||||
console.log('dataFrom.value.link', obj.attrValue)
|
||||
if (obj) {
|
||||
window.open(
|
||||
window.SITE_CONFIG.previewUrl +
|
||||
|
@ -221,7 +220,7 @@
|
|||
message.config({
|
||||
top: '100px', // 距离顶部的位置
|
||||
})
|
||||
message.error('暂未上传使用手册')
|
||||
message.error('暂未开放新手指引')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联应用" type="ASSOCIATED"></detals-title>
|
||||
<detals-title title="来源应用" type="ASSOCIATED"></detals-title>
|
||||
<div
|
||||
class="application-associated-ability-main"
|
||||
v-if="dataFrom[0].dataList.length < 4"
|
||||
|
|
|
@ -65,18 +65,18 @@
|
|||
})
|
||||
const select = ref('developer-associated-ability')
|
||||
const list = ref([])
|
||||
// 根据能力id查询是否存在关联应用
|
||||
// 根据能力id查询是否存在来源应用
|
||||
if (keyId) {
|
||||
queryPartAppByKeyId2({ keyId: keyId }).then((res) => {
|
||||
console.log('ressssssss', res)
|
||||
if (res.data.data.length > 0) {
|
||||
// 存在关联应用时在导航栏加入关联应用
|
||||
// 存在来源应用时在导航栏加入来源应用
|
||||
navList.value.unshift({
|
||||
name: '关联应用',
|
||||
name: '来源应用',
|
||||
key: 'developer-associated-ability',
|
||||
show: true,
|
||||
})
|
||||
// list.value.push('关联应用')
|
||||
// list.value.push('来源应用')
|
||||
console.log('navList', navList)
|
||||
}
|
||||
})
|
||||
|
@ -101,12 +101,12 @@
|
|||
list.value.push('组件试用')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
// if (item.name == '关联应用') {
|
||||
// if (item.name == '来源应用') {
|
||||
// if (props.associatedComponents[0].dataList.length != 0) {
|
||||
// item.show = true
|
||||
// }
|
||||
|
@ -117,7 +117,7 @@
|
|||
})
|
||||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) => (item.name === '关联应用') | (item.name === list.value[0])
|
||||
(item) => (item.name === '来源应用') | (item.name === list.value[0])
|
||||
// (item) => item.name === list.value[0]
|
||||
)[0].key
|
||||
}
|
||||
|
@ -151,13 +151,13 @@
|
|||
list.value.push('组件试用')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
// list.value.push('组件试用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
// if (item.name == '关联应用') {
|
||||
// if (item.name == '来源应用') {
|
||||
// if (props.associatedComponents[0].dataList.length != 0) {
|
||||
// item.show = true
|
||||
// }
|
||||
|
@ -170,7 +170,7 @@
|
|||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) =>
|
||||
(item.name === '关联应用') | (item.name === list.value[0])
|
||||
(item.name === '来源应用') | (item.name === list.value[0])
|
||||
)[0].key
|
||||
}
|
||||
}
|
||||
|
|
|
@ -173,7 +173,7 @@
|
|||
message.config({
|
||||
top: '100px', // 距离顶部的位置
|
||||
})
|
||||
message.error('暂未上传使用手册')
|
||||
message.error('暂未开放新手指引')
|
||||
}
|
||||
}
|
||||
watch(
|
||||
|
|
|
@ -17,7 +17,12 @@
|
|||
</div>
|
||||
<div class="main-center">
|
||||
<p>{{ dataFrom.numberName }}</p>
|
||||
<p>{{ dataFrom.number }}</p>
|
||||
<a-tooltip>
|
||||
<template #title>{{ dataFrom.number }}</template>
|
||||
<p class="main-center-number">
|
||||
{{ dataFrom.number }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<div @click="copyFunction(dataFrom.number, '复制账号')">复制账号</div>
|
||||
</div>
|
||||
<div class="main-right">
|
||||
|
@ -40,9 +45,9 @@
|
|||
})
|
||||
const dataFrom = ref({
|
||||
linkName: '试用地址',
|
||||
link: 'http://localhost:8080/#/detailsfdddffffffffffffffdfgdfgdfdgdfgdfg',
|
||||
link: '',
|
||||
numberName: '试用账号',
|
||||
number: 'zhangfeihu',
|
||||
number: '',
|
||||
passwordName: '试用密码',
|
||||
password: '**************************',
|
||||
password2: '',
|
||||
|
@ -144,6 +149,13 @@
|
|||
.main-center {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
.main-center-number {
|
||||
display: inline-block;
|
||||
width: 2.4rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.main-right {
|
||||
padding-right: 0.7rem;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联应用" type="ASSOCIATED"></detals-title>
|
||||
<detals-title title="来源应用" type="ASSOCIATED"></detals-title>
|
||||
<div
|
||||
class="application-associated-ability-main"
|
||||
v-if="dataFrom[0].dataList.length < 4"
|
||||
|
|
|
@ -64,18 +64,18 @@
|
|||
associatedComponents: { type: Array, default: null },
|
||||
})
|
||||
const list = ref([])
|
||||
// 根据能力id查询是否存在关联应用
|
||||
// 根据能力id查询是否存在来源应用
|
||||
if (keyId) {
|
||||
queryPartAppByKeyId2({ keyId: keyId }).then((res) => {
|
||||
console.log('ressssssss', res)
|
||||
if (res.data.data.length > 0) {
|
||||
// 存在关联应用时在导航栏加入关联应用
|
||||
// 存在来源应用时在导航栏加入来源应用
|
||||
navList.value.unshift({
|
||||
name: '关联应用',
|
||||
name: '来源应用',
|
||||
key: 'layer-service-associated-ability',
|
||||
show: true,
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -137,7 +137,7 @@
|
|||
list.value.push('使用方式')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
|
@ -146,7 +146,7 @@
|
|||
})
|
||||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) => (item.name === '关联应用') | (item.name === list.value[0])
|
||||
(item) => (item.name === '来源应用') | (item.name === list.value[0])
|
||||
// (item) => item.name === list.value[0]
|
||||
)[0].key
|
||||
}
|
||||
|
@ -215,7 +215,7 @@
|
|||
list.value.push('使用方式')
|
||||
}
|
||||
})
|
||||
list.value.unshift('关联应用')
|
||||
list.value.unshift('来源应用')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
<div class="left">
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.linkValue }}</template>
|
||||
<p>
|
||||
<p @click="ServiceAddressFunction(item.linkValue)">
|
||||
服务地址:
|
||||
{{ item.linkValue }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.csslinkValue }}</template>
|
||||
<p>
|
||||
<p @click="ServiceAddressFunction(item.csslinkValue)">
|
||||
样式服务地址:
|
||||
{{ item.csslinkValue }}
|
||||
</p>
|
||||
|
@ -186,6 +186,10 @@
|
|||
}
|
||||
}
|
||||
)
|
||||
//服务地址和样式服务地址跳转方法
|
||||
function ServiceAddressFunction(link) {
|
||||
window.open(link)
|
||||
}
|
||||
function technical() {
|
||||
// 拼接路径
|
||||
// const type = pinyin(props.dataList.type, {
|
||||
|
@ -280,6 +284,7 @@
|
|||
color: #212956;
|
||||
line-height: 26px;
|
||||
margin-top: 0.3rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
p:first-child {
|
||||
margin-top: 0.2rem;
|
||||
|
|
|
@ -772,7 +772,7 @@
|
|||
type: Cardsname.value,
|
||||
name: '',
|
||||
infoList: [],
|
||||
orderField: 'total', // total 综合 visits 访问量 applyCount 申请量 score 评分 collectCount 收藏量
|
||||
orderField: 'visits', // total 综合 visits 访问量 applyCount 申请量 score 评分 collectCount 收藏量
|
||||
orderType: 'DESC', // ASC 升序 DESC 降序
|
||||
}
|
||||
//西海岸查询参数
|
||||
|
|
|
@ -37,7 +37,9 @@
|
|||
{{ `共选取${selectedRowKeys.length}个算法` }}
|
||||
</div>
|
||||
<div class="td" v-for="(item, k) in detailArray" :key="k">
|
||||
<span v-if="item">{{ item.name || '--' }}</span>
|
||||
<span v-if="item" style="line-height: 14px">
|
||||
{{ item.name || '--' }}
|
||||
</span>
|
||||
<span
|
||||
v-if="item"
|
||||
@click="deleteList(k)"
|
||||
|
|
|
@ -249,7 +249,7 @@
|
|||
relaunch,
|
||||
selectOne,
|
||||
} from '@/api/home'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
import { getCategoryTreePage, endProcess } from '@/api/personalCenter'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { sgcDel, getApplyForm } from '@/api/personalCenter'
|
||||
import { pageWithAttrs } from '@/api/home'
|
||||
|
@ -327,6 +327,30 @@
|
|||
enclosureName: '', //附件
|
||||
})
|
||||
const dataList = ref([])
|
||||
const id = router.currentRoute.value.query.id
|
||||
const taskId = router.currentRoute.value.query.taskId
|
||||
const businessKey = ref(router.currentRoute.value.query.id)
|
||||
if (id) {
|
||||
getApplyForm(id).then((res) => {
|
||||
console.log('修改==============>', res.data.data)
|
||||
// formName.id = res.data.data.id || ''
|
||||
formName.applicationSystem = res.data.data.applicationSystem || ''
|
||||
formName.applicationScene = res.data.data.applicationScene || []
|
||||
formName.applicationBackground =
|
||||
res.data.data.applicationBackground || ''
|
||||
formName.effectWish = res.data.data.effectWish || ''
|
||||
formName.phone = res.data.data.phone || ''
|
||||
// formName.system = res.data.data.system || []
|
||||
formName.enclosure = res.data.data.enclosure || ''
|
||||
formName.enclosureName = res.data.data.enclosureName || ''
|
||||
if (res.data.data.enclosure) {
|
||||
fileList.value.push({
|
||||
name: res.data.data.enclosureName,
|
||||
url: res.data.data.enclosure,
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
getUser().then((res) => {
|
||||
formName.user = res.data.data.realName
|
||||
formName.userId = res.data.data.id
|
||||
|
@ -338,18 +362,6 @@
|
|||
})
|
||||
})
|
||||
// console.log('本地存储====================》', list.value)
|
||||
const businessKey = ref(router.currentRoute.value.query.id)
|
||||
const taskId = ref(router.currentRoute.value.query.taskId)
|
||||
if (businessKey.value) {
|
||||
getApplyForm(businessKey.value).then((res) => {
|
||||
formName.id = res.data.data.id
|
||||
formName.phone = res.data.data.phone
|
||||
formName.scene = res.data.data.scene
|
||||
formName.basis = res.data.data.basis
|
||||
formName.enclosure = res.data.data.enclosure
|
||||
// console.log('回填数据================>', res, formName.phone)
|
||||
})
|
||||
}
|
||||
const applicationSceneOpthion = ref([])
|
||||
getCategoryTreePage({
|
||||
page: 1,
|
||||
|
@ -385,34 +397,6 @@
|
|||
window.history.go(-1)
|
||||
}
|
||||
const processStartHandle = () => {
|
||||
if (businessKey.value) {
|
||||
const obj = ref({})
|
||||
for (const key in formName) {
|
||||
if (key !== 'formNameSystem') {
|
||||
obj.value[key] = formName[key]
|
||||
}
|
||||
}
|
||||
obj.value.system = formName.system[0].resourceName
|
||||
tabilityapplication(obj.value).then((upres) => {
|
||||
if (upres.data.code == 0) {
|
||||
relaunch({ data: obj.value, taskId: taskId.value }).then(
|
||||
(res) => {
|
||||
// console.log('驳回================>', res)
|
||||
if (res.data.code == 0) {
|
||||
message.success('重新发起流程成功!')
|
||||
window.setTimeout(() => {
|
||||
window.history.go(-1)
|
||||
}, 1000)
|
||||
} else {
|
||||
message.error('重新发起流程失败!')
|
||||
}
|
||||
}
|
||||
)
|
||||
} else {
|
||||
message.error('数据更新失败!')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
formRef.value.validate().then(() => {
|
||||
if (!formUrl) {
|
||||
return message.error('请设置保存表单的URL')
|
||||
|
@ -420,6 +404,139 @@
|
|||
if (!formName) {
|
||||
return message.error('请设置表单名称')
|
||||
}
|
||||
if (id) {
|
||||
endProcess({ instanceId: taskId }).then((end) => {
|
||||
if (end.data.code == 0) {
|
||||
let ids = []
|
||||
let falgNum = 0
|
||||
let sxt = true
|
||||
formName.system = []
|
||||
console.log('list==================', list.value)
|
||||
list.value.map((val) => {
|
||||
val.arr.map((item) => {
|
||||
if (item.type !== '基础设施') {
|
||||
falgNum++
|
||||
}
|
||||
})
|
||||
})
|
||||
list.value.map((val) => {
|
||||
val.arr.map((item) => {
|
||||
if (item.type !== '基础设施') {
|
||||
formName.system.push({
|
||||
resourceId: item.resourceId,
|
||||
resourceName: item.resourceName,
|
||||
})
|
||||
falgNum++
|
||||
console.log(item.id)
|
||||
if (item.id) {
|
||||
ids.push(item.id)
|
||||
}
|
||||
} else {
|
||||
let obj = {}
|
||||
Object.assign(obj, formName)
|
||||
console.log('摄像头===============>', obj, item)
|
||||
obj.system = []
|
||||
item.note1 = JSON.parse(item.note1)
|
||||
item.note1.map((sxt) => {
|
||||
obj.system.push({
|
||||
resourceId: sxt.idtCameraChannel + '',
|
||||
resourceName: sxt.channelName,
|
||||
cameraId: sxt.channelId, // 改接口后删除
|
||||
channelCode: sxt.channelCode,
|
||||
channelId: sxt.channelId,
|
||||
channelName: sxt.channelName,
|
||||
checkStatus: sxt.checkStatus + '',
|
||||
gpsX: sxt.gpsX,
|
||||
gpsY: sxt.gpsY,
|
||||
idtCameraChannel: sxt.idtCameraChannel + '',
|
||||
nodeName: sxt.nodeName,
|
||||
parentId: sxt.parentId,
|
||||
status: sxt.status + '',
|
||||
})
|
||||
})
|
||||
submitApply(obj).then((res) => {
|
||||
// applySuccess.value = false
|
||||
console.log('摄像头申请================>', res)
|
||||
if (item.id) {
|
||||
sgcDel({ ids: [item.id] }).then((res1) => {
|
||||
if (res1.data.msg === 'success') {
|
||||
if (falgNum == 0 && sxt) {
|
||||
message.success(
|
||||
'申请提交成功,请到消息中心查看!'
|
||||
)
|
||||
sxt = false
|
||||
}
|
||||
mybus.emit('getSgcNum')
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
},
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
if (
|
||||
res.data.msg === 'success' &&
|
||||
falgNum == 0 &&
|
||||
sxt
|
||||
) {
|
||||
message.success('申请提交成功,请到消息中心查看!')
|
||||
sxt = false
|
||||
}
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
},
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
console.log(
|
||||
'提交数据==========================>',
|
||||
formName,
|
||||
ids
|
||||
)
|
||||
if (formName.system.length !== 0) {
|
||||
if (formName.applicationSystem.length == 0) {
|
||||
formName.applicationSystem = ''
|
||||
}
|
||||
submitApply(formName).then((res) => {
|
||||
// applySuccess.value = false
|
||||
message.success('申请提交成功,请到消息中心查看!')
|
||||
console.log('能力申请================>', res)
|
||||
if (res.data.code == 0) {
|
||||
if (ids && ids.length > 0) {
|
||||
sgcDel({ ids: ids }).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
mybus.emit('getSgcNum')
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
},
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
},
|
||||
})
|
||||
}
|
||||
} else {
|
||||
message.error('申请失败!')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
if (!applyAll) {
|
||||
console.log(list.value[0].arr[0])
|
||||
// 单兵设备为了演示 添加 不做处理
|
||||
|
@ -576,8 +693,8 @@
|
|||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
// 启动流程
|
||||
const startProcess = (processDefinitionKey, businessKey, formData) => {
|
||||
|
|
|
@ -447,13 +447,15 @@
|
|||
height: 0.24rem;
|
||||
width: 0.24rem;
|
||||
background: url('~@/assets/home/shenqing.png') no-repeat;
|
||||
background-size: cover;
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
}
|
||||
.fixedmount div:nth-child(2) p:nth-child(1) {
|
||||
height: 0.24rem;
|
||||
width: 0.24rem;
|
||||
background: url('~@/assets/home/shangjia.png') no-repeat;
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
}
|
||||
.ability-to-recommend-bottom {
|
||||
width: 100%;
|
||||
|
|
|
@ -48,6 +48,9 @@
|
|||
</div>
|
||||
<span v-if="item.title !== '区级'">{{ val.total }}</span>
|
||||
<span v-else>
|
||||
<span style="display: inline-block; margin-right: 4px">
|
||||
{{ val.total }}
|
||||
</span>
|
||||
<down-outlined v-show="!val.show" />
|
||||
<up-outlined v-show="val.show" />
|
||||
</span>
|
||||
|
|
|
@ -67,6 +67,10 @@
|
|||
</a-button>
|
||||
</div>
|
||||
<i class="boundary"></i>
|
||||
<!-- 批量预览 -->
|
||||
<a-button type="primary" @click="batchPreview" class="buttonAdd">
|
||||
批量预览
|
||||
</a-button>
|
||||
<!-- 添加至申购车 -->
|
||||
<a-button type="primary" @click="addShoppingCart" class="buttonAdd">
|
||||
添加至申购车
|
||||
|
@ -143,6 +147,7 @@
|
|||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
<!-- 单个预览弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="visible"
|
||||
title="视频预览"
|
||||
|
@ -156,6 +161,26 @@
|
|||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 批量预览弹窗 -->
|
||||
<a-modal
|
||||
wrapClassName="batch-preview-modal"
|
||||
v-model:visible="batchVisible"
|
||||
title="视频批量预览"
|
||||
:width="1250"
|
||||
destroyOnClose
|
||||
@cancel="videoClean"
|
||||
>
|
||||
<template #footer></template>
|
||||
<div class="batch-video">
|
||||
<div
|
||||
v-for="item in videoList"
|
||||
:key="item.id"
|
||||
style="width: 100%; height: 100%"
|
||||
>
|
||||
<vue3VideoPlay v-bind="item.options" />
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
wrapClassName="wrj"
|
||||
v-model:visible="wrjVisible"
|
||||
|
@ -233,7 +258,7 @@
|
|||
const router = useRouter()
|
||||
const whoShow1 = ref(whoShow)
|
||||
const options = reactive({
|
||||
width: '700px', //播放器宽度
|
||||
width: '900px', //播放器宽度
|
||||
height: '400px', //播放器高度
|
||||
color: '#409eff', //主题色
|
||||
title: '', //视频名称
|
||||
|
@ -259,14 +284,16 @@
|
|||
'fullScreen',
|
||||
], //显示所有按钮,
|
||||
})
|
||||
const videoList = ref([])
|
||||
let visible = ref(false)
|
||||
let batchVisible = ref(false)
|
||||
const jcssType = ref(router.currentRoute.value.query.type)
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
current: 1,
|
||||
pageSize: 10, //每页中显示10条数据
|
||||
showSizeChanger: true,
|
||||
pageSizeOptions: ['5', '10', '15', '20'], //每页中显示的数据
|
||||
pageSizeOptions: ['10', '30', '50', '100', '1000'], //每页中显示的数据
|
||||
})
|
||||
const mapSearchParam = ref({
|
||||
// 地图搜索初始化数据
|
||||
|
@ -552,6 +579,56 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
const batchPreview = async function () {
|
||||
if (selectedList.value.length > 0) {
|
||||
const list = selectedList.value.splice(0, 4)
|
||||
const length = list.length
|
||||
videoList.value = []
|
||||
for (let index = 0; index < length; index++) {
|
||||
const param = {
|
||||
key: list[index].channelId,
|
||||
}
|
||||
let ob = {
|
||||
options: {
|
||||
width: '600px', //播放器宽度
|
||||
height: '350px', //播放器高度
|
||||
color: '#409eff', //主题色
|
||||
title: '', //视频名称
|
||||
src: '', //视频源
|
||||
type: 'm3u8', // 视频源类型
|
||||
muted: false, //静音
|
||||
webFullScreen: false,
|
||||
speedRate: ['0.75', '1.0', '1.25', '1.5', '2.0'], //播放倍速
|
||||
autoPlay: false, //自动播放
|
||||
loop: false, //循环播放
|
||||
mirror: false, //镜像画面
|
||||
ligthOff: false, //关灯模式
|
||||
volume: 0.3, //默认音量大小
|
||||
control: true, //是否显示控制
|
||||
controlBtns: [
|
||||
'audioTrack',
|
||||
'quality',
|
||||
'speedRate',
|
||||
'volume',
|
||||
'setting',
|
||||
'pip',
|
||||
'pageFullScreen',
|
||||
'fullScreen',
|
||||
], //显示所有按钮,
|
||||
},
|
||||
}
|
||||
await getStreamByChannelCode(param).then((res) => {
|
||||
ob.options.src = res.data.data
|
||||
console.log('监测ob的变化', ob)
|
||||
videoList.value.push(ob)
|
||||
})
|
||||
}
|
||||
console.log('验证数据的准确性', videoList)
|
||||
batchVisible.value = true
|
||||
} else {
|
||||
message.error('请选择需要预览的数据')
|
||||
}
|
||||
}
|
||||
// 清空
|
||||
const nullClick = () => {
|
||||
clickList.value[1].content = []
|
||||
|
@ -562,8 +639,19 @@
|
|||
// 重置
|
||||
const clean = () => {
|
||||
mapSearchParam.value.cameraName = ''
|
||||
selectedList.value = []
|
||||
selectedRowKeys.value = []
|
||||
videoList.value = []
|
||||
pagination.value.current = 1
|
||||
mapSearchParam.value.pageNum = 1
|
||||
pagination.value.pageSize = 10
|
||||
getCamera()
|
||||
}
|
||||
const videoClean = () => {
|
||||
selectedList.value = []
|
||||
selectedRowKeys.value = []
|
||||
videoList.value = []
|
||||
}
|
||||
// 一键申请
|
||||
const dept = reactive({})
|
||||
// eslint-disable-next-line no-undef
|
||||
|
@ -709,8 +797,8 @@
|
|||
const onSelectChange = (record, selected, selectedRows, nativeEvent) => {
|
||||
console.log('hahhahah', record, selected, selectedRows, nativeEvent)
|
||||
if (selected) {
|
||||
if (selectedRowKeys.value.length == 10) {
|
||||
message.warning('最多只能添加10个摄像头!')
|
||||
if (selectedRowKeys.value.length == 1000) {
|
||||
message.warning('最多只能添加1000个摄像头!')
|
||||
} else {
|
||||
selectedList.value.push(record)
|
||||
selectedRowKeys.value.push(record.channelCode || record.channelId)
|
||||
|
@ -734,8 +822,8 @@
|
|||
selectedList.value.push(val)
|
||||
selectedRowKeys.value.push(val.channelCode || val.channelId)
|
||||
})
|
||||
if (selectedRowKeys.value.length > 10) {
|
||||
message.warning('最多只能添加10个摄像头!')
|
||||
if (selectedRowKeys.value.length > 1000) {
|
||||
message.warning('最多只能添加1000个摄像头!')
|
||||
changeRows.map((val) => {
|
||||
selectedList.value = selectedList.value.filter(
|
||||
(item) => item.idtCameraChannel !== val.idtCameraChannel
|
||||
|
@ -912,4 +1000,15 @@
|
|||
overflow-y: scroll !important;
|
||||
}
|
||||
}
|
||||
.batch-preview-modal {
|
||||
.batch-video {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
grid-template-rows: 50% 50%;
|
||||
justify-content: center;
|
||||
grid-row-gap: 14px;
|
||||
grid-column-gap: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -14,10 +14,15 @@
|
|||
{{ item.name }}
|
||||
</div>
|
||||
<div class="name-box">
|
||||
<div class="item-v" v-for="(v, j) in item.list" :key="j" :style="{
|
||||
<div
|
||||
class="item-v"
|
||||
v-for="(v, j) in item.list"
|
||||
:key="j"
|
||||
:style="{
|
||||
'background-image': `url(${item.imgBG || ''})`,
|
||||
width: `${item.width || ''}`,
|
||||
}">
|
||||
}"
|
||||
>
|
||||
{{ v }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -32,8 +37,11 @@
|
|||
<div class="text">{{ item.name }}</div>
|
||||
<div class="line"></div>
|
||||
</div>
|
||||
<div class="img-bg" :class="item.className" :style="{ 'background-image': `url(${item.bgImg || ''})` }">
|
||||
</div>
|
||||
<div
|
||||
class="img-bg"
|
||||
:class="item.className"
|
||||
:style="{ 'background-image': `url(${item.bgImg || ''})` }"
|
||||
></div>
|
||||
<div v-if="item.btnText" class="btn" @click="toWhere(item.name)">
|
||||
{{ item.btnText }} >>
|
||||
</div>
|
||||
|
@ -56,7 +64,12 @@
|
|||
</div> -->
|
||||
</div>
|
||||
<!-- 能力上架弹窗 -->
|
||||
<a-modal v-model:visible="visible" @ok="handleOk" class="shangjia-class" @cancel="handlecancel">
|
||||
<a-modal
|
||||
v-model:visible="visible"
|
||||
@ok="handleOk"
|
||||
class="shangjia-class"
|
||||
@cancel="handlecancel"
|
||||
>
|
||||
<div class="ant-modal-title" id="vcDialogTitle1">
|
||||
<div class="showBg"></div>
|
||||
能力上架申请
|
||||
|
@ -64,19 +77,31 @@
|
|||
<div class="ability-to-type">
|
||||
<div class="title">能力类型选择</div>
|
||||
<div class="ability-to-type-content">
|
||||
<div v-for="item in abilityToType" :key="item" @click="abilityToTypeFunction(item)" :class="
|
||||
<div
|
||||
v-for="item in abilityToType"
|
||||
:key="item"
|
||||
@click="abilityToTypeFunction(item)"
|
||||
:class="
|
||||
abilityToTypeFunctionData == item ? 'ability-to-type-down' : ''
|
||||
">
|
||||
"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="component-type" v-if="abilityToTypeFunctionData == '组件服务'">
|
||||
<div
|
||||
class="component-type"
|
||||
v-if="abilityToTypeFunctionData == '组件服务'"
|
||||
>
|
||||
<div class="title">组件类型选择</div>
|
||||
<div class="component-type-content">
|
||||
<a-radio-group v-model:value="componentTypeValue">
|
||||
<a-radio @click="componentTypeValueFunction(item)" v-for="item in componentType" :key="item"
|
||||
:value="item">
|
||||
<a-radio
|
||||
@click="componentTypeValueFunction(item)"
|
||||
v-for="item in componentType"
|
||||
:key="item"
|
||||
:value="item"
|
||||
>
|
||||
{{ item }}
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
|
@ -87,14 +112,14 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
import { ref, onMounted, watch } from 'vue'
|
||||
import TheOverallProcess from './TheOverallProcess.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
const router = useRouter()
|
||||
const seviceList = ref([
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
import { ref, onMounted, watch } from 'vue'
|
||||
import TheOverallProcess from './TheOverallProcess.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
const router = useRouter()
|
||||
const seviceList = ref([
|
||||
{
|
||||
name: '组件服务',
|
||||
img: require('@/assets/menu/service-component.png'),
|
||||
|
@ -130,8 +155,8 @@ const seviceList = ref([
|
|||
imgBG: require('../../../assets/menu/imgBG-long.png'),
|
||||
width: '200px',
|
||||
},
|
||||
])
|
||||
const imgList = ref([
|
||||
])
|
||||
const imgList = ref([
|
||||
{
|
||||
name: '能力上架',
|
||||
bgImg: require('../../../assets/menu/shelves.png'),
|
||||
|
@ -156,37 +181,37 @@ const imgList = ref([
|
|||
btnText: '立即下架',
|
||||
className: 'down-img',
|
||||
},
|
||||
])
|
||||
// 能力上架弹窗
|
||||
function handlecancel() {
|
||||
])
|
||||
// 能力上架弹窗
|
||||
function handlecancel() {
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
}
|
||||
let abilityToTypeFunctionData = ref('组件服务')
|
||||
function abilityToTypeFunction(item) {
|
||||
}
|
||||
let abilityToTypeFunctionData = ref('组件服务')
|
||||
function abilityToTypeFunction(item) {
|
||||
abilityToTypeFunctionData.value = item
|
||||
}
|
||||
let abilityToType = ref(['组件服务', '应用资源'])
|
||||
let componentType = ref([
|
||||
}
|
||||
let abilityToType = ref(['组件服务', '应用资源'])
|
||||
let componentType = ref([
|
||||
'智能算法',
|
||||
'图层服务',
|
||||
'开发组件',
|
||||
// '办公组件',
|
||||
'业务组件',
|
||||
// '其他',
|
||||
])
|
||||
const visible = ref(false)
|
||||
let componentTypeValueOld = ref('')
|
||||
function componentTypeValueFunction(item) {
|
||||
])
|
||||
const visible = ref(false)
|
||||
let componentTypeValueOld = ref('')
|
||||
function componentTypeValueFunction(item) {
|
||||
if (componentTypeValueOld.value != item) {
|
||||
componentTypeValue.value = item
|
||||
componentTypeValueOld.value = item
|
||||
} else {
|
||||
componentTypeValue.value = ''
|
||||
}
|
||||
}
|
||||
let componentTypeValue = ref('')
|
||||
const handleOk = (e) => {
|
||||
}
|
||||
let componentTypeValue = ref('')
|
||||
const handleOk = (e) => {
|
||||
let snum = ref({})
|
||||
if (abilityToTypeFunctionData.value == '组件服务') {
|
||||
if (!componentTypeValue.value || componentTypeValue.value == '') {
|
||||
|
@ -220,18 +245,13 @@ const handleOk = (e) => {
|
|||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
console.log(e)
|
||||
}
|
||||
// 跳转
|
||||
const toWhere = (data) => {
|
||||
}
|
||||
// 跳转
|
||||
const toWhere = (data) => {
|
||||
console.log(data, 'wwwwwww')
|
||||
if (data === '能力上架') {
|
||||
visible.value = true
|
||||
} else if (data === '能力申请') {
|
||||
const newpage = router.resolve({
|
||||
path: '/addApplication', // 跳转的页面路由
|
||||
})
|
||||
window.open(newpage.href, '_blank')
|
||||
} else if (data === '需求发布') {
|
||||
const newpage = router.resolve({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
|
@ -239,6 +259,11 @@ const toWhere = (data) => {
|
|||
},
|
||||
})
|
||||
window.location.href = newpage.href
|
||||
} else if (data === '需求发布') {
|
||||
const newpage = router.resolve({
|
||||
path: '/addApplication', // 跳转的页面路由
|
||||
})
|
||||
window.open(newpage.href, '_blank')
|
||||
} else if (data === '资源下架') {
|
||||
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
|
||||
const newpage = router.resolve({
|
||||
|
@ -246,13 +271,13 @@ const toWhere = (data) => {
|
|||
})
|
||||
window.location.href = newpage.href
|
||||
}
|
||||
}
|
||||
watch(abilityToTypeFunctionData, () => {
|
||||
}
|
||||
watch(abilityToTypeFunctionData, () => {
|
||||
componentTypeValue.value = ''
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style lang="less">
|
||||
.shangjia-class {
|
||||
.shangjia-class {
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
|
@ -359,15 +384,15 @@ watch(abilityToTypeFunctionData, () => {
|
|||
background-position: center;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
.menu-box {
|
||||
.menu-box {
|
||||
width: 1920px;
|
||||
// padding-bottom: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
.title {
|
||||
margin-bottom: 20px;
|
||||
|
||||
.text {
|
||||
|
@ -391,9 +416,9 @@ watch(abilityToTypeFunctionData, () => {
|
|||
.text-white {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
.btn {
|
||||
width: 150px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
|
@ -408,13 +433,13 @@ watch(abilityToTypeFunctionData, () => {
|
|||
&:hover {
|
||||
background: #e5eefc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.img-box {
|
||||
.img-box {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.service-box {
|
||||
.service-box {
|
||||
width: 1920px;
|
||||
height: 613px;
|
||||
background-size: 100% 100%;
|
||||
|
@ -425,9 +450,9 @@ watch(abilityToTypeFunctionData, () => {
|
|||
height: 350px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.callus-box {
|
||||
.callus-box {
|
||||
width: 1920px;
|
||||
height: 214px;
|
||||
background-size: 100% 100%;
|
||||
|
@ -452,43 +477,43 @@ watch(abilityToTypeFunctionData, () => {
|
|||
margin-right: 100px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.img-bg {
|
||||
.img-bg {
|
||||
width: 1920px;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.process-img {
|
||||
.process-img {
|
||||
height: 855px;
|
||||
background-image: url('../../../assets/menu/process.png');
|
||||
}
|
||||
}
|
||||
|
||||
.shelves-img {
|
||||
.shelves-img {
|
||||
height: 497px;
|
||||
width: 1107px;
|
||||
margin: 0 auto;
|
||||
background-image: url('../../../assets/menu/shelves.png');
|
||||
}
|
||||
}
|
||||
|
||||
.apply-img {
|
||||
.apply-img {
|
||||
height: 752px;
|
||||
background-image: url('../../../assets/menu/apply.png');
|
||||
}
|
||||
}
|
||||
|
||||
.demand-img {
|
||||
.demand-img {
|
||||
height: 525px;
|
||||
width: 1300px;
|
||||
margin: 0 auto;
|
||||
background-image: url('../../../assets/menu/demand.png');
|
||||
}
|
||||
}
|
||||
|
||||
.down-img {
|
||||
.down-img {
|
||||
height: 544px;
|
||||
background-image: url('../../../assets/menu/down.png');
|
||||
}
|
||||
}
|
||||
|
||||
.list-box {
|
||||
.list-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
@ -536,5 +561,5 @@ watch(abilityToTypeFunctionData, () => {
|
|||
// width: 200px;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -7,7 +7,7 @@
|
|||
@click="changeName({ name: '技术文档' })">
|
||||
技术文档
|
||||
</div>
|
||||
<abilityDocTree style="max-height:400px;overflow-y:auto" :dataList="treeArray" @treeClick="treeClick"
|
||||
<abilityDocTree style="max-height:320px;overflow-y:auto" :dataList="treeArray" @treeClick="treeClick"
|
||||
:clickData="clickData"></abilityDocTree>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -560,7 +560,7 @@
|
|||
height: 0.24rem;
|
||||
width: 0.24rem;
|
||||
background: url('~@/assets/home/shenqing.png') no-repeat;
|
||||
background-size: cover;
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
|
@ -568,5 +568,7 @@
|
|||
height: 0.24rem;
|
||||
width: 0.24rem;
|
||||
background: url('~@/assets/home/shangjia.png') no-repeat;
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-07-12 09:42:44
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 16:34:42
|
||||
* @LastEditTime: 2022-08-04 10:41:06
|
||||
* @Description:我的申请 能力申请 查看详情
|
||||
-->
|
||||
<template>
|
||||
|
@ -61,7 +61,11 @@
|
|||
>
|
||||
<div class="oddNumbers">子单号:{{ item.instanceId }}</div>
|
||||
<div style="display: flex; align-items: center">
|
||||
<a-button type="primary" @click="modify(item.instanceId)">
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="modify(props.refObj.id, item)"
|
||||
v-if="item.backToFirst"
|
||||
>
|
||||
修改
|
||||
</a-button>
|
||||
<a-popconfirm
|
||||
|
@ -183,14 +187,24 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps } from 'vue'
|
||||
import { ref, defineProps, reactive } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { endProcess } from '@/api/personalCenter.js'
|
||||
import { endProcess, getApplyForm } from '@/api/personalCenter.js'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
|
||||
const props = defineProps({
|
||||
refObj: { type: Object, default: null },
|
||||
})
|
||||
const dept = reactive({})
|
||||
// eslint-disable-next-line no-undef
|
||||
if (infrastructure) {
|
||||
// eslint-disable-next-line no-undef
|
||||
dept.deptId = infrastructure.deptId
|
||||
// eslint-disable-next-line no-undef
|
||||
dept.deptName = infrastructure.deptName
|
||||
}
|
||||
const showThis = () => {
|
||||
window.open(
|
||||
window.SITE_CONFIG.previewUrl +
|
||||
|
@ -210,8 +224,69 @@
|
|||
}
|
||||
})
|
||||
}
|
||||
const modify = (instanceId) => {
|
||||
console.log('修改==============>', instanceId)
|
||||
const modify = (id, item) => {
|
||||
getApplyForm(id).then((res) => {
|
||||
console.log('修改==============>', res.data.data, item)
|
||||
if (item.list.length > 0) {
|
||||
let arr = []
|
||||
item.list.map((val) => {
|
||||
arr.push({
|
||||
delFlag: val.delFlag,
|
||||
description: val.description,
|
||||
resourceId: val.id,
|
||||
resourceName: val.name,
|
||||
time: val.createDate,
|
||||
type: val.type,
|
||||
componentType:
|
||||
(val.infoList.filter((val) => val.attrType == '组件类型')[0] &&
|
||||
val.infoList.filter((val) => val.attrType == '组件类型')[0]
|
||||
.attrValue) ||
|
||||
'',
|
||||
})
|
||||
})
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: arr,
|
||||
deptId: item.name,
|
||||
deptName: item.name,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
query: {
|
||||
id: id,
|
||||
taskId: item.instanceId,
|
||||
},
|
||||
})
|
||||
} else if (item.list2.length > 0) {
|
||||
let arr = [
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
description: '',
|
||||
note1: JSON.stringify(item.list2),
|
||||
resourceId: '1522550195055828996',
|
||||
resourceName: '摄像头列表',
|
||||
type: '基础设施',
|
||||
},
|
||||
],
|
||||
deptId: dept.deptId,
|
||||
deptName: dept.deptName,
|
||||
},
|
||||
]
|
||||
localStorage.setItem('applyList', JSON.stringify(arr))
|
||||
router.push({
|
||||
path: '/apply',
|
||||
query: {
|
||||
id: id,
|
||||
taskId: item.instanceId,
|
||||
},
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
if (props.refObj.resourceApplication) {
|
||||
showArr.value = []
|
||||
|
@ -221,6 +296,7 @@
|
|||
obj.name = key
|
||||
props.refObj.resourceApplication[key].map((item) => {
|
||||
obj.instanceId = item.instanceId
|
||||
obj.backToFirst = item.backToFirst
|
||||
obj.ended = item.ended
|
||||
obj.approveStatus = item.approveStatus
|
||||
if (item.resources.length > 0) {
|
||||
|
|
|
@ -98,7 +98,16 @@
|
|||
label="应用领域"
|
||||
name="detailsField"
|
||||
style="width: 6.93rem"
|
||||
:rules="[{ required: true, message: '请选择应用领域' }]"
|
||||
:rules="[
|
||||
{
|
||||
required:
|
||||
formName.detailsType === '应用资源' ||
|
||||
formName.detailsType === '组件服务'
|
||||
? true
|
||||
: false,
|
||||
message: '请选择应用领域',
|
||||
},
|
||||
]"
|
||||
>
|
||||
<a-select
|
||||
:disabled="
|
||||
|
|
Loading…
Reference in New Issue