|
|
|
@ -0,0 +1,822 @@
|
|
|
|
|
<!-- 小程序表单 -->
|
|
|
|
|
<template>
|
|
|
|
|
<div class="L-assets-info">
|
|
|
|
|
<div class="assets-info-top">
|
|
|
|
|
<el-row style="margin: 10px 0">
|
|
|
|
|
<span class="top-title-box">基本信息</span>
|
|
|
|
|
</el-row>
|
|
|
|
|
<div class="assets-info-box">
|
|
|
|
|
<el-form
|
|
|
|
|
:model="ruleForm"
|
|
|
|
|
:rules="rules"
|
|
|
|
|
ref="ruleFormRef"
|
|
|
|
|
label-width="170px"
|
|
|
|
|
class="demo-ruleForm"
|
|
|
|
|
label-position="right"
|
|
|
|
|
:disabled="disabled"
|
|
|
|
|
>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="所属单位" prop="ssdw">
|
|
|
|
|
<!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入所属单位"></el-input> -->
|
|
|
|
|
<el-autocomplete
|
|
|
|
|
v-model="ruleForm.ssdw"
|
|
|
|
|
:fetch-suggestions="querySearchAsync"
|
|
|
|
|
placeholder="请输入所属单位"
|
|
|
|
|
disabled
|
|
|
|
|
></el-autocomplete>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="小程序名称" prop="xcxmc">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.xcxmc"
|
|
|
|
|
placeholder="请输入小程序名称"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="APPID" prop="appId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.appId"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入APPID"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="认证主体" prop="rzzt">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.rzzt"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入认证主体"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item
|
|
|
|
|
class="daoqitixingren"
|
|
|
|
|
prop="tyshxydm"
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
pattern: /^[a-zA-Z0-9]{18}$/,
|
|
|
|
|
message: '请输入正确格式的18位统一社会信用代码',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '统一社会信用代码不能为空',
|
|
|
|
|
trigger: 'change',
|
|
|
|
|
},
|
|
|
|
|
]"
|
|
|
|
|
label="统一社会信用代码"
|
|
|
|
|
required
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.tyshxydm"
|
|
|
|
|
placeholder="请输入统一信用代码"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="小程序状态" prop="state">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="ruleForm.state"
|
|
|
|
|
placeholder="请选择小程序状态"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.gzh_state"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="账号原始ID" prop="ysId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.ysId"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入账号原始ID"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="小程序包状态" prop="packState">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="ruleForm.packState"
|
|
|
|
|
placeholder="请选择小程序包状态"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.email_state"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="认证状态" prop="rzState">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="ruleForm.rzState"
|
|
|
|
|
placeholder="请选择认证状态"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.gzh_rzzt"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="认证时间" prop="rzsj">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="ruleForm.rzsj"
|
|
|
|
|
type="date"
|
|
|
|
|
format="yyyy-MM-dd"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="选择日期"
|
|
|
|
|
>
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="认证类型" prop="rzlx">
|
|
|
|
|
<el-select v-model="ruleForm.rzlx" placeholder="请选择认证类型">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.gzh_rzlx"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="icp备案状态" prop="icpState">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.icpState"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入icp备案状态"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="域名白名单" prop="ymbmd">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.ymbmd"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入域名白名单"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="服务类目" prop="fwlm">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.fwlm"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入服务类目"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item
|
|
|
|
|
prop="hydzyx"
|
|
|
|
|
label="行业电子邮箱"
|
|
|
|
|
required
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
type: 'email',
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入正确的邮箱地址',
|
|
|
|
|
trigger: ['change', 'change'],
|
|
|
|
|
},
|
|
|
|
|
]"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.hydzyx"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入行业电子邮箱"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="所属行业" prop="sshy">
|
|
|
|
|
<el-select v-model="ruleForm.sshy" placeholder="请选择所属行业">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.app_sshy"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="重点行业" prop="zdhy">
|
|
|
|
|
<el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.app_zdhy"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="行政区划" prop="xzqh">
|
|
|
|
|
<el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.app_xzqh"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="系统责任人" prop="xtzrr">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.xtzrr"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入系统责任人"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item
|
|
|
|
|
prop="xtzrrdh"
|
|
|
|
|
label="系统责任人电话"
|
|
|
|
|
required
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
|
|
message: '请输入正确的手机号码',
|
|
|
|
|
trigger: 'change',
|
|
|
|
|
},
|
|
|
|
|
]"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.xtzrrdh"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入系统责任人电话"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item
|
|
|
|
|
prop="xtzrryx"
|
|
|
|
|
label="系统责任人邮箱"
|
|
|
|
|
required
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
type: 'email',
|
|
|
|
|
message: '请输入正确的邮箱地址',
|
|
|
|
|
trigger: ['change', 'change'],
|
|
|
|
|
},
|
|
|
|
|
]"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.xtzrryx"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入系统责任人邮箱"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="系统责任人地址" prop="xtzrrdz">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.xtzrrdz"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入系统责任人地址"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="引入插件(APPID)" prop="yycjAppid">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.yycjAppid"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入引入插件(APPID)"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="引用插件(开发者)" prop="yycjKfz">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="ruleForm.yycjKfz"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
placeholder="请输入引用插件(开发者)"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="系统简介" prop="xtjj">
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
resize="none"
|
|
|
|
|
placeholder="请输入系统简介"
|
|
|
|
|
:rows="5"
|
|
|
|
|
v-model="ruleForm.xtjj"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row style="margin: 10px 0" v-if="ruleForm.bfyy">
|
|
|
|
|
<span class="top-title-box">关停原因</span>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row style="margin: 20px 0">
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<div>{{ ruleForm.bfyy }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<baofei ref="baofeiRef" :ruleForm="ruleForm" @assetTaskzc="guanting"></baofei>
|
|
|
|
|
<butongguo
|
|
|
|
|
ref="butongguoRef"
|
|
|
|
|
:chuandemingcheng="ruleForm.xcxmc"
|
|
|
|
|
:ruleForm="ruleForm"
|
|
|
|
|
dataname="assetMiniProgramsCpPo"
|
|
|
|
|
></butongguo>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
import { ref, reactive, onMounted, computed, nextTick, defineProps } from "vue";
|
|
|
|
|
import { useRoute, useRouter } from "vue-router";
|
|
|
|
|
import { ElMessage } from "element-plus";
|
|
|
|
|
import { useDict } from "@/utils/dict";
|
|
|
|
|
import {
|
|
|
|
|
assetMiniPrograms,
|
|
|
|
|
miniProgramsInfo,
|
|
|
|
|
unitAllList,
|
|
|
|
|
} from "@/api/auditPagesApi/index";
|
|
|
|
|
import {
|
|
|
|
|
assetTaskminitaskSh,
|
|
|
|
|
assetTaskxcxzc,
|
|
|
|
|
assetTasksh,
|
|
|
|
|
assetTaskxcxjyTj,
|
|
|
|
|
assetTaskhistory,
|
|
|
|
|
} from "@/api/renwuApi/index.js";
|
|
|
|
|
import baofei from "@/views/components/renwuType/baofei.vue";
|
|
|
|
|
import butongguo from "@/views/components/renwuType/butongguo.vue";
|
|
|
|
|
import myMixin from "@/views/components/renwuType/minxfanhui.js";
|
|
|
|
|
import useUserStore from "@/store/modules/user";
|
|
|
|
|
|
|
|
|
|
// 声明props
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
pageType: { type: String, default: '' },
|
|
|
|
|
id: [String, Number],
|
|
|
|
|
audit: { type: Boolean, default: false },
|
|
|
|
|
isModdle: { type: Boolean, default: false },
|
|
|
|
|
name: { type: String },
|
|
|
|
|
queryData: { type: Object },
|
|
|
|
|
taskId: { type: String },
|
|
|
|
|
assetId: { type: String },
|
|
|
|
|
type: { type: String },
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 路由
|
|
|
|
|
const route = useRoute();
|
|
|
|
|
const router = useRouter();
|
|
|
|
|
|
|
|
|
|
// 表单ref
|
|
|
|
|
const ruleFormRef = ref(null);
|
|
|
|
|
const baofeiRef = ref(null);
|
|
|
|
|
const butongguoRef = ref(null);
|
|
|
|
|
|
|
|
|
|
// 数据字典
|
|
|
|
|
const {
|
|
|
|
|
app_xzqh,
|
|
|
|
|
app_sshy,
|
|
|
|
|
app_zdhy,
|
|
|
|
|
gzh_state,
|
|
|
|
|
gzh_rzzt,
|
|
|
|
|
gzh_rzlx,
|
|
|
|
|
email_state,
|
|
|
|
|
} = useDict(
|
|
|
|
|
"app_xzqh",
|
|
|
|
|
"app_sshy",
|
|
|
|
|
"app_zdhy",
|
|
|
|
|
"gzh_state",
|
|
|
|
|
"gzh_rzzt",
|
|
|
|
|
"gzh_rzlx",
|
|
|
|
|
"email_state"
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// 字典对象
|
|
|
|
|
const dict = {
|
|
|
|
|
type: {
|
|
|
|
|
app_xzqh,
|
|
|
|
|
app_sshy,
|
|
|
|
|
app_zdhy,
|
|
|
|
|
gzh_state,
|
|
|
|
|
gzh_rzzt,
|
|
|
|
|
gzh_rzlx,
|
|
|
|
|
email_state,
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 表单数据
|
|
|
|
|
const ruleForm = reactive({});
|
|
|
|
|
|
|
|
|
|
// 状态变量
|
|
|
|
|
const loading = ref(false);
|
|
|
|
|
const disabled = ref(false);
|
|
|
|
|
const pageType = ref(props.pageType);
|
|
|
|
|
const id = ref(props.id);
|
|
|
|
|
const taskId = ref(props.taskId);
|
|
|
|
|
const assetId = ref(props.assetId);
|
|
|
|
|
|
|
|
|
|
// 表单验证规则
|
|
|
|
|
const rules = reactive({
|
|
|
|
|
ssdw: [
|
|
|
|
|
{ required: true, message: "所属单位不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
xcxmc: [
|
|
|
|
|
{ required: true, message: "小程序名称不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
appId: [
|
|
|
|
|
{ required: true, message: "APPID不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
rzzt: [
|
|
|
|
|
{ required: true, message: "认证主体不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
state: [
|
|
|
|
|
{ required: true, message: "小程序状态不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
ysId: [
|
|
|
|
|
{ required: true, message: "账号原始ID不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
packState: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "小程序包状态不能为空",
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
rzState: [
|
|
|
|
|
{ required: true, message: "认证状态不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
rzsj: [
|
|
|
|
|
{ required: true, message: "认证时间不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
rzlx: [
|
|
|
|
|
{ required: true, message: "认证类型不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
icpState: [
|
|
|
|
|
{ required: true, message: "icp备案状态不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
ymbmd: [
|
|
|
|
|
{ required: true, message: "域名白名单不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
fwlm: [
|
|
|
|
|
{ required: true, message: "服务类目不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
sshy: [
|
|
|
|
|
{ required: true, message: "所属行业不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
zdhy: [
|
|
|
|
|
{ required: true, message: "重点行业不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
xzqh: [
|
|
|
|
|
{ required: true, message: "行政区划不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
xtzrr: [
|
|
|
|
|
{ required: true, message: "系统责任人不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
xtzrryx: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "系统责任人邮箱不能为空",
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "email",
|
|
|
|
|
message: "请输入正确的邮箱地址",
|
|
|
|
|
trigger: ["change", "change"],
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
xtzrrdz: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "系统责任人地址不能为空",
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
yycjAppid: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "引入插件(APPID)不能为空",
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
yycjKfz: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "引用插件(开发者)不能为空",
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
xtjj: [
|
|
|
|
|
{ required: true, message: "系统简介不能为空", trigger: "change" },
|
|
|
|
|
],
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 生命周期钩子
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
console.log(route);
|
|
|
|
|
|
|
|
|
|
if (props.taskId && props.taskId !== '') {
|
|
|
|
|
const obj = {
|
|
|
|
|
taskId: props.taskId,
|
|
|
|
|
assetId: props.assetId,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (pageType.value === "look") {
|
|
|
|
|
getInfo(obj);
|
|
|
|
|
disabled.value = true;
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
clearPlaceholders();
|
|
|
|
|
});
|
|
|
|
|
} else if (pageType.value === "change") {
|
|
|
|
|
getInfo(obj);
|
|
|
|
|
disabled.value = false;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (props.isModdle) {
|
|
|
|
|
if (pageType.value === "look") {
|
|
|
|
|
getInfo(id.value);
|
|
|
|
|
disabled.value = true;
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
clearPlaceholders();
|
|
|
|
|
});
|
|
|
|
|
} else if (pageType.value === "change") {
|
|
|
|
|
getInfo(id.value);
|
|
|
|
|
disabled.value = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (props.audit) {
|
|
|
|
|
disabled.value = true;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (pageType.value === "look") {
|
|
|
|
|
getInfo(route.query.id);
|
|
|
|
|
disabled.value = true;
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
clearPlaceholders();
|
|
|
|
|
});
|
|
|
|
|
} else if (pageType.value === "change") {
|
|
|
|
|
getInfo(route.query.id);
|
|
|
|
|
disabled.value = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 清除占位符
|
|
|
|
|
const clearPlaceholders = () => {
|
|
|
|
|
const inputElements = document.querySelectorAll(".el-input__inner");
|
|
|
|
|
const textareaInputElements = document.querySelectorAll(
|
|
|
|
|
".el-textarea__inner"
|
|
|
|
|
);
|
|
|
|
|
inputElements.forEach((input) => {
|
|
|
|
|
input.placeholder = "";
|
|
|
|
|
});
|
|
|
|
|
textareaInputElements.forEach((input) => {
|
|
|
|
|
input.placeholder = "";
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 获取信息
|
|
|
|
|
const getInfo = async (id) => {
|
|
|
|
|
if (route.query.istijiaoshow) {
|
|
|
|
|
let obj = {
|
|
|
|
|
id: route.query.assetId,
|
|
|
|
|
type: route.query.type,
|
|
|
|
|
};
|
|
|
|
|
try {
|
|
|
|
|
const res = await assetTaskhistory(obj);
|
|
|
|
|
Object.assign(ruleForm, res.data.assetMiniProgramsHistory);
|
|
|
|
|
|
|
|
|
|
console.log("获取历史资产信息成功");
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
ruleFormRef.value?.clearValidate();
|
|
|
|
|
}, 100);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("获取历史资产信息失败:", error);
|
|
|
|
|
ElMessage.error("获取历史资产信息失败");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
let obj = {
|
|
|
|
|
taskId: route.query.taskId || (id?.taskId),
|
|
|
|
|
assetId: route.query.assetId || (id?.assetId),
|
|
|
|
|
};
|
|
|
|
|
try {
|
|
|
|
|
loading.value = true;
|
|
|
|
|
const res = await assetTaskminitaskSh(obj);
|
|
|
|
|
Object.assign(ruleForm, res.data);
|
|
|
|
|
|
|
|
|
|
console.log("获取资产信息成功");
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
ruleFormRef.value?.clearValidate();
|
|
|
|
|
}, 100);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("获取资产信息失败:", error);
|
|
|
|
|
ElMessage.error("获取资产信息失败");
|
|
|
|
|
} finally {
|
|
|
|
|
loading.value = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 单位名称模糊查询
|
|
|
|
|
const querySearchAsync = async (queryString, cb) => {
|
|
|
|
|
let results = [];
|
|
|
|
|
try {
|
|
|
|
|
const res = await unitAllList({ nickName: queryString });
|
|
|
|
|
res.data.forEach((item) => {
|
|
|
|
|
results.push({
|
|
|
|
|
value: item.nickName,
|
|
|
|
|
id: item.id,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
cb(results);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("单位查询失败:", error);
|
|
|
|
|
cb([]);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 关停
|
|
|
|
|
const guanting = async (formData) => {
|
|
|
|
|
try {
|
|
|
|
|
await assetTaskxcxzc(formData);
|
|
|
|
|
ElMessage({
|
|
|
|
|
type: "info",
|
|
|
|
|
message: "已关停",
|
|
|
|
|
});
|
|
|
|
|
router.go(-1);
|
|
|
|
|
ruleForm.bfyy = "";
|
|
|
|
|
baofeiRef.value.resetForm();
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("关停失败:", error);
|
|
|
|
|
ElMessage.error("关停失败");
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 状态变更
|
|
|
|
|
const changeState = (e) => {
|
|
|
|
|
if (e != 5) {
|
|
|
|
|
ruleForm.bfyy = "";
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 新增资产确认按钮
|
|
|
|
|
const newAssets = async (type) => {
|
|
|
|
|
// 取消
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
loading.value = true;
|
|
|
|
|
router.go(-1);
|
|
|
|
|
loading.value = false;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ruleForm.taskId = route.query.taskId || props.taskId;
|
|
|
|
|
ruleForm.assetId = route.query.assetId || props.assetId;
|
|
|
|
|
|
|
|
|
|
// 关停
|
|
|
|
|
if (type == 0) {
|
|
|
|
|
baofeiRef.value.open();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 暂存
|
|
|
|
|
if (type == 2) {
|
|
|
|
|
try {
|
|
|
|
|
loading.value = true;
|
|
|
|
|
const res = await assetTaskxcxzc(ruleForm);
|
|
|
|
|
console.log(res, "res");
|
|
|
|
|
ElMessage.success("修改成功");
|
|
|
|
|
router.go(-1);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("暂存失败:", error);
|
|
|
|
|
ElMessage.error("暂存失败");
|
|
|
|
|
} finally {
|
|
|
|
|
loading.value = false;
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 提交
|
|
|
|
|
if (type == 3) {
|
|
|
|
|
try {
|
|
|
|
|
await ruleFormRef.value.validate();
|
|
|
|
|
loading.value = true;
|
|
|
|
|
await assetTaskxcxjyTj(ruleForm);
|
|
|
|
|
ElMessage.success("提交成功");
|
|
|
|
|
router.go(-1);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("提交失败:", error);
|
|
|
|
|
if (error.message) {
|
|
|
|
|
ElMessage.error(error.message);
|
|
|
|
|
} else {
|
|
|
|
|
ElMessage.error("表单验证失败,请检查填写内容");
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
loading.value = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 机构新增资产确认按钮
|
|
|
|
|
const JGnewAssets = async (type) => {
|
|
|
|
|
ruleForm.taskId = route.query.taskId || props.taskId;
|
|
|
|
|
ruleForm.assetId = route.query.assetId || props.assetId;
|
|
|
|
|
|
|
|
|
|
// 不通过
|
|
|
|
|
if (type == 0) {
|
|
|
|
|
try {
|
|
|
|
|
await ruleFormRef.value.validate();
|
|
|
|
|
butongguoRef.value.open();
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("表单验证失败:", error);
|
|
|
|
|
ElMessage.error("表单验证失败,请检查填写内容");
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通过
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
try {
|
|
|
|
|
await ruleFormRef.value.validate();
|
|
|
|
|
const tijioaobj = {
|
|
|
|
|
taskId: route.query.taskId || props.taskId,
|
|
|
|
|
assetId: route.query.assetId || props.assetId,
|
|
|
|
|
xtmc: ruleForm.xcxmc,
|
|
|
|
|
status: 3,
|
|
|
|
|
type: route.query.type || props.type,
|
|
|
|
|
assetMiniProgramsCpPo: ruleForm,
|
|
|
|
|
};
|
|
|
|
|
const res = await assetTasksh(tijioaobj);
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
ElMessage.success("审核成功");
|
|
|
|
|
router.go(-1);
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("审核失败:", error);
|
|
|
|
|
if (error.message) {
|
|
|
|
|
ElMessage.error(error.message);
|
|
|
|
|
} else {
|
|
|
|
|
ElMessage.error("表单验证失败,请检查填写内容");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 暴露方法给父组件使用
|
|
|
|
|
defineExpose({
|
|
|
|
|
newAssets,
|
|
|
|
|
JGnewAssets,
|
|
|
|
|
ruleForm,
|
|
|
|
|
ruleFormRef
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|